Raspberry Pi: Kirim perintah inframerah dengan LIRC (irsend) - indiBit.de

Cara mengontrol skrip Python dan perangkat keras yang terhubung ke Raspberry Pi dengan remote control inframerah, saya sudah menunjukkan di sini. Posting ini adalah tentang mengirim perintah inframerah ke perangkat apa pun. Saya mengorientasikan diri saya sebagian besar pada posting asli, jadi beberapa hal mungkin tampak akrab bagi Anda.

Raspberry Pi dengan penerima IR dan emitor IR

Untuk proyek ini saya menggunakan Raspberry Pi Model B +, penerima IR 38kHz TSOP 31238, emitor IR, yang saya bidik dengan sangat murah di China, serta beberapa jumper wanita-wanita (40 bungkus). Selain itu, setiap remote control yang perintahnya harus ditiru. Bagi saya, ini lagi-lagi sirkuit Apple Remote.Set up

Pembangunan sirkuit dilakukan dengan cepat. Lembar data menunjukkan tugas koneksi penerima inframerah: Dengan kelengkungan ke atas dan tampilan koneksi, kami menghitung dari kiri ke kanan: GND, VS, dan dengan jarak tertentu, Keluar.

Saya sudah menulis tentang penugasan koneksi GPIO di sini. Jadi kami menghubungkan GND ke pin 14, VS ke pin 1 (3.3V) dan Out ke GPIO mana pun. Saya menggunakan GPIO23, jadi pin 16.

Kami hanya membutuhkan penerima IR di sini untuk dapat mengajarkan remote control. Hal ini tidak diperlukan untuk hanya mengirim sinyal IR. Mungkin Anda akan menemukan remote control Anda di sini, maka Anda dapat menyelamatkan diri dari masalah dengan pelatihan.

Buka Smart IR Emitter

Bagaimana emitor inframerah akan terhubung dicetak langsung di papan tulis. Jadi kami menghubungkan GND dengan pin 20 pada RPi, VCC dengan pin 2 (5V) dan SIG lagi dengan GPIO apa pun. Di sini saya menggunakan GPIO24 (pin 18).

Raspberry Pi dengan penerima IR TSOP 31238 dan ir emitorLinux Infrared Remote Control (LIRC)

Untuk menafsirkan sinyal yang ditransmisikan penerima inframerah ke Raspberry Pi dan mengirim perintah kita sendiri melalui emitor inframerah, kita menggunakan LIRC. Paket ini mencakup semua yang kami butuhkan untuk proyek kami. Informasi lebih lanjut tentang LIRC dapat ditemukan di sini. Instalasi &Konfigurasi

Melalui SSH kami terhubung ke Raspberry Pi dan menginstal LIRC dengan perintah berikut:

Namun, agar LIRC berfungsi dengan benar, beberapa pengaturan masih harus dilakukan. Untuk melakukan ini, pertama-tama kami menambahkan beberapa entri ke file /etc/modules. Jika Anda telah menghubungkan perangkat keras lain ke Raspberry Pi, mungkin Anda sudah memiliki entri. Cukup masukkan entri baru di akhir file.

Dalam "Autostart" kita memuat modul LIRC yang diperlukan:# / etc / modul: modul kernel untuk memuat pada waktu boot. # # File ini berisi nama-nama modul kernel yang harus dimuat # pada waktu boot, satu per baris. Baris yang dimulai dengan "#" diabaikan. # Parameter dapat ditentukan setelah nama modul. lirc_dev # GPIO dalam metode penghitungan BCM lirc_rpi gpio_in_pin = 23 gpio_out_pin = 24

Pada baris 9, kami menentukan dalam penghitungan BCM GPIO mana yang ingin kami gunakan dengan LIRC – yaitu nomor GPIO, bukan nomor pin. Kami meninggalkan editor dan menyimpan perubahan.

Kami kemudian menyesuaikan konfigurasi perangkat keras LIRC:

$ sudo nano /etc/lirc/hardware.conf

Di sini kita memasukkan nilai untuk LIRCD_ARGS, DRIVER, PERANGKAT, dan MODUL seperti yang ditunjukkan.# /etc/lirc/hardware.conf # # Argumen yang akan digunakan saat meluncurkan lircd LIRCD_ARGS="--uinput" #Don tidak memulai lircmd bahkan jika tampaknya ada file konfigurasi yang baik #START_LIRCMD=false #Don tidak memulai irexec, bahkan jika file konfigurasi yang baik tampaknya ada. #START_IREXEC=false #Try memuat modul kernel yang sesuai LOAD_MODULES=true # Jalankan "lircd --driver=help" untuk daftar driver yang didukung. DRIVER="default" # biasanya /dev/lirc0 adalah pengaturan yang benar untuk sistem yang menggunakan udev DEVICE="/dev/lirc0" MODULES="lirc_rpi" # File konfigurasi default untuk perangkat keras Anda jika ada LIRCD_CONF="" LIRCMD_CONF=""

