جدول المحتويات:

خادم AndyMOTE: 12 خطوة
خادم AndyMOTE: 12 خطوة

فيديو: خادم AndyMOTE: 12 خطوة

فيديو: خادم AndyMOTE: 12 خطوة
فيديو: نصرت البدر - خادم / Nasrat Al Bader - Khadem [Official Music Video] (2023) 2024, يونيو
Anonim
خادم AndyMOTE
خادم AndyMOTE

كنت أرغب في جهاز تحكم عن بعد عالمي للمانكيف الخاص بي ووجدت أنني يجب أن أكون قادرًا على القيام بذلك من خلال تطبيق على هاتفي المحمول (لتوفير واجهة المستخدم) و Raspberry PI لتوفير Infra Red "Blaster". بعد قليل من التحقيق ، اكتشفت مشروع LIRC الذي بدا مثالياً لـ "Blaster". لقد كتبت تطبيق Android الخاص بي (AndyMOTE) وبرنامج "خادم" صغير لتوفير واجهة بين الاثنين.

يوضح لك هذا التوجيه كيفية إنشاء الخادم

يجب أن تعمل التعليمات الواردة هنا مع Raspian Jessie ، فهي لا تعمل مع Raspian Buster ، وفي هذه المرحلة ، أدرك أن Raspian قد تم استبداله الآن بنظام Raspberry Pi OS ، ولدي مجموعة محدثة من الإرشادات على موقع الويب الخاص بي (انظر الرابط أدناه) تعمل مع Raspian Stretch-Lite أو Raspian Buster-Lite

الخطوة 1: قائمة العناصر

  • RaspberryPi Zero WH
  • Energenie ENER314-IR Infra Red Controller
  • بطاقة Micro SD (الفئة 10) (16 جيجابايت)
  • مصدر طاقة Raspberry Pi
  • (اختياري) الحالة (على سبيل المثال: Pibow Zero W)
  • (اختياري) موسع التحكم عن بعد بالأشعة تحت الحمراء * (جهاز استقبال واحد ، 4 أجهزة إرسال)

ستحتاج أيضًا إلى شاشة ولوحة مفاتيح وكابلات قادرة على توصيل هذه العناصر بـ Raspberry Pi الخاص بك

الخطوة 2: قم بإعداد Raspberry Pi الخاص بك

قم بتنزيل Raspian Lite من هنا ثم قم بتثبيته على بطاقة SD الخاصة بك (التعليمات هنا).

بمجرد تثبيت Raspian Lite على بطاقة SD الخاصة بك وقبل نقل البطاقة إلى Raspberry Pi ؛ قم بتركيب البطاقة على جهاز الكمبيوتر الخاص بك. قم بإنشاء ملف / boot / ssh فارغ (وهذا يتيح SHH على الخادم) وقم بإجراء التعديلات التالية على الملف /boot/config.txt

# اضبط HDMI على الإخراج العادي hdmi_drive = 2 # اضبط HDMI على الوضع DMT (قابل للتغير للشاشات) hdmi_group = 2 # اضبط الدقة على 800x600 @ 60hzhdmi_mode = 9dtoverlay = lirc-rpi، gpio_in_pin = 18، gpio_out_pin = 17

(انظر هنا للحصول على إرشادات حول إعدادات الفيديو)

الخطوة 3: تجميع الخادم

تجميع الخادم
تجميع الخادم

أولاً ، أدخل بطاقة SD المعدة مسبقًا في Raspberry Pi. ضع Raspberry Pi في علبته. لدي مشكلة تتمثل في أن وحدة التحكم بالأشعة تحت الحمراء ENER314-IR تداخلت مع علبة Pibow لذلك لم تستخدم قطعتين.

بعد ذلك ، قم بتوصيل Energenie ENER314-IR Infra Red Controller في Raspberry Pi (انظر الصورة).

بعد ذلك ، قم بتوصيل Raspberry Pi بلوحة المفاتيح (باستخدام موصل USB) والشاشة (باستخدام موصل HDMI … قد تكون المحولات ضرورية).

أخيرًا ، قم بتشغيل الطاقة وانتظر حتى يتم تشغيل الوحدة.

الخطوة 4: إعداد الشبكة

أولاً ، افتح ملف تكوين wpa-supplicant باستخدام المحرر المفضل لديك (مثل nano).

sudo nano $ /etc/wpa_supplicant/wpa_supplicant.conf

