جدول المحتويات:
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-13 06:56
في الجزء الأول ، أوضحت كيفية تجميع RPi + VS1838b وتكوين وحدة Raspbian LIRC لتلقي أوامر IR من جهاز تحكم عن بعد IR. تمت مناقشة جميع مشكلات الأجهزة وإعداد LIRC في الجزء 1. سيوضح الجزء 2 كيفية واجهة الجهاز + وحدة LIRC التي قمنا بإعدادها في الجزء 1 باستخدام Python.
بعيد [IR Receiver + RPI] LIRC Pythondisplay (أو إرسال).
اللوازم
لا أحد
الخطوة 1: إخفاء Devinput.lircd.conf
سيتم وضع ملف (ملفات) التكوين عن بُعد في الدليل /etc/lirc/lircd.conf.d. سيجد LIRC أي ملف في هذا الدليل طالما أنه يحتوي على امتداد.conf (على سبيل المثال: JVC.lircd.conf). لن نستخدم ملف devinput.lircd.conf لذلك سنخفيه بتغيير الامتداد على النحو التالي بإعادة تسمية devinput.lircd.conf إلى devinput.lircd.conf.copy
$ sudo mv /etc/lirc/lircd.conf.d/devinput.lircd.conf /etc/lirc/lircd.conf.d/devinput.lircd.conf.copy
الخطوة 2: قم بتنزيل ملف.conf لجهاز التحكم عن بعد
أسهل طريقة للحصول على ملف.conf بعيد إلى حد بعيد هي تنزيله من المكتبة الضخمة على lirc.sourceforge.net حتى إذا لم يكن طرازك البعيد مدرجًا ، فمن المحتمل جدًا أن يعمل نموذج آخر من نفس الشركة المصنعة بشكل جيد. ابحث فقط عن الشركة المصنعة لجهاز التحكم عن بُعد الخاص بك وانقر فوق طراز قريب. إذا لم تكن متأكدًا من النموذج القريب ، فيمكنك إلقاء نظرة على محتويات كل نموذج والعثور على نموذج قريب منك.
تتمثل الطريقة الصعبة للحصول على ملف.conf في إنشاء ملف خاص بك باستخدام الأداة المضمنة غير المسجلة ولكني كنت غير ناجح للغاية في محاولة إنشاء ملف باستخدام هذه الأداة على الرغم من بذل الكثير من الجهد. هناك الكثير من الأشخاص الآخرين الذين يواجهون صعوبات مماثلة في استخدام عدم التسجيل وأنا أوصي بشدة بالطريقة السهلة لتنزيل ملف.conf من lirc.sourceforge.net
سيتم وضع ملف (ملفات) التكوين عن بُعد في الدليل /etc/lirc/lircd.conf.d. سيجد LIRC أي ملف في هذا الدليل طالما أنه يحتوي على امتداد.conf (على سبيل المثال: JVC.lircd.conf).
الخطوة 3: كود بايثون
هنا بعض التعليمات البرمجية للاختبار.
من lirc استيراد RawConnection
def ProcessIRRemote ():
#get IR command #keypress format = (hexcode، rep_num، command_key، remote_id) جرب: keypress = conn.readline (.0001) باستثناء: keypress = "" if (keypress! = "" and keypress! = None): data = keypress.split () التسلسل = البيانات [1] الأمر = البيانات [2] يتكرر الأمر #ignore إذا كان (التسلسل! = "00"): return print (command)
# تعريف عالمي
conn = RawConnection ()
طباعة ("جارٍ البدء …")
احيانا صحيح:
معالجة IRRemote ()