Kemudian kita meninggalkan editor dan menyimpan perubahan. Akhirnya, kita perlu menambahkan entri di file /boot/config.txt.

Cukup jauh ke bawah (bagi saya baris 51) kami menyesuaikan pengaturan sebagai berikut:# Uncomment ini untuk mengaktifkan modul lirc-rpi dtoverlay=lirc-rpi,gpio_in_pin=23,gpio_out_pin=24

Kami meninggalkan editor dan menyimpan perubahan. Sekarang saatnya untuk awal yang baru:

$ sudo reboot Tes pertama LIRC

Ketika Raspberry Pi telah menyelesaikan proses boot, kami terhubung kembali melalui SSH. Sekarang kita dapat memulai tes pertama dan memeriksa apakah LIRC pada dasarnya fungsional. Untuk melakukan ini, kami menghentikan daemon LIRC ...

... dan mari kita keluarkan data mentah yang diterima langsung di terminal dengan mengeluarkan perintah berikut:

Kemudian kita tekan beberapa tombol pada remote control. Isi jendela terminal akan terlihat seperti ini:

Raspberry Pi: Data mentah dari LIRC di terminal

Ketika kita sudah cukup, kita menyelesaikan semuanya dengan kombinasi tombol Ctrl + C.Buat pemetaan tombol untuk remote control (lircd.conf)

Selanjutnya, kita membuat file konfigurasi lircd.conf. Ini mengubah data mentah dari sinyal yang diterima menjadi string karakter yang dapat dipahami, yang membuatnya lebih mudah bagi kita untuk melanjutkan. Jika Anda juga menggunakan Apple Remote, Anda dapat melewati langkah ini dan menggunakan konfigurasi saya (di bawah). Jika Anda menggunakan remote control lain, Anda harus menanggung prosedur ini, atau Anda (jika Anda harus tahu apa remote control disebut) cukup periksa di sini untuk melihat apakah Anda dapat dengan mudah mengunduh lircd.conf yang sesuai. Data yang dipelajari kemudian juga merupakan informasi yang kita butuhkan untuk mengirim perintah IR.

Untuk pelatihan kami menggunakan alat yang disebut irrecord, yang disediakan oleh LIRC. Ada satu hal yang perlu diperhatikan di sini: nama kunci telah ditentukan sebelumnya. Ini berarti bahwa kita hanya dapat menggunakan nama kunci yang tidak tercatat juga tahu. Meskipun ini dapat ditangani dengan parameter yang sesuai, Anda juga dapat menyesuaikan nama kunci sesudahnya. Jika Anda tidak menemukan remote control Anda di nama tombol yang diizinkan, Anda dapat terlebih dahulu menggunakan nama yang tersedia, dan kemudian mengubah nama dengan bebas. Jika Anda tertarik, Anda akan menemukan dokumentasi untuk tidak diperbaiki di sini.

Nama kunci yang diizinkan dapat dikeluarkan dengan perintah berikut dalam daftar yang agak panjang:

Nama-nama yang dimulai dengan KEY_ menawarkan pilihan yang sangat beragam, jadi kami menggunakannya. Kami memulai pelatihan dengan perintah:

$ tidak tercatat -d /dev/lirc0 ~/lircd.conf

Sekarang datang beberapa teks yang harus Anda baca. Saya menjelaskan secara singkat langkah-langkah paling penting di sini:Baca teks, tekan Enter.Sekarang Anda harus menekan beberapa tombol pada remote control, sampai dua baris penuh dengan titik-titik. Setelah itu berlangsung dengan sendirinya.Sekarang saatnya untuk mengajarkan kunci: Kita masukkan nama kunci pertama yang ingin kita ajarkan: KEY_UP dan tekan Enter. Kemudian kita tekan tombol pada remote control dengan panah ke atas.Tombol Berikutnya: Kami memasukkan nama tombol kedua: KEY_DOWN, tekan Enter dan tekan tombol pada remote control dengan panah bawah.Kami mengulangi ini untuk setiap tombol pada remote control. Saya memilih nama-nama berikut untuk Apple Remote: KEY_UP, KEY_DOWN, KEY_LEFT, KEY_RIGHT, KEY_OK, KEY_MENU, dan KEY_PLAYPAUSE.

Raspberry Pi: Ajarkan kunci dengan tidak tercatat

Ketika semua tombol telah dipelajari, kita tekan tombol Enter lagi. Sekarang file konfigurasi ditulis.

Itu belum cukup, kita harus memberikan remote control kita baru saja belajar nama. Untuk melakukan ini, kami membuka lircd.conf di editor ...

LihatTutupKomentar