Root NationالبرمجياتتعليماتRaspberry Pi في النظام البيئي المنزلي: الميزات والأمثلة (الجزء 1)

Raspberry Pi في النظام البيئي المنزلي: الميزات والأمثلة (الجزء 1)

-

منذ بعض الوقت أنا تم شراؤها كمبيوتر صغير ذو لوحة واحدة Raspberry Pi 4 (يُعرف أيضًا باسم "توت العُليق»بين الهواة) ، لا يفهمون بشكل خاص كيف ولأي غرض يمكن استخدامه في المنزل. بدلاً من ذلك ، كانت لعبة تكنولوجية أخرى ، وبأموال مقبولة تمامًا ، لذلك يمكنك تحمل التجربة. بالنظر إلى المستقبل ، يمكنني القول إن لدي حاليًا خدمات مثل أداة حظر الإعلانات على مستوى الشبكة تعمل على RPi4 الخاص بي صفحة AdGuard الرئيسية، نظام تخزين احتياطي Apple آلة الزمنهومبريدج لإضافة أجهزة غير معتمدة إلى النظام البيئي Apple HomeKit، برنامج لتنزيل السيول انتقال، وسائل الاعلام الخادم PLEX وجهاز تحكم لعبة الرجعية RetroPie. أخطط لتجربة مدير كلمات المرور المستضاف ذاتيًا Bitwarden، نظير مفتوح المصدر لكلمة 1Password الشهيرة. ليس بالقليل لمثل هذا الطفل الصغير بحجم علبة سجائر ، أليس كذلك؟

Raspberry Pi 4 مع لوحة مفاتيح وماوس

في هذه الدورة مع اثنين مقالات ، سأحاول أن أخبر بأكبر قدر ممكن من التفاصيل كيف قمت بتثبيت كل هذا وتهيئته.

بيرشا مقالة - سلعة سيكون أكثر فائدة لمزارعي الخشخاش ، لأنه يمس خصوصية النظام البيئي Apple النقاط ، على الرغم من أن القسم الذي يتعامل مع AdGuard سيكون موضع اهتمام مستخدمي أي سطح مكتب أو نظام تشغيل محمول.

في المقال الثاني ضع في اعتبارك الخدمات الشاملة التي يمكن أن تكون مفيدة للجميع دون استثناء. وسوف نتقدم أنا وأنت مثل الأشخاص العاديين - من البسيط إلى المعقد.

تحضير Raspberry Pi

وتجدر الإشارة إلى أن المراجعات المبكرة لـ Raspberry Pi كانت ضعيفة جدًا من حيث الأجهزة ، لذلك اعتبر كل مطور برامج هذا الكمبيوتر كجهاز يقوم بمهمة واحدة. لهذا السبب ، سيتم تقديم أي خدمة يمكن تشغيلها على RPi افتراضيًا كصورة جاهزة لنظام التشغيل. لقد قمت بتنزيله ، وسجلته على بطاقة SD ، وأدخلته في RPi وقمت بتشغيل الكمبيوتر الجاهز مع الخدمة المثبتة. لكن مهمتنا هي إطلاق العديد من الخدمات في نفس الوقت ، لأن المراجعة الحالية تسمح بذلك. لذلك ، سنقوم بتثبيتها كتطبيقات.

لنفترض أنك قمت بالفعل بتوصيل Raspberry Pi بنظام Raspbian "نظيف" بشبكة محلية. إذا كنت مبتدئًا ولا تعرف من أين تبدأ ، فابدأ به  تعليمات رسمية (اتبع الرابط - معالج رائع خطوة بخطوة مع الكثير من الرسوم التوضيحية التفاعلية) ، ثم انتقل إلى المرحلة التالية.

الخطوة 1

بادئ ذي بدء ، تحتاج إلى تمكين الوصول عن طريق SSH إلى Raspberry Pi الخاص بك. للقيام بذلك ، عليك القيام ببعض الخطوات البسيطة:

  • افتح نافذة Raspberry Pi Configuration في قائمة التفضيلاتces" نظام التشغيل
  • انقر على "الواجهةces»
  • حدد تمكين بجوار SSH
  • انقر فوق الزر "موافق" لتصبح التغييرات سارية المفعول

إذا كان لديك Raspbian Lite مثبتًا بدون واجهة رسومية ، في Terminal على Raspberry Pi نفسه ، قم بتنفيذ الأوامر التالية:

sudo systemctl تمكين ssh sudo systemctl بدء ssh

تمكين الوصول.

- الإعلانات -

لديّ جهاز كمبيوتر يعمل بنظام macOS ، لذا يمكنني الانتقال مباشرةً إلى الخطوات التالية ، تمامًا مثل مالكي أجهزة كمبيوتر Linux. تلقى مستخدمو Windows 10 أيضًا عميل OpenSSH مضمنًا كجزء من نظام التشغيل الخاص بهم منذ بعض الوقت ، ولكن قد تكون هناك حاجة إلى بعض التلاعبات لتنشيطه.

افتح موجه أوامر Windows أو PowerShell shell (أيهما تفضل) واكتب الأمر التالي:

الحصول على WindowsCapability -Online | ؟ الاسم يشبه "OpenSSH *"

إذا تم تثبيت عميل SSH ، فستكون الاستجابة للأمر مثل هذا:

تم تثبيت Windows 10 OpenSSH

إذا أخبرنا OpenSSH.Client في حقل الحالة أنه غير موجود ، فإن أسرع طريقة لتنشيطه هي إدخال الأمر التالي:

Add-WindowsCapability -Online -Name OpenSSH.Client *

هذا يكمل المرحلة الأولى من الإعداد ، بما في ذلك لمستخدمي Windows. نظرًا لطبيعة Raspberry Pi وحقيقة أن نظام Raspbian OS هو في الواقع إصدار آخر من Linux ، فسيتعين علينا القيام ببعض العمل في سطر الأوامر. قد يبدو الأمر غير عادي بالنسبة للبعض ، لكن صدقوني ، لا يوجد شيء صعب أو لا يمكن إصلاحه في هذا ، لذا كن أكثر شجاعة. كل شيء سوف ينجح.

الخطوة 2

أنت الآن بحاجة إلى التأكد من أن Raspberry Pi الخاص بك يحصل دائمًا على نفس عنوان IP الداخلي على الشبكة المحلية. أسهل طريقة للقيام بذلك هي في إعدادات جهاز التوجيه.

أستخدم نظام MESH ثلاثي المكونات  ASUS زين واي فاي ميني مع واجهة الويب القياسية لأي جهاز توجيه لهذه الشركة. لربط عناوين MAC و IP ، تحتاج إلى تحديد جهاز من قائمة الأجهزة المتصلة ، وفي النافذة المنبثقة ، ما عليك سوى تحديد عنوان IP المطلوب. في حالتي اخترت 192.168.50.10 فقط لسهولة التذكر.

ASUS اعدادات الواي فاي

في أجهزة توجيه الشركات المصنعة الأخرى ، قد يتم استدعاء عنصر القائمة بشكل مختلف ، لكن جوهره سيظل كما هو - إصدار عناوين IP ثابتة محلية للأجهزة المتصلة.

الخطوة 3

نقوم بتشغيل Terminal (سطر الأوامر ، PowerShell ، إلخ) على جهاز الكمبيوتر الخاص بك من مجموعة قياسية من macOS أو Linux أو Windows.

نحن نقتل الفريق

ssh بي @

(أين بدلاً من <ip address of your server> نقوم بإدخال عنوان IP الخاص بـ "raspberries" من الخطوة السابقة) ونرى الصورة التالية تقريبًا:

كلمة مرور Raspberry Pi ssh

هنا تحتاج إلى قتل كلمة مرور Raspberry Pi الخاصة بك ، والتي حددتها أثناء الإعداد الأولي.

- الإعلانات -

الأهمية! لن يتم عرض كلمة المرور على الشاشة عند إدخالها. ولن يتم عرض "النجوم" أيضًا. تحتاج إلى كتابة كلمة المرور حرفيًا "بشكل أعمى" واضغط على Enter.

إذا تم إدخال كلمة المرور بشكل صحيح ، فستكون النتيجة شيئًا كالتالي:

إدخال Raspberry Pi sshمرحبًا ، أنت داخل Raspberry Pi الخاص بك. أهلا وسهلا! يمكنك المتابعة إلى إعدادات الخدمات الفردية. وسنبدأ بالأبسط.

شعار AdGuard الرئيسية

تثبيت وتكوين AdGuard Home على Raspberry Pi

صفحة AdGuard الرئيسيةوفقًا لشهادة المطور - "أداة شبكة قوية ضد الإعلان والتتبع. مع تزايد دور إنترنت الأشياء ، أصبحت إدارة شبكتك بالكامل أكثر أهمية. بمجرد الإعداد ، سيغطي AdGuard Home جميع أجهزتك المنزلية دون الحاجة إلى برامج من جانب العميل. "

ببساطة ، إنه عامل تصفية إعلان لا يعمل كتطبيقات منفصلة أو مكونات إضافية للمتصفح على كل جهاز من أجهزتك ، ولكنه حل عالمي يغطي شبكة LAN المنزلية بالكامل باستخدام الفلاتر.

دعنا نعود إلى نافذة Terminal (دعنا نتفق على أن Windows PowerShell والأصداف الأخرى لإدخال الأوامر ، في النص الذي سأتصل به ببساطة Terminal ، حسنًا؟)، نقوم بتنفيذ الأوامر التالية التي ستنزل وتفريغ أرشيف AdGuard Home:

cd $ الصفحة الرئيسية wget https://static.adguard.com/adguardhome/release/AdGuardHome_linux_armv6.tar.gz tar xvf AdGuardHome_linux_armv6.tar.gz

كل ما تبقى هو تثبيت الخدمة وتشغيلها:

cd AdGuardHome sudo ./AdGuardHome -s install

ستبدو النتيجة كما يلي:

تم تثبيت AdGuard Home

تم تثبيت AdGuard Home بالفعل! كان الأمر بسيطًا ، أليس كذلك؟

أنت الآن بحاجة إلى زيارة واجهة الويب للخدمة المثبتة حديثًا. ابدأ تشغيل المتصفح (Safari أو Chrome أو Firefox أو أيًا كان ما لديك - لا يهم) وفي شريط العناوين قتل https://<ip address of your server>:3000. في حالتي هو ، كما نتذكر ، https: //192.168.50.10: 3000.

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

شاشة الترحيب الرئيسية Raspberry Pi AdGuardفي الخطوة الثالثة ، سيُطلب منك إنشاء مستخدم AdGuard Home والتوصل إلى كلمة مرور. في الرابع ، سيتم توضيح أن عنوان Raspberry Pi IP (نفس 192.168.50.10 في حالتي) يجب تسجيله كـ DNS في القسم المناسب من إعدادات جهاز التوجيه. افعل هذا:

ASUS إعدادات DNS الخاصة بالموجه

في أجهزة توجيه الشركات المصنعة الأخرى ، ستكون نقطة الإعدادات المطلوبة موجودة تقريبًا على نفس المسار.

بعد ذلك ، ننتقل إلى إعدادات AdGuard Home نفسها ، والتي لا تزال نظيفة ببراءة.

تثبيت Raspberry Pi AdGuard Home clean

إذا كان لديك تلفزيون ذكي Samsungأو LG أو ما شابه ذلك ، انتقل إلى القائمة "Filters - Add blacklist" (اختر من القائمة). قم بتنشيط قائمة الحظر المقابلة.

مرشح Raspberry Pi AdGuard Home TV

أنت الآن بحاجة إلى إضافة عوامل تصفية الإعلانات باللغة الروسية / الأوكرانية يدويًا. انقر على "إضافة قائمة سوداء" مرة أخرى ، ثم "أضف قائمتك" وأدخل القيم التالية بالتسلسل في الحقول المقابلة:

Ім'я عنوان URL
مرشح قاعدة AdGuard https://filters.adtidy.org/extension/chromium/filters/2.txt
مرشح AdGuard الروسي https://filters.adtidy.org/extension/chromium/filters/1.txt
مرشح حماية تتبع AdGuard https://filters.adtidy.org/extension/chromium/filters/3.txt

كبداية ، هذه المرشحات كافية تمامًا.

للمقارنة ، عادةً ما أستخدم exler.ru ، وهو موقع مليء باللافتات الكلاسيكية. على اليسار - قبل ، على اليمين - بعد تطبيق المرشحات.

يتم تحديث AdGuard Home في الوضع اليدوي ، لكنه يبدأ حرفياً بزر واحد ويستغرق بضع ثوانٍ ، دون الحاجة إلى تدخل.

تحديث الصفحة الرئيسية لـ Raspberry Pi AdGuard

هذا كل شيء بشكل عام. من الآن فصاعدًا ، أصبحت جميع أجهزتك المنزلية تقريبًا خالية من الإعلانات. الاستثناء غير السار هنا هو برنامج العميل YouTube على لوحات المفاتيح Apple التلفزيون ، ولكن هنا تدخل قيود بنية tvOS حيز التنفيذ ، لذا فإن AdGuard لا حول له في هذه الحالة.

Apple شعار آلة الزمن

تثبيت وتكوين Time Machine على Raspberry Pi

وفقًا لـ Wikipedia ، يعد Time Machine نظامًا احتياطيًا تم تطويره Apple وهو مضمن في Mac OS X Leopard والإصدارات الأحدث من macOS ، بالإضافة إلى برنامج يحمل نفس الاسم يتيح لك عرض محتويات النسخ الاحتياطية واستعادة كل من الملفات الفردية ونظام التشغيل ككل.

ببساطة ، إنه نظام نسخ احتياطي كل ساعة مدمج في macOS ويتطلب خادم ملفات متوافق. يمكنك تحويل Raspberry Pi إلى مثل هذا الخادم فقط إذا قمت بتوصيل USB HDD خارجي به.

لكي تعمل Time Machine بشكل صحيح ، يكون Raspberry Pi 4 فقط أو أحدث مناسبًا ، مع منافذ USB 3.0 (في الطرز السابقة ، تكون المنافذ أبطأ) ومحرك أقراص صلبة مناسب بحجم 1-3 تيرابايت (مع طاقة خارجية ، إذا كانت كذلك قرص 3,5 بوصة).

الأهمية! هناك نوعان من بروتوكولات الشبكة التي تسمح لنظام macOS بتخزين بيانات Time Machine على شبكة محلية. Netatalk عفا عليه الزمن ، أو أكثر حداثة Samba. من حيث المبدأ ، يمكنك استخدام أي منها لمهام Time Machine. الإنترنت مليء بالتعليمات لتنظيم العملية من خلال Netatalk ، وكل هذه التعليمات بدرجات متفاوتة من النزوات ، لكن مهمتي هي إعطاء أبسط خيار عمل مضمون. ومهمتك هي اختيار ما يناسبك. لذلك في المقالة سننظر في كليهما.

إعداد الأقراص الصلبة

نقوم بتوصيل محرك الأقراص الثابتة بمنفذ USB 3.0 الخاص بـ Raspberry Pi ، والوصول إليه في Terminal عبر SSH وتشغيل الأمر lsblk، والتي ستعرض قائمة بمحركات الأقراص المتصلة في وحدة التحكم. نحن نولي اهتمامًا لحجم القرص للتأكد من أي واحد سنعمل معه ، واسمه ونقطة التثبيت ، في حالتي ، الأمر بسيط sda، ستظل لديك نقطة تثبيت ، على الأرجح /dev/sda‌. نحن بحاجة لها.

تنسيق Raspberry Pi HDD

أدخل الأمر sudo fdisk /dev/sda (أو مع أي نقطة تثبيت أخرى ذات صلة في حالتك) ، ثم انقر على لوحة المفاتيح m، لمشاهدة قائمة الأوامر الكاملة. يمكنك حتى نسخه إلى ملف نصي منفصل (أو استخدام التلميح أدناه).

GPT M أدخل وقائي / مختلط MBR عام d حذف قسم F قائمة مساحة خالية غير مقسمة l قائمة أنواع الأقسام المعروفة n إضافة قسم جديد p اطبع جدول الأقسام t تغيير نوع القسم v تحقق من جدول الأقسام أنا أطبع معلومات حول قسم متنوع اطبع هذه القائمة x وظائف إضافية (خبراء فقط) البرنامج النصي أحمل تخطيط القرص من ملف البرنامج النصي sfdisk O تخطيط قرص التفريغ إلى ملف البرنامج النصي sfdisk حفظ وخروج مع كتابة الجدول إلى القرص والخروج q quit دون حفظ التغييرات إنشاء تسمية جديدة g إنشاء جديد جدول أقسام GPT الفارغ G إنشاء جدول أقسام SGI (IRIX) فارغ جديد o إنشاء جدول أقسام DOS فارغ جديد إنشاء جدول أقسام Sun فارغ جديد

مهمتنا هي أن نفعل delete a partition عدة مرات حسب الحاجة لتنظيف القرص بالكامل من الأقسام ، ثم إنشاء قرص جديد باستخدام add a new partition. لا تنس كتابة التغييرات ، أي write table to disk and exit. هل تستطيع فعلها؟ تماما.

الآن نقوم بإنشاء نظام ملفات على القرص. يعتبر نظام ext4 المعتاد كافيًا تمامًا ، على الرغم من تنوع الآراء على الشبكة بأن القرص يجب أن يتم تنسيقه في أحد أنظمة الملفات Apple. في الواقع ، هذا يعقد فقط عملية التحضير دون تحقيق أي فائدة على الإطلاق.

أدخل الأمر sudo mkfs.ext4 /dev/sda1. منتهي

نحتاج الآن إلى معرفة UUID الخاص بقسمنا الجديد.
هيا ندخل ls -lha /dev/disk/by-uuid ونرى شيئًا كهذا:

تنسيق Raspberry Pi HDD

انسخ UUID من موقعنا sda1 في ملف نصي منفصل إذا كنت لا تستخدم الحافظة المتقدمة مع المحفوظات.

نحتاج الآن إلى إنشاء مجلد سنقوم فيه بتركيب القرص الخاص بنا ومنحه حقوق الوصول المناسبة.

sudo mkdir / mnt / tm && sudo chmod -R 777 / mnt / tm && sudo chown pi: pi / mnt / tm

قم بتركيب القرص. للقيام بذلك ، قم بتحرير ملف التكوين باستخدام الأمر

سودو نانو / الخ / fstab

نانو في هذه الحالة ، اسم المحرر المثبت في النظام الذي أفضل استخدامه.

قم بإجراء تغييرات على الملف المفتوح عن طريق إضافة السطر التالي إليه

UUID=b32c00d8-0aa8-4ec4-b01f-18cbade45e7c /mnt/tm ext4 nofail,defaults 0 2

ولكن مع UUID الخاص بك من الخطوة السابقة. يجب أن تبدو هذه:

تنسيق Raspberry Pi HDD

احفظ التغييرات بالنقر فوق CTRL + O і أدخل، ثم قم بإنهاء المحرر بالنقر فوق CTRL + X.

أعد تشغيل Raspberry Pi باستخدام الأمر sudo reboot وبعد إعادة التشغيل سجل الدخول مرة أخرى عبر SSH.

اقتل الفريق df -h وتأكد من تثبيت محرك الأقراص على النظام عند هذه النقطة /mnt/tm.

ممتاز ، القرص جاهز للعمل.


تثبيت وتكوين NETATALK (الخيار 1)

نقوم بتثبيت:

sudo apt-get install netatalk -y

نقوم بتكوين كل شيء في نفس المحرر نانو:

سودو نانو /etc/netatalk/afp.conf

ونجعل محتويات ملف التكوين مثل هذا تمامًا:

‌ ؛ ؛ ملف تكوين Netatalk 3.x ؛ [عالمي] ؛ نموذج محاكاة إعدادات الخادم العالمية = TimeCapsule6,106،XNUMX [Time Machine] path = / mnt / tm time machine = نعم المستخدمون الصالحين = pi ؛ [دور] ؛ Basedir regex = / xxxx ؛ [بلدي حجم وكالة فرانس برس] ؛ المسار = / المسار / إلى / الحجم ؛ [My Time Machine Volume] ؛ المسار = / المسار / إلى / النسخ الاحتياطي ؛ آلة الزمن = نعم`

لا تنس حفظ النتيجة بالمساعدة CTRL + O → أدخل → Ctrl + X

تم تحرير الملف الآن nsswitch.conf، إضافة في نهاية السطر hosts: قيم إضافية mdns4 mdns.

سودو نانو /etc/nsswitch.conf

يجب أن تبدو النتيجة كما يلي:

# /etc/nsswitch.conf
#
# مثال لتكوين وظيفة تبديل خدمة الأسماء GNU.
# إذا كانت حزمتي "glibc-doc-reference" و"info" مثبتتين لديك، فجرّب ما يلي:
# `info libc "Name Service Switch" للحصول على معلومات حول هذا الملف.

كلمة المرور: الملفات
المجموعة: الملفات
الظل: الملفات
gshadow: الملفات

المضيفون: ملفات mdns4_minimal [NOTFOUND=return] نظام أسماء النطاقات mdns4 mdns
الشبكات: الملفات

البروتوكولات: ملفات ديسيبل
خدمةces: ملفات ديسيبل
الأثيرات: ملفات ديسيبل
RPC: ملفات ديسيبل

مجموعة الشبكة: شيكل

مرة أخرى نحفظ التغييرات من خلال CTRL + O → أدخل → Ctrl + X

ثم يبقى فقط لبدء الخدمات:

بدء خدمة sudo avahi-daemon بدء sudo خدمة netatalk

وتحقق من أدائهم في فرق:

حالة netatalk خدمة sudo

و

وضع خدمة sudo avahi-daemon

يجب أن تبدو النتيجة كما يلي:

رسالة حالة Netatatlk

كل ما تبقى هو الانتقال إلى إعدادات macOS ، وتحديد قسم Time Machine ورؤية Raspberry Pi في محركات الأقراص المتاحة.

آلة الزمن Netatalk

نحدده على أنه تسجيل دخول pi، ككلمة المرور - تلك المستخدمة للوصول إلى SSH.

تم ، تم تكوين الخيار القياسي من خلال Netatalk. الآن ، عندما يكون جهاز Mac الخاص بك على نفس شبكة Wi-Fi المحلية مثل Raspberry Pi ، سيتم إجراء النسخ الاحتياطية تلقائيًا على محرك الأقراص الخاص بك.

فكر الآن في بديل في شكل بروتوكول Samba ، والذي يعتبر أكثر موثوقية.

تثبيت وتكوين SAMBA (الخيار 2)

نقوم بتثبيت Samba:

‌sudo apt-get install samba

قمنا بتعيين كلمة مرور المستخدم (لنفس مستخدم pi) وقمنا بتعديل التكوين. كلمة المرور الأولى:

‌sudo smbpasswd -a pi (يمكنك استخدام نفس SSH).

وبعد ذلك تكون إعدادات Samba كلها في نفس المحرر نانو:

‌سودو نانو /etc/samba/smb.conf

حظر المحتوى [global] يجب أن يبدو هكذا في النهاية:

[عالمي] الأمان = كلمات مرور تشفير المستخدم = خريطة حقيقية للضيف = حساب ضيف مستخدم سيئ = لا أحد

في نهاية ملف التكوين ، أضف كتلة جديدة:

[TimeCapsule] comment = مسار كبسولة الوقت = / mnt / tm قابل للتصفح = نعم قابل للكتابة = نعم إنشاء قناع = 0600 قناع دليل = 0700 بقعة ضوء = لا توجد كائنات vfs = تيارات فاكهة كاتيا_xattr: aapl = نعم فاكهة: آلة الوقت = نعم

وحفظ النتيجة: CTRL + O, أدخل, CTRL + X.

أعد تشغيل الخدمة:

‌sudo systemctl إعادة تشغيل smb.service

فعله يبقى ، كما في حالة Netatalk ، العثور على القرص في القائمة المعروضة في لوحة إعدادات Time Machine.

شعار Homebridge

تثبيت وتكوين Homebridge على Raspberry Pi

حسنًا ، لقد وصلنا بنجاح إلى أكبر كتلة في المقالة.

هومبريدج هو خادم يستند إلى NodeJS يستخدم Homekit API لتكامل الجهاز غير المعتمد والدعم الأولي لـ Apple HomeKit.

تكمن صعوبة تكوين Homebridge في أن مكوناته الإضافية تدعم مجموعة متنوعة من البروتوكولات والأجهزة ، مما يجعلها مرئية ويمكن التحكم فيها من خلال Apple HomeKit. وفقًا لذلك ، يتم تكوين كل مكون إضافي بطريقته الخاصة ، وغالبًا ما يكون مختلفًا تمامًا عن نظيره لجهاز آخر.

لنبدأ. كالعادة ، نصل إلى Raspberry Pi عبر SSH وننفذ عدة خطوات.

تثبيت Node.js

لديك القدرة على نسخ ولصق كتلة التعليمات البرمجية بأكملها في Terminal. في الغالبية العظمى من الحالات ، هذا يكفي. ولكن إذا حدث فشل التثبيت في مرحلة ما ، فقم بإدخال الأوامر المتبقية من الكتلة واحدة تلو الأخرى.

# إعداد repo curl -sL https://deb.nodesource.com/setup_14.x | sudo bash - # install Node.js sudo apt install -y nodejs gcc g ++ make python net-tools # test node is working node -v # Upgrade npm (الإصدار 6.13.4 به مشكلات مع تبعيات git) sudo npm install -g npm

تثبيت Homebridge و Homebridge Config UI X.

لتبدأ ، دعنا نضع الأساس بالأمر التالي ...

‌sudo npm install -g --unsafe-perm Homebridge-config-ui-x

... وتشغيله كخدمة نظام.

تثبيت ‌sudo hb-service --user homebridge

تكوين Homebridge من خلال واجهة الويب

انتقل إلى العنوان في المتصفح على جهاز الكمبيوتر الخاص بك http://<ip address of your server>:8581 أين بدلا من <ip address of your server> لا يزال نفس عنوان IP منذ بداية المقال ، في حالتي

القيم الافتراضية للمستخدم وكلمة المرور هي نفسها: admin

أوصي بالذهاب فورًا إلى عنصر قائمة "المستخدمون" وتغيير القيم الافتراضية هناك إلى قيم أكثر أمانًا.

إعدادات مستخدم Raspberry Pi Homebridge

هل فعلتها؟ ممتاز ، سنقوم بتكوين المكونات الإضافية بعد ذلك.

إن وجود مجموعة متنوعة من المعدات في المنزل يحدد المكونات الإضافية التي نحتاج إلى تثبيتها. من الممكن تمامًا في حالتك ، أن تكون مجموعة المكونات الإضافية مختلفة قليلاً ، ولكن باستخدام مثال التهيئة الخاصة بي ، يمكنك الحصول على فكرة عن الفروق الدقيقة التي يمكن أن تواجهها في عملية إعدادها.

مجموعتي من المكونات الإضافية في وقت كتابة هذا التقرير:

  • واجهة المستخدم هومبريدج (مضمن في التكوين الأساسي وليس له إعداداته الخاصة)
  • هوى (للتحكم في الإضاءة Philips مسحة)
  • Apple تلفزيون عن بعد (للتحكم في أجهزة فك التشفير Apple تلفزيون)
  • مقتثث (للإدارة مصباح جيفر з البرامج الثابتة من Whilser)
  • Samsung تايزن (للتحكم في التلفزيون الذكي Samsung مع Tizen OS)
  • الطقس بلس (لأتمتة المنزل الذكي حسب الظروف الجوية)
  • واي فاي Yeelight (للتحكم في المصباح Xiaomi ييلايت)

دعنا نذهب واحدا تلو الآخر.

إعدادات البرنامج المساعد Hue

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

راسبيري بي هومبريدج هيو

انقر فوق الزر "تثبيت" الموجود على المكون الإضافي المطلوب وانتظر دقيقة أو دقيقتين حتى يتم تثبيت المكون الإضافي.

توصيل في هومبريدج هيو من السهل جدا اقامة. تحتاج فقط إلى تعيين الاسم الافتراضي الذي سيتم عرضه في سجلات Homebridge واختيار نوع الأجهزة المتوافقة التي سيتعامل معها المكون الإضافي. في حالتي ، إنها مجرد إضاءة Philips Hue ، وحتى الإصدار الأول من المحور ، مستدير.

بعد ملء البيانات وحفظ النتيجة بالضرورة ، ما عليك سوى الضغط على الزر المركزي في المحور Philips Hue وانتظر 15 ثانية حتى يتعرف المكون الإضافي على الموزع. منتهي!

كل ما تبقى هو التقاط iPhone ، وتوجيه الكاميرا إلى رمز الاستجابة السريعة الموجود في علامة التبويب "الحالة" في واجهة الويب Homebridge ، وإضافته كجسر إلى HomeKit.

إذا تم بالفعل تكوين HomeKit مسبقًا (تم تحديده Apple التلفزيون أو iPad كمحور رئيسي ، وغرف مضافة ، وما إلى ذلك) ، ثم سيقدم المعالج خطوة بخطوة على الفور توزيع جميع أجهزة إضاءة Hue الموجودة على الغرف المقابلة وإعطاء كل جهاز اسمًا. في غرفة معيشتي ، على سبيل المثال ، لديّ مصابيح "Ceiling 1" و "Ceiling 2" و "Ceiling 3" ، ولكن عن طريق HomeKit نفسها على iPhone (العنصر "الدمج مع الأجهزة الأخرى") ، قمت بدمجها في مجموعة منطقية "الضوء العلوي" ، فهي أكثر ملاءمة بالنسبة لي. في نفس الوقت ، في نفس غرفة المعيشة ، لديّ "مصباح أرضي" و "مصباح ليلي" - جهازان منفصلان ، لكن Siri يفهم تمامًا مجموعة متنوعة من الأوامر دون أي تدريب إضافي:

  • "أشعل الإضاءة في غرفة المعيشة (تضيء جميع المصابيح في غرفة المعيشة)"
  • "تشغيل المصباح الأرضي"
  • "سطوع ضوء الليل عشرين بالمائة"
  • "تشغيل الإضاءة الليلية"
  • "إطفاء المصباح العلوي"
  • "اللون الأزرق على المصباح الأرضي"
  • "إطفاء الأنوار في غرفة المعيشة (إطفاء جميع الأضواء في غرفة المعيشة)"
  • "إطفاء جميع الأنوار (إطفاء الإضاءة في جميع أنحاء الشقة)"

وهلم جرا. إذا كان لديك تكوينه بشكل صحيح Apple- الأوامر العائلية وذات الصلة والمنطقية تمامًا تصبح متاحة تلقائيًا لجميع أفراد عائلتك Apple ID.

إعدادات البرنامج المساعد Apple تلفزيون عن بعد

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

الخطوة 1. نقوم بتثبيت خدمة لالتقاط بيانات الاعتماد Apple TV

تثبيت sudo npm -g node-appleتلفزيون x

الخطوة 2. نحن نبحث عن أجهزة فك التشفير المتاحة على الشبكة المحلية Apple TV

سودو appleزوج تلفزيون

الخطوة 3. نقوم بإنشاء زوج بالبادئة المطلوبة. سيبدو إخراج وحدة التحكم كما يلي:

% appleزوج تلفزيون ✔ التوصيل بغرفة المعيشة ✔ بدء الاقتران؟ أدخل الدبوس المكون من 4 أرقام والذي يتم عرضه حاليًا في غرفة المعيشة

على الخطوة ‌? Enter the 4-digit pin that's currently being displayed on... على شاشة جهاز الاستقبال الذي اخترته Apple TV ، سيظهر رمز قياسي مكون من أربعة أرقام للاقتران بجهاز التحكم عن بُعد (في مثالنا ، سيكون 1234) ، والتي يجب قتلها هناك في وحدة التحكم.

% appleزوج تلفزيون ✔ التوصيل بغرفة المعيشة ✔ بدء الاقتران؟ أدخل الدبوس المكون من 4 أرقام والذي يتم عرضه حاليًا على Living Room 1234 إكمال بيانات اعتماد الاقتران: 77346115-ED48-46A8-A288-

في حين أن <snip> سيكون هناك عدة أسطر من مزيج من الأحرف والأرقام ، يجب نسخها في ملف نصي منفصل بالكامل ، بدءًا من الرقم الأول في السطر Credentials:. بعد ذلك بقليل هذه نفسها أوراق اعتماد سنحتاجه كثيرا.

الخطوة 4. أضف الكتلة التالية إلى قسم التكوين لواجهة الويب Homebridge في علامة التبويب "التكوين" "platforms": [

{ "برنامج": "AppleTvPlatform "،" name ":"Apple منصة التلفزيون"،
   "ديفيces": [
      {
         "الاسم": "دار الضيافة"،
         "بيانات الاعتماد": "77346115-ED48-46A8-A288-"،
         "isOnOffSwitchEnabled": صحيح،
         "onOffSwitchName": "Apple تلفزيون" } ] }،

... وفي طابور "credentials": فقط أدخل المحتوى الكامل للملف النصي من الخطوة السابقة.

نختار أي اسم للبادئة ، "بيت الضيافة" هنا على سبيل المثال فقط.

الخطوة 5. نقوم بتثبيت البرنامج المساعد نفسه.

في علامة التبويب "الوحدات النمطية" لواجهة الويب Homebridge ، اكتب في شريط البحث  Apple TV Remote واضغط على زر "تثبيت". بعد تثبيت المكون الإضافي ، سيُطلب منك إعادة تشغيل Homebridge ، ويتم ذلك بالضغط على الزر المناسب.

زر إعادة تشغيل Raspberry Pi Homebridge

هذا كل شيء ، ظهر مفتاح جديد على iPhone في HomeKit ، والذي يمكن الآن إضافته إلى جميع السيناريوهات التي تحتاج فيها إلى تشغيل جهاز فك التشفير تلقائيًا.

أوامر صوتية مثل "Siri ، شغّل Apple TV "أو" Siri ، أطفئ Apple TV "يتم دعمها تلقائيًا أيضًا. علاوة على ذلك ، إذا قمت بتكوين العديد من أجهزة فك التشفير في غرف مختلفة ، فسيبدأ Siri أيضًا تلقائيًا في فهم طلب إيقاف تشغيله Apple تلفزيون في غرفة معينة أو الكل مرة واحدة.

في الواقع ، يتطور هذا المكون الإضافي بسرعة ، فهو يعرف بالفعل كيفية التعرف على معرف الحزمة للتطبيقات التي تعمل على وحدة التحكم والتدخل في عملهم ، على سبيل المثال ، إيقاف فيلم مؤقتًا على Netflix. لكنك ستتعامل مع هذا بنفسك إذا كانت هناك رغبة.

تكوين البرنامج المساعد Mqttthing

أستخدم هذا المكون الإضافي مع مصباح Guyver المذكور أعلاه - مصباح محلي الصنع مع لوحة Arduino ومصفوفة 16 × 16 من مصابيح LED القابلة للتوجيه. يجب ملء المصباح نفسه بالبرامج الثابتة من Whilser. قد تكون القوة معك!

مصباح Gyver مع Grogu

الخطوة 1. تثبيت وسيط MQTT

نقوم بتنفيذ عدد من الأوامر. إنها لا تعمل على دفعات ، لذلك نقوم بإدخالها في وحدة التحكم واحدة تلو الأخرى.

Sudo wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
sudo apt-key إضافة mosquitto-repo.gpg.key
مؤتمر نزع السلاح /الخ/apt/sourceces.list.d/
سودو wget 
تحديث sudo apt
سودو مناسب لتثبيت عملاء البعوض
سودو /etc/init.d/mosquitto توقف
سودو نانو /etc/mosquitto/mosquitto.conf

يبدأ الأمر الأخير المحرر المألوف بالفعل نانو، حيث نستبدل محتويات الملف المفتوح بما يلي:

# ضع التهيئة المحلية في /etc/mosquitto/conf.d/ # # يتوفر وصف كامل لملف التكوين على # /usr/share/doc/mosquitto/examples/mosquitto.conf.example # pid_file / var / run / mosquitto.pid allow_anonymous true listener 1883 persistent true persistent_location / var / lib / mosquitto / log_dest الموضوع log_type error log_type التحذير log_type note log_type information connection_messages true log_timestamp true include_dir /etc/mosquitto/conf.d

كل عادة، CTRL + O, أدخل, CTRL + X، ثم أعد تشغيل الوسيط باستخدام الأمر

‌sudo /etc/init.d/mosquitt للبدء

تم تثبيت وسيط MQTT.

الخطوة 2. تثبيت البرنامج المساعد Mqttthing

عادة ما نذهب إلى علامة التبويب "الوحدات النمطية" في واجهة الويب Homebridge ، ابحث Mqttthing وانقر على "تثبيت".

الخطوة 3. تكوين البرنامج المساعد مقتثث

يحتوي كل مصباح Guyver على معرف شريحة ESP الخاص به. على سبيل المثال، ESP-3bd20b. إذا قمت بتصنيع المصباح ووميضه بنفسك، فأنت على علم تام بذلك، وإذا لم يكن الأمر كذلك، فقم بوضع المصباح في وضع الاقتران، وعند الاتصال بشبكة Wi-Fi الخاصة بك، سيعرض مربع الحوار المناسب على iPhone المعرف المطلوب . اكتبه.

  1. افصل الطاقة عن المصباح ؛
  2. قم بإيقاف تشغيل جهاز التوجيه ؛
  3. قم بتشغيل قوة المصباح ؛
  4. على iPhone ، انتقل إلى "الإعدادات ← WiFi"
  5. حدد شبكة غير آمنة باستخدام SSID مثل "ESP12345678" وانقر فوق "تكوين WiFi" في مربع الحوار
  6. سيكون معرف الشريحة مطلوبًا في الجزء السفلي من نافذة التكوين

إذا كان المصباح قد تم تكوينه مسبقًا ، فيمكنك ببساطة إيقاف تشغيله وتشغيل جهاز التوجيه وتشغيل المصباح مرة أخرى - سيتم اختيار الإعدادات القديمة. إذا كان هذا هو الاتصال الأول للمصباح ، فقم بتشغيل جهاز التوجيه وحدد شبكتك في قائمة الإعدادات ، ثم أدخل جميع البيانات الضرورية ، مثل كلمة مرور شبكة Wi-Fi المنزلية وعنوان IP الخاص بـ Raspberry Pi.

افتح علامة التبويب "التكوين" في واجهة الويب Homebridge وفي القسم "accessories": [ أدخل مثل هذا الجزء الضخم من الكود ، واستبدل المعرف السابق بـ ESP-3bd20b لوحدك:

{
    "ميلانcessory": "mqttthing"، "type": "lightbulb"، "name": "Nightlight"، "url": "http://127.0.0.1:1883"، "mqttPubOptions": { "retain": false } , "topics": { "getOn": "homeassistant/light/ESP-3bd20b/status", "setOn": "homeassistant/light/ESP-3bd20b/switch", "getBrightness": "homeassistant/light/ESP-3bd20b" /brightness/status"، "setBrightness": "homeassistant/light/ESP-3bd20b/brightness/set"، "getRGB": "homeassistant/light/ESP-3bd20b/rgb/status"، "setRGB": "homeassistant/light" /ESP-3bd20b/rgb/set" }، "onValue": "ON"، "offValue": "OFF" }، { "accessory": "mqttthing"، "type": "تلفزيون"، "name": "تأثيرات الإضاءة الليلية"، "url": "http://127.0.0.1:1883"، "topics": { "setActive" : " homeassistant/light/ESP-3bd20b/switch"، "getActive": "homeassistant/light/ESP-3bd20b/status"، "setActiveInput": "homeassistant/light/ESP-3bd20b/effect/set"، "getActiveInput" : "homeassistant/light/ESP-3bd20b/effect/status" }, "inputs": [ { "name": "Confetti", "value": "Confetti" }, { "name": "Fire"، "value" ": "نار" }, { "اسم": "قوس قزح فير.", "قيمة": "قوس قزح فير." }, { "اسم": "رعب قوس قزح.", "قيمة": "رعب قوس قزح." } ، { "الاسم": "تغيير اللون"، "القيمة": "تغيير اللون" }، { "الاسم": "جنون ثلاثي الأبعاد"، "القيمة": "جنون ثلاثي الأبعاد" }، { "الاسم": "سحب ثلاثية الأبعاد" , " value": "سحب ثلاثية الأبعاد" }, { "name": "3D Bench"، "value": "3D Bench" }, { "name": "3D Plasma"، "value": "3D Plasma" } , { "name": "Rainbow 3D"، "value": "Rainbow 3D" }، { "name": "Peacock 3D"، "value": "Peacock 3D" }، { "name": "Zebra 3D" , " value": "Zebra 3D" }, { "name": "Forest 3D", "value": "Forest 3D" }, { "name": "Ocean 3D"، "value": "Ocean 3D" } , { "اسم": "تساقط الثلوج"، "قيمة": "تساقط الثلوج" }، { "اسم": "مصفوفة"، "قيمة": "مصفوفة" }، { "اسم": "يراعات"، "قيمة": "اليراعات " }، { "الاسم": "حوض السمك"، "القيمة": "حوض السمك" }، { "الاسم": "سقوط النجوم"، "القيمة": "سقوط النجوم" }، { "الاسم": "كرة الطلاء"، "value": "كرة الطلاء" }, { "name": "حلزوني"، "value": "حلزوني" }, { "name": "ضوء دافئ"، "value": "ضوء دافئ" }، { "name": "ضوء دافئ"، "قيمة": "ضوء دافئ" }، { "name ": "البندول"، "القيمة": "البندول" }، { "الاسم": "وميض"، "القيمة": "وميض" }، { "الاسم": "صافرة إنذار الشرطة"، "القيمة": "صفارة إنذار الشرطة" " } , { "name": "الانجراف"، "القيمة": "الانجراف" }، { "الاسم": "القطيع"، "القيمة": "الانجراف" } ]، "onValue": "ON"، "offValue" ": "عن" }

فعله في Apple ظهر جهازان جديدان في HomeKit ، المصباح "Night Light" و "Night Light Effects". إنها مترابطة والغرض منها واضح تمامًا. إذا رغبت في ذلك ، يمكنك إعادة تسميتها في ملف config.

لسوء الحظ ، كتب مؤلف البرنامج الثابت المعلمات باللغة الروسية ، لذلك مع مثل هذا التكوين ، سيتعين عليك الاتصال بـ Siri باللغة الروسية أيضًا. ولكن إذا كنت تتحدث إلى Siri باللغة الإنجليزية ، فيمكنك إصلاح كل نقطة رمز كما يلي:

{"الاسم": "Fire"، "القيمة": "Ogon"}،

ثم ستبدو النتيجة على نظام iOS كما يلي:

مصباح جيفر سيري مصحح

إعدادات البرنامج المساعد Samsung تايزن

الخطوة 1. التحقق من توافق التلفزيون

في لوحة التحكم الخاصة بالموجه ، امنح التلفزيون عنوان IP محلي ثابتًا ، كما فعلنا مع Raspberry Pi في البداية. على سبيل المثال ، في حالتي هو 192.168.50.100.

انتقل إلى العنوان في المتصفح على جهاز الكمبيوتر الخاص بك  http://TV_IP:8001/api/v2، وهو ما يعني في حالتي http://192.168.50.100:8001/api/v2/

إذا رأيت صفحة بها مجموعة من معلومات الخدمة تبدو كالتالي ...

{"device":{"FrameTVSupport":"false","GamePadSupport":"true","ImeSyncedSupport":"true","OS":"Tizen","TokenAuthSupport":"true","VoiceSupport":"false","countryCode":"UA","description":"Samsung DTV RCR","developerIP":"0.0.0.0","developerMode":"0","duid": ......

... فهذا يعني أن هناك فرصًا للنجاح. لكن عليك أن تفهم أنه ليس كل طرازات أجهزة التلفزيون Samsung متوافق مع البرنامج المساعد. على سبيل المثال ، لن تعمل تلك التي تتطلب تعريف PIN.

انسخ قيمة الحقل من صفحة الخدمة"wifiMac": وقم بإعداد جهاز التحكم عن بعد من التلفزيون ، فليكن في متناول اليد.

الخطوة 2. تثبيت البرنامج المساعد

لا شيء جديد ، نحن نبحث عن مكون إضافي عند الطلب Samsung Tizen، حدد المطلوب (حقوق التأليف تضمين التغريدة) وتثبيته.

فطيرة التوت Samsung البرنامج المساعد Tizen

بعد الإطلاق ، انتقل إلى الإعدادات وأدخل القيم التالية هناك:

فطيرة التوت Samsung إعدادات البرنامج المساعد Tizen

اسم "TV" كافٍ تمامًا ، لأن Siri يتفهم تمامًا طلب تشغيل التلفزيون في غرفة المعيشة ، حيث لا يكاد يكون لديك جهازي تلفزيون. كما أنها تتفهم تمامًا الأمر "تشغيل التلفزيون في غرفة النوم" ، دون سحب جهاز التلفزيون في غرفة المعيشة مرة أخرى.

الخطوة 3. التوصيل بجهاز تلفزيون

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

الخطوة 4. أضف التلفزيون إلى Apple HomeKit

نعم ، على عكس الحالات السابقة ، لن يظهر التلفزيون بطريقة سحرية في قائمة الأجهزة في منزلك. لذلك ، نأخذ iPhone بين أيدينا وخطوة خطوة:

  1. قم بتشغيل تطبيق Home وفي الصفحة الرئيسية ، اضغط على + في الزاوية اليمنى العليا ؛
  2. حدد "إضافة ملحق" ؛
  3. في الجزء السفلي من الشاشة ، انقر فوق "لا رمز أو مسح ضوئي" ؛
  4. في الشاشة التالية ، حدد التلفزيون الخاص بك ؛
  5. عندما يُطلب منك إدخال رمز إعداد HomeKit ، انقر فوق "استخدام الكاميرا" ؛
  6. وجِّه الكاميرا إلى رمز الاستجابة السريعة في علامة تبويب حالة Homebridge.

الخطوة 5. إعدادات البرنامج المساعد

بعد الحفر بعمق توثيق إلى المكون الإضافي ، يمكنك جعل Siri يقوم بتشغيل برامج معينة على التلفزيون من قائمة البرامج المثبتة ، وإيقافها مؤقتًا ، وما إلى ذلك. الآن ، كتمرين ، سنقوم بتغيير وظيفة زر واحد في جهاز التحكم عن بعد الافتراضي Apple جهاز تحكم عن بعد ، مدمج في "ستارة" مركز تحكم iOS.

هذا هو الزر ℹ︎ (معلومات) ، يعرض افتراضيًا معلومات حول وضع الصورة الحالي في الجزء العلوي من شاشة التلفزيون. في نفس الوقت ، تصل من جهاز التحكم عن بعد Apple لا توجد طريقة لإضافة Remote إلى قائمة البرامج المثبتة على التلفزيون. وسنصلحها الآن.

Apple جهاز التحكم عن بعد لنظام iOS Samsung TV

انتقل إلى إعدادات المكون الإضافي ، قسم "تعيين المفاتيح" ، وابحث عن حقل "المعلومات" وقم بتغيير قيمته إلى KEY_HOME. أعد تشغيل Homebridge و voila - يُظهر الزر ℹ︎ الموجود في جهاز التحكم عن بُعد الافتراضي قائمة التطبيق الرئيسية! كان جهاز التحكم عن بعد الافتراضي منطقيًا.

إعداد البرنامج المساعد Weather Plus

الخطوة 1. قم بإنشاء حساب OpenWeather

دعنا نذهب إلى الموقع https://home.openweathermap.org وقم بتسجيل حساب ، الشيء الجيد أنه مجاني.

الخطوة 2. جيل مفتاح API

OpenWeather

انتقل إلى علامة التبويب المرغوبة في حساب OpenWeather الشخصي ، وبعد تحديد اسم المفتاح ، انقر فوق الزر "إنشاء".

OpenWeather

الخطوة 3. تثبيت وتكوين البرنامج المساعد Weather Plus

نقوم بالبحث عن المكون الإضافي المطلوب وتثبيته بالطريقة المعتادة ، ثم ننتقل إلى إعداداته. يجب أن تبدو النتيجة كما يلي:

في التوقعات ، أنا مهتم شخصيًا فقط بقيم الساعة التالية ، لذلك يتم تعطيل الآخرين ببساطة:

إعدادات توقعات Raspberry Pi OpenWeather

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

  • ضغط جوي
  • غطاء من الغيوم
  • قطرة ندى
  • ظاهرة درجة الحرارة
  • اتجاه الرياح
  • مؤشر الأشعة فوق البنفسجية
  • سرعة الرياح
  • سرعة الرياح القصوى

وانقر على "حفظ" أسفل نافذة الإعدادات.

نتيجة لذلك ، في الواجهة Apple سيعرض HomeKit قيم درجة الحرارة والرطوبة للساعة القادمة ، بالإضافة إلى جهازي استشعار افتراضيين "سنو" و "مطر" ، يمكن استخدامهما في سيناريوهات مختلفة. على سبيل المثال ، لقد قمت ببرمجة أتمتة HomeKit ، حيث عندما يظهر المطر أو الثلج في التوقعات في المستقبل القريب ، يُظهر مصباح Guyver تأثير البركة أو الثلج المتساقط لمدة دقيقة. في الوقت نفسه ، سيتم تنشيط التأثير فقط بين الساعة 8:00 صباحًا و 23:00 مساءً ، وفقط إذا كان شخص ما في المنزل. في أوقات أخرى ، من غير المحتمل أن تكون التحذيرات من أخذ مظلة أو ارتداء ملابس مقاومة للماء ضرورية.

إعداد المكون الإضافي Yeelight WiFi

عند الطلب Yeelight يقدم Homebridge الكثير من المكونات الإضافية للتثبيت ، بما في ذلك واحد تم التحقق منه. لكني أفضل طريقة أخرى ، تتم فيها التحولات بين الدول بأكبر قدر ممكن من السلاسة ، وليس بأسلوب "حل الليل على المخيم". بالإضافة إلى ذلك ، فهو يدعم ملفات إضاءة تكيفية من عند Apple، ولكن هنا هو التطبيق القياسي Xiaomi لم يتعلم هذا أبدًا في العام منذ ظهور هذه الميزة في HomeKit.

البرنامج المساعد Raspberry Pi Yeelight WiFi

الأهمية! اترك لمبة واحدة فقط قيد التشغيل Xiaomiلتجنب الالتباس في البداية. سنعمل معها.

بعد تثبيت المكون الإضافي ، أعد تشغيل Homebridge وابحث عن شيء مثل هذا في السجل: ‌[Yeelight] Received advertisement from ab1234. هذا مشروط ab1234 وهناك مصباحك الكهربائي. ربما ستكون القيمة color-ab1234ثم ستعمل معه.

انتقل إلى إعدادات البرنامج المساعد والصق الجزء التالي من التعليمات البرمجية هناك:

{"النظام الأساسي": "yeelight" ، "الاسم": "Yeelight" ، "انتقالات": {"الطاقة": 400 ، "السطوع": 400 ، "اللون": 1500 ، "درجة الحرارة": 1500} ، "البث المتعدد" : {"interface": "0.0.0.0"}، "defaultValue": {"color-ab1234": {"name": "Floor lamp"، "blacklist": ["set_hsv"]}}}

أين بدلا من color-ab1234 يجب أن تكون القيمة من السجل الخاص بك ، وبدلاً من ذلك ‌"name": "Торшер" أي اسم يعكس المكان الذي تم فيه تثبيت المصباح: المصباح الليلي ، الشمعدان ، السقف ، إلخ.

إعدادات البرنامج المساعد Raspberry Pi Yeelight WiFi

احفظ الرمز الذي تم لصقه بالنقر فوق الزر "حفظ" وإعادة تشغيل Homebridge. تم ، ظهر المصباح في HomeKit تحت الاسم الذي اخترته. تتم إضافة باقي مصابيح Yeelight واحدة تلو الأخرى عن طريق الضغط على الزر "+ ADD PLATFORM" في إعدادات البرنامج المساعد بالطريقة نفسها تمامًا.

تحديث Homebridge و Node.JS على Raspberry Pi

يعد تحديث Homebridge (واسترجاعه للخلف) أمرًا بسيطًا للغاية: تحتاج إلى النقر فوق رقم الإصدار الحالي في واجهة الويب وتحديد الإصدار المطلوب من القائمة في مربع الحوار.

ولكن مع تحديث Node.JS و NPM ، والتي ستكون مطلوبة عاجلاً أم آجلاً عند تثبيت تحديث لبعض المكونات الإضافية ، فإن الأمر ليس بهذه السهولة. بتعبير أدق ، الأوامر ليست بالضبط تلك الموضحة في الإرشادات القياسية.

يتم تحديث Node.JS بالأمر:

عقدة تحديث خدمة sudo hb

و NPM يصل إلى اثنين متتاليين:

تنظيف ذاكرة التخزين المؤقت sudo npm -f
تثبيت sudo npm -g npm

لسوء الحظ ، لا يمكن تحديث Homebridge نفسه ، ولا ملحقاته ، ولا "القضبان" التي يركبها تلقائيًا. والذهاب إلى لوحة التحكم كل يوم والتحقق مما إذا كان هناك أي شيء جديد عاجلاً أم آجلاً يصبح مملًا. لذلك ، لأتمتة العملية ، توصلوا إلى عنصر واجهة مستخدم خاص لنظام iOS 14 يراقب حالة جميع عقد Homebridge ويكون قادرًا على الإشارة إلى وجود تحديثات أو أي مشاكل بصريًا ومع رسائل PUSH.

تثبيت عنصر واجهة مستخدم Homebridge Status

القطعة حالة Raspberry Pi Homebridge

كما ترى ، تُظهر الأداة الكثير من المعلومات المفيدة وغير المفيدة جدًا حول Homebridge ، ولكن الجزء الأكثر قيمة منها هو معلومات حول حالة Homebridge نفسها ومكوناتها الإضافية و Node.JS.

للحصول على الأداة نفسها ، نحتاج أولاً إلى التطبيق الأصلي الخاص بها. قم بتثبيته على جهاز iPhone الخاص بك من متجر التطبيقات.

قابل للكتابة
قابل للكتابة
السعر: مجانًا+

والآن تبدأ عملية تثبيت الأداة الطويلة ولكنها مثيرة. سنقوم بتثبيته بمساعدة برنامج نصي آخر يسمى ScriptDude داخل برنامج Scriptable. يعد ScriptDude جيدًا لأنه يتتبع التغييرات في رمز كتلة البرامج النصية الموجودة في المعرض في العنوان scriptables.net. ربما ستجد شيئًا آخر مفيدًا لك هناك ، لكن لدينا الآن مهمة واحدة ، وسنحلها.

الخطوة 1. قم بتثبيت Scriptable.app من متجر التطبيقات.

الخطوة 2. افتح الموقع في متصفح iPhone scriptdu.de وانقر فوق الزر Install ScriptDude.

موقع scriptdu.de

الخطوة 3. في الصفحة التي تفتح ، انقر فوق الزر Copy Installer ، وبعد تلقي رسالة حول رمز البرنامج النصي في الحافظة الخاصة بنا ، انقر فوق الزر Open Scriptable.

الخطوة 4. أدخل محتويات الحافظة في الحقل الفارغ بعنوان Untitled Script واضغط على زر التشغيل ▶ ️.

تثبيت ScriptDude

الخطوة 5. في الشاشة التي تفتح ، انقر فوق الارتباط تصفح scriptables.net وفي الصفحة التالية اضغط على العلامة (تكنولوجيا). رائع ، نص Homebridge Status هو الأول في القائمة! لا تتردد في النقر فوق الزر تنزيل باستخدام ScriptDude.

الخطوة 6. نضغط على Install ، وبعد الموافقة على تحذيرين ، نرى البرنامج النصي المطلوب في قائمة التثبيت. تبدو شاشة Scriptables الرئيسية الآن مثل لقطة الشاشة الرابعة أدناه ، وننقر على النقاط الثلاث في لوحة Homebridge Status وننتقل إلى خيارات التحرير.

الخطوة 7. بادئ ذي بدء ، نقوم بتغيير القيمة الكتابة فوق з زائف في صحيح

overwritePersistedConfig = صحيح

لحفظ إعدادات البرنامج النصي على iCloud.

تكوين حالة Raspberry Pi Homebridge

الخطوة 8. بالانتقال إلى الأسفل قليلاً ، نقوم بتحرير ثلاثة حقول: عنوان IP ومنفذ Homebridge (تذكر ، هذا هو المذكور بالفعل http://<ip address of your server>:8581 أين بدلا من <ip address of your server> لا يزال نفس عنوان IP منذ بداية المقال ، في حالتي ) وأوافق على التحذير الخاص بالبحث عن أجهزة في الشبكة المحلية. الصيحة ، السيناريو يعمل!

كل ما تبقى هو إضافة الأداة إلى شاشة iOS 14 بنفس الطريقة مثل أي شاشة أخرى. بعد الإضافة ، تحتاج إلى الانتقال إلى إعدادات عنصر واجهة المستخدم (الضغط عليها لفترة طويلة) وتحديد عدد من المعلمات: حدد البرنامج النصي المطلوب ، وحدد ما يجب فعله عند التفاعل معه ، وأدخل القيمة التالية في حقل المعلمة

USE_CONFIG: purple.json

بعد ذلك ، لا تنس العودة إلى كود البرنامج النصي وإرجاع القيمة

overwritePersistedConfig = خطأ

هذا كل شئ. تعمل الأداة ، وعندما تكون هناك تحديثات لـ Node.JS أو Homebridge أو المكونات الإضافية الخاصة بها ، ستتلقى إشعارات PUSH بالمحتوى ذي الصلة.

خاتمة

فرص Apple نمت HomeKit عدة مرات بالنسبة لي. لقد توصلت إلى مجموعة من النصوص والأتمتة التي تجعل الحياة أسهل بالنسبة لي ولأحبائي.

على سبيل المثال ، في الوقت المظلم من اليوم ، سيتم الترحيب بأول فرد من العائلة يعود إلى المنزل من خلال الأضواء المضاءة من الخارج ، في الردهة ، وغرفة المعيشة ، والحمام - والآن ليست هناك حاجة للركض إلى المفاتيح بأيدي غير مغسولة.

عندما يغادر آخر فرد من العائلة المنزل ، ستقوم HomeKit بإيقاف تشغيل أجهزة التلفزيون والأضواء ، وبشكل عام ، كل ما يمكن إيقاف تشغيله. وإذا كان هناك شخص واحد على الأقل في المنزل ، مع بداية الغسق ، فسيتم تشغيل الإضاءة الخارجية وبعض المصابيح بالداخل.

مرة أخرى ، يمكن لـ Siri التحكم في جميع الأجهزة المتصلة بأوامر منطقية تمامًا ، كلمة بكلمة نفس تلك التي قد تطلبها من شخص ما في المنزل عندما تحتاج إلى تشغيل شيء ما أو إيقاف تشغيله في غرفة معينة. فقط لا أحد يحتاج إلى الركض إلى هذه الغرفة بعد الآن.

موسيقى الصباح والمساء مختلطة من Apple، التي تعلق عليها تأثيرات الضوء لمصباح Guyver. من الممكن جعل الإضاءة الأخرى تعمل مع الموسيقى الخفيفة ، لكنني لست سعيدًا بالتأثير.

بشكل عام ، فإن سيناريوهات التطبيق تعتمد فقط على خيالك ولن تضع الكثير من الضغط على المحفظة ، حيث أن المنتجات التي تحمل ملصق "يعمل مع Apple لم يعد HomeKit هو الخيار الوحيد المتاح.

في المقالة التالية من الدورة ، سنستمتع أنا وأنت قليلاً: سنعلم لنا يقوم Raspberry Pi بتنزيل السيول ، فلنحوله إلى مركز وسائط قوي ووحدة تحكم ألعاب قديمة.

ترّقب!

يوري ستانيسلافسكي
يوري ستانيسلافسكيhttp://notarecords.com
مطور سويفت يو آي. أقوم بجمع الفينيل. في بعض الأحيان صحفي. صاحب متجر نوتا للتسجيلات.
- الإعلانات -
اشتراك
يخطر حول
ضيف

0 التعليقات
المراجعات المضمنة
عرض كل التعليقات