انتقل إلى نهاية الملف وأضف شبكتك (على سبيل المثال).

الشبكة = {ssid = "YOUR_SSID" psk = "YOUR_KEY" الأولوية = "1" id_str = "YOUR_SSID_NAME"}

استبدل YOUR_SSID و YOUR_KEY و YOUR_SSID_NAME بالشكل المناسب لشبكتك.

احفظ الملف وأعد تشغيل WPA وأعد التشغيل.

إعادة تهيئة $ wpa_cli -i wlan0 $ sudo reboot

الخطوة 5: إعداد عنوان IP الثابت

يوصى بأن يكون لخادمك عنوان IP ثابت. قد تتمكن من تحقيق ذلك عن طريق تكوين خادم DHCP الخاص بك بشكل مناسب أو ، لتعيين واجهة wlan0 على عنوان ثابت على Raspberry Pi ، قم بتحرير الملف /etc/dhcpcd.conf وقم بتضمين الأسطر.

# مثال على تكوين IP الثابت: الواجهة wlan0static ip_address = 192.168.1.116 / 24static router = 192.168.1.1 domain_name_servers = 192.168.1.1 8.8.8.8

قم بتغيير 192.168.1.1 إلى العنوان الفعلي لجهاز التوجيه الخاص بك و 192.168.1.116 إلى العنوان الثابت الفعلي الذي تطلبه لتطبيقك.

* قد ترغب في تشغيل الأداة المساعدة raspi-config وإجراء أي تغييرات في التكوين في هذه المرحلة.

أعد التشغيل عند الانتهاء.

الخطوة السادسة: تثبيت LIRC

قم بتثبيت LIRC باستخدام الأمر.

sudo apt-get install lirc

تحرير ملف / etc / modules ؛ على سبيل المثال:

sudo دولار نانو / الخ / وحدات

وأضف الأسطر:

lirc_devlirc_rpi gpio_in_pin = 18 gpio_out_pin = 17

احفظ الملف وأعد التشغيل.

sudo إعادة التشغيل

الخطوة 7: تكوين LIRC

قم بتحرير ملف /etc/lirc/hardware.conf ، على سبيل المثال:

sudo nano /etc/lirc/hardware.conf $

وجعلها تبدو كما يلي:

################################################## ####### /etc/lirc/hardware.conf## الوسيطات التي سيتم استخدامها عند تشغيل lircdLIRCD_ARGS = "- uinput --listen" ## لا تبدأ lircmd حتى إذا كان هناك تهيئة جيدة file # START_LIRCMD = false ## لا تبدأ irexec ، حتى لو بدا وجود ملف تهيئة جيد. # START_IREXEC = false ## حاول تحميل وحدات kernel المناسبةLOAD_MODULES = true ## تشغيل lircd --driver = help " قائمة برامج التشغيل المدعومة. LIRCMD_CONF = "" قم بتحرير ملف /etc/lirc/lirc_options.conf وتعديل الأسطر على النحو التالي: driver = defaultdevice = / dev / lirc0

احفظ الملف وأعد تشغيل lircd.

sudo systemctl إعادة تشغيل lircd

الخطوة 8: اختبار جهاز الاستقبال

أدخل التسلسل التالي من الأوامر لإيقاف LIRC Daemon واختبار جهاز الاستقبال.

sudo systemctl stop lircd $ sudo mode2

سيقوم برنامج mode2 بإخراج نسبة علامة المسافة لإشارة IR إلى وحدة التحكم. وجه جهاز التحكم عن بعد إلى جهاز استقبال الأشعة تحت الحمراء واضغط على بعض الأزرار. يجب أن نرى شيئا من هذا القبيل:

مساحة 16300 نبضة 95 فضاء 28794 نبضة 80 فضاء 19395 نبض 83 مسافة 402351

عند الانتهاء ، اضغط على ctl-c وأعد تشغيل LIRC Daemon باستخدام الأمر التالي.

sudo systemctl ابدأ lircd

الخطوة 9: إضافة أجهزة التحكم عن بعد - الطريقة الأولى

يستخدم LIRC ملفات التكوين التي تحتوي على بيانات تتعلق بكل جهاز تحكم عن بعد يمكن محاكاته بواسطة LIRC. يجب إنشاء ملفات التكوين هذه أو توفيرها بطريقة أخرى حتى يعمل نظام LIRC الفرعي على النحو المطلوب.

الأهمية

يجب عليك توفير ملف تكوين فردي لكل جهاز تحكم عن بُعد ليتم محاكاته. يجب تخزين ملفات التكوين في الدليل /etc/lirc/lircd.conf.d. يعد اختيار اسم المفتاح أمرًا مهمًا للحصول على أفضل تجربة في AndyMOTE ، عند اختيار أسماء لمفاتيحك ، يرجى اتباع الإرشادات هنا. يمكن أيضًا تنزيل ملفات التكوين من هنا ، ولكن احذر من أنه إذا كنت تستخدمها ، فيجب أن تحتوي على تكوين واحد عن بُعد فقط. (ملفات التكوين هي ملفات نصية بسيطة ويمكن تحريرها بسهولة إذا لزم الأمر.

تتطلب الطريقة الأولى جهاز التحكم عن بعد الأصلي باستخدام الأوامر التالية:

sudo systemctl stop lircd $ sudo irrecord -n ~ / FILENAME.conf

$ sudo irrecord -f -n ~ / FILENAME.conf

استبدل FILENAME ببعض الاسم الوصفي لوحدة التحكم عن بعد التي تقوم بتكوينها. يقوم الأمر الأخير بإنشاء ملف "خام" وهذا مطلوب أحيانًا اعتمادًا على خصائص جهاز التحكم عن بُعد الذي تستخدمه. يسمح لك مفتاح التبديل -n باستخدام أي اسم مفتاح تريده (بدلاً من أن يقتصر على قائمة LIRC Namespace).

تذكر إعادة تشغيل lircd وإعادة التشغيل عند الانتهاء.

sudo systemctl ابدأ lircd $ sudo reboot

الخطوة 10: إضافة أجهزة التحكم عن بعد - الطريقة الثانية

لا تتطلب الطريقة الثانية أن يحتفظ برنامج remoteGlobal-cache الأصلي بقاعدة بيانات مستندة إلى مجموعة النظراء تضم أكثر من 200000 من رموز IR. يمكن لأي شخص التسجيل وتنزيل ما يصل إلى 5 مجموعات أكواد في اليوم. يمكن تحويل مجموعات الأكواد هذه إلى ملفات LIRC conf ، بطريقة سهلة الاستخدام في AndyMOTE ، باستخدام تطبيق gcConvert الموضح هنا.

الخطوة 11: قم بتثبيت برنامج خادم AndyMOTE

قم بتثبيت Libraries liblirc و libboost كما هو موضح أدناه:

$ sudo apt-get update $ sudo apt-get install liblirc-dev libboost-all-dev

بعد ذلك ، قم بتثبيت git ، وانتقل إلى الدليل الرئيسي واستنساخ مستودع andymoteserver

sudo apt install git $ cd ~ $ git clone https://github.com/oranger توجيه/andymoteserver

ثم تجميع المصدر

$ cd andymoteserver $ make

انقل الملف الناتج إلى موقع مناسب ؛ على سبيل المثال:

$ sudo mkdir -p / opt / andymoteserver $ sudo mv dist / Debug / GNU-Linux / andymote / opt / andymoteserver /

رتب

$ cd ~ $ rm -Rf andymoteserver

أخيرًا ، لتشغيل AndyMOTE Server كخدمة ، أنشئ الملف /lib/systemd/system/andymote.service بالمحتوى كما هو موضح أدناه:

[الوحدة] الوصف = تشغيل خادم AndyMOTE كخدمة [الخدمة] النوع = simpleRemainAfterExit = falseRestart = alwaysRestartSec = 30ExecStop = / bin / trueExecStart = / opt / andymoteserver / andymote [تثبيت] WantedBy = multi-user.target

تمكين وبدء الخدمة

sudo systemctl قم بتمكين بدء تشغيل andymote $ sudo systemctl

الخطوة 12: وأخيرًا …

وأخيرًا …
وأخيرًا …

تظهر الصورة أعلاه الخادم الخاص بي في موضعه النهائي (يسار). الجهاز الموجود على يمين الصورة هو "موسع التحكم عن بعد بالأشعة تحت الحمراء" ، يستقبل إشارات الأشعة تحت الحمراء من الخادم ويعيد إرسالها عبر 4 أجهزة إرسال بالأشعة تحت الحمراء (غير معروضة) ؛ هذه مثبتة على أجهزة الوسائط الخاصة بي ، (التلفزيون ، مكبر الصوت ، إلخ).

اتمنى ان تستمتع!

موصى به: