Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Menggunakan IR Remote dengan Raspberry Pi tanpa LIRC

Saya ingin mendapatkan input jarak jauh IR ke Raspberry Pi. Saya berhasil menginstal dan menguji LIRC. Semuanya baik-baik saja, kecuali langkah terakhir. Ketika saya ingin meneruskan nilai Kunci jarak jauh IR ke program Python, itu tidak meneruskannya dengan benar. Ini melewati nilai nol untuk kunci apa saja. Saya tidak tahu apa yang salah. Saya menyerah dan kemudian saya mencoba menulis kode python untuk menangkap remote IR tanpa menggunakan LIRC.

Setelah beberapa membaca tentang bagaimana IR jarak jauh berkomunikasi, terungkap info yang menggunakan komunikasi serial UART. Saya menggunakan IR remote DIY Kit HX1838. Sensor IR menerjemahkan gelombang IR dan melewatkan data secara serial. Yang saya lakukan adalah membaca nilai data yang keluar dari sensor IR secara serial. Ini adalah cara sederhana tetapi sederhana untuk membaca jarak jauh IR untuk aplikasi sederhana yang dapat digunakan di Raspberry Pi.

Menyiapkan Raspberry Pi untuk komunikasi serial UART.

1. Perlu menghapus entri ttyAMA0 di cmdline.txt .

sudo cp /boot/cmdline.txt /boot/cmdline_bp.txt

sudo nano /boot/cmdline.txt

File yang tersisa terlihat seperti,

dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p6 rootfstype=ext4 elevator=deadline rootwait

Kemudian simpan dan tutup editor. Simpan file, Ctrl + O. Tutup editor, Ctrl + X

2. Perbarui inittab file untuk menutupi ttyAMA0

sudo nano /etc/inittab

Beri komentar pada baris tersebut
‘X:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100′

#X:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100

Kemudian simpan dan tutup editor. Simpan file, Ctrl + O. Tutup editor, Ctrl + X

Langkah 1:Memulai

Menginstal pySerial

sudo apt-get install python-serial

Setelah ini terinstal kode Python dapat menggunakannya dengan melakukan impor serial .

Kode Python untuk membaca sinyal IR ternyata sangat sangat sederhana. Sebagai berikut.

import serialser =serial.Serial ("/dev/ttyAMA0")ser.baudrate =2400for i in range (0,15):# biasanya sinyal IR untuk kunci sekitar 12-16 byte data =ser.read( 1) # membaca 1 byte sekaligus mencetak ord(data) # data yang dibaca dalam karakter, ord akan dikonversi ke nilai ASCII

Sekarang kode ini akan membaca sinyal IR 1 byte pada satu waktu dan mencetak nilainya.

Saya mencoba baud rate dengan trial and error dan menetap di 2400 BPS. Meskipun komunikasi serial mendukung hingga 115KBPS, menarik mengapa IR menggunakan kecepatan yang lebih rendah. Dugaan saya adalah akan lebih dapat diandalkan untuk menggunakan kecepatan yang lebih rendah, karena lebih kecil kemungkinan sinyal IR kehilangan 1 atau 2 bit melalui udara.

Mengurai kode kunci jarak jauh IR

Sekarang langkah selanjutnya adalah memecahkan kode nilai kunci. Saya menggunakan remote IR TV Samsung standar untuk upaya ini.

Poin penting pertama adalah mencari tahu berapa banyak byte data untuk setiap kunci. Ini dapat bervariasi 12-16 byte. (yang saya coba). Biasanya panjang byte sama untuk semua kunci. Byte tersebut memiliki header byte, data byte (untuk mengidentifikasi kunci) dan tail byte. Byte header akan memiliki tanda tangan untuk model remote IR. Saya menggunakan lembar excel untuk mengumpulkan nilai data kunci mengikuti halaman Antzy Carmasaic

http://www.instructables.com/id/How-To-Useemulate-…

Menyelam jauh ke dalam nilai kunci yang ditangkap, ini menunjukkan byte 0-5 terdiri dari header, diulang untuk semua kunci. Byte 6 hingga 11 nilai data mewakili nilai Kunci. Mungkin ada beberapa nilai ekor. Byte 12 adalah ekor untuk remote samsung.

Kunci pemetaan

Cara yang tepat untuk remote ini adalah dengan menyimpan byte 6-11 dalam array dan membandingkannya dengan kunci masuk yang baru. Sebagai gantinya, saya melakukan algoritme sederhana sebagai berikut.

keyidentity =byte[6]+2*byte[7]+3*byte[8]+4*byte[9]+5*byte[10]+6*byte[11]

Ini memberikan nilai yang hampir unik untuk setiap kunci. Anda dapat menemukan algoritme yang lebih baik dari ini.

Saya memperluas kode Python untuk menangkap informasi kunci jarak jauh Samsung. Setelah saya menghitung nilai kunci yang dipetakan kemudian saya menyimpannya di program python itu sendiri.

File terlampir. nama – ir_serial3samsung.py. Remote Samsung mengirimkan 2 set data. Jadi saya menangkap 24 byte untuk menyiram buffer pengambilan data serial Raspberry Pi. Tapi saya hanya menggunakan set pertama untuk memecahkan kode.

Ketika Anda menjalankan kode ini dengan benar mengidentifikasi tombol yang ditekan. Anda dapat memecahkan kode kunci lainnya di remote dengan melihat nilai “identitas kunci” yang dicetak oleh program. Kemudian tambahkan program untuk memasukkannya.

Kesimpulan

Ini adalah cara yang sangat sederhana dan efektif untuk menggunakan remote control dengan Raspberry Pi dengan Python. Anda perlu menghitung berapa total byte untuk sebuah kunci, berapa lama byte header, byte data, dan byte ekor. Karena Anda akan mengetahui dari A hingga Z tentang proses ini, Anda dapat dengan mudah memodifikasinya agar sesuai dengan aplikasi Anda. Karena ini adalah kode python kecil, sangat mudah untuk melakukan debug jika Anda mengalami masalah.

Untuk detail lebih lanjut:Menggunakan IR Remote dengan Raspberry Pi tanpa LIRC


Proses manufaktur

  1. Profil suhu Raspberry Pi menggunakan LabVIEW
  2. Baca suhu dengan DS18B20 | Raspberry Pi 2
  3. Mengukur suhu dengan RASPBERRY PI
  4. Sensor Suhu Python dan Raspberry Pi
  5. Memantau Suhu Dengan Raspberry Pi
  6. Pemantauan Cuaca Jarak Jauh Menggunakan Raspberry Pi
  7. SensorTag ke Blynk Menggunakan Node-RED
  8. Mendeteksi Petir dengan Raspberry Pi
  9. Sensor Analog tanpa Input Analog pada Raspberry Pi
  10. Raspberry Pi Universal Remote