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

ForgetMeNot - منصة إعلام المنزل الذكي: 14 خطوة (بالصور)
ForgetMeNot - منصة إعلام المنزل الذكي: 14 خطوة (بالصور)

فيديو: ForgetMeNot - منصة إعلام المنزل الذكي: 14 خطوة (بالصور)

فيديو: ForgetMeNot - منصة إعلام المنزل الذكي: 14 خطوة (بالصور)
فيديو: Rasoleya Online Video 2024, يوليو
Anonim
ForgetMeNot - منصة إعلام المنزل الذكي
ForgetMeNot - منصة إعلام المنزل الذكي

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

لا تقلق ، أيها الأصدقاء الأعزاء - نأتي إلى الإنقاذ.

ForgetMeNot عبارة عن نظام أساسي لإشعارات المنزل الذكي ، تم إنشاؤه بدافع الحاجة الحقيقية التي واجهناها في حياتنا اليومية (وإذا كنا صادقين تمامًا ، فإننا مدفوعين قليلاً بمشروع نهائي في فصل علوم الكمبيوتر).

في جوهرها ، إنه مزيج من الأجهزة والبرامج. يتأكد من أنك تدرك (ويمكنك التصرف!) بشأن الأشياء التي نسيت القيام بها عند مغادرة المنزل.

ريمكس؟

بينما نستخدم فقط عددًا قليلاً من المستشعرات (الأشياء التي تلاحظ) والمنشطات (الأشياء التي تفعل ذلك) ، فإن عمومية كل مكون تجعله مناسبًا لحالات الاستخدام المختلفة مع الحد الأدنى من تغييرات الأجهزة والبرامج. أخبرنا إذا قمت بإعادة دمج بعض (أو كل!) المشروع - نحن مجانين بشأن التعاون!

من الذى؟

تم إنشاؤه بفخر بواسطة (مجموعة فرعية) من فريق Red Panda من IDC Herzliya في وادي McCann ، Mizpe Ramon. تذهب حقيبة الامتنان الحرفية إلى Zvika Markfeld ، من ForRealTeam ، للذهاب معنا إلى الصحراء لبناء أشياء مدهشة في وسط أجمل جزء من بلدنا.

شكر خاص

إلى الأشخاص في Random Nerd Tutorials لتدفقهم اللامتناهي للمفاهيم الجديدة المثيرة للاهتمام التي يمكننا اختبارها باستخدام Node-RED و ESP8266 ، على وجه التحديد هنا.

اللوازم

واو ، الكثير من الأشياء…

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

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

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

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

وحدات تحكم صغيرة ولوحات ودروع

  • 4 لوحات ESP8266 (استخدمنا ميني WeMos D1 المصنوع من LoLin)
  • 1 × D1 Mini Relay Shield
  • 1 × L293N Hbridge (تستخدم لمحرك DC لـ Door Activator)

قوة

  • 50 × كبلات توصيل من نوع Arduino (اعتمادًا على اللوحة التي تستخدمها ، قد تحتاج إلى المزيد من الإناث - الذكور أو المزيد من الذكور - الذكور. فقط احصل على مجموعة من كل منها ، فهي دائمًا في متناول اليد) - لاحظ أن بعضها سيفيد يتم تجريده من أجل تنشيط الباب
  • مقاومات 3 × 10 أوم
  • 1 × Xuanshi XS-XB6 16A ~ 250 فولت كحد أقصى. 3500 واط قطاع طاقة + سلك تمديد (أي سلك تمديد + مقسم لمآخذ 220 فولت يجب أن يعمل) - لاحظ أنه سيتم تجريده من أجل المخرج الذكي
  • 3 × كبلات Micro-USB
  • 3 × شاحن حائط USB
  • 1 × DY-0120200 (الإدخال: 100-240 فولت ، 50-60 هرتز الإخراج: 12 فولت - 2 أمبير) محول التيار المتردد / التيار المتردد مع رأس ذكر أسطواني تيار مستمر (أو محول مكافئ)
  • 1 × أنثى DC برميل جاك
  • محول 1 × 220 فولت إلى 5 فولت (لتوفير الطاقة للوحة المخرج الذكي مباشرة من قطاع الطاقة ، بدون مصدر طاقة إضافي)

مجسات

  • 1 × مستشعر إضاءة LDR
  • 1 x Reed Relay (يعمل كجهاز استشعار للنافذة)
  • 1 × مستشعر درجة حرارة DHT

المحركات

  • 1 × محرك تيار مستمر (استخدمنا محرك فرشاة معدنية بدون قلب ، ولكن أي محرك يناسب غلاف منشط الباب المطبوع ثلاثي الأبعاد سيفي بالغرض)
  • 1 × محرك سيرفو (من المحتمل أن يكون أي حجم مناسبًا ، ولكن تأكد من استخدام محرك قوي بما يكفي لقلب المفتاح المطلوب)

قطع الليزر

1 × صندوق منفذ ذكي

أجزاء مطبوعة ثلاثية الأبعاد

1 × غلاف الباب المنشط

هاتف محمول

تم إنشاء هذا البرنامج التعليمي مع وضع هواتف Android في الاعتبار ، وفي الوقت الحالي يبدو أن Integromat لا تدعم أجهزة iOS. لذلك ، لسوء الحظ ، يتطلب هذا التوجيه هاتف Android.

برمجة

  • Arduino IDE (بيئة التطوير المتكاملة - في الأساس محرر كود رائع)

    • تحميل منتداك في IDE لسهولة التحميل
    • انظر الرسومات المرفقة لجميع المكتبات ذات الصلة
  • منصة تكامل Node-RED

    نستخدم في الغالب عقد الأسهم ، مع استثناءات قليلة - انظر التدفق المرفق لجميع العقد ذات الصلة

  • Integromat.com (موصل خدمة ، يسمح بربط خدمات متعددة معًا - في حالتنا ، وتطبيق Android وخادم Node-RED الخاص بنا)

    استخدمنا الطبقة المجانية ، والتي يجب أن تكون كافية للاستخدام اليومي للمنصة

  • PushBullet.com (خدمة إعلام الدفع)

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

  • نجروك (خدمة الأنفاق الآمنة)

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

  • Mosquitto MQTT Broker

    MQTT هو بروتوكول يستخدم لنقل الرسائل بين أجهزتنا المتصلة و Node-RED. نظرًا لأن Node-RED لا يحتوي على خادم MQTT مدمج ، يتعين علينا استخدام خادم خارجي

الخطوة الأولى: فهم التدفق

Image
Image

راجع الفيديو أعلاه للحصول على عرض توضيحي للنظام. لاحظ أن التدفق العام للنظام (وبعد ذلك يتم إنشاء تدفق Node-RED) كما يلي:

  1. تغادر منزلك
  2. ينفصل هاتفك عن شبكة WiFi في منزلك
  3. Integromat يحصل على كلمة ، ويبلغ Node-RED
  4. يتحقق Node-RED من حالة المستشعرات في منزلك والمفاتيح الموجودة في لوحة القيادة
  5. إذا تم ترك أي شيء أو فتحه ، فإنه يقوم بإعلام PushBullet
  6. يرسل PushBullet إشعارًا إلى هاتفك ، مع رابط Node-RED Dashboard
  7. يمكنك الذهاب إلى لوحة القيادة وإغلاق / إيقاف تشغيل الأشياء ذات الصلة

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

في الممارسة العملية ، لدينا القدرات التالية في هذا المشروع:

  1. حالة النافذة - مفتوحة / مغلقة (يشار إليها من خلال حالة Reed Relay)
  2. حالة الأضواء - تشغيل / إيقاف (يُشار إليها بحالة LDR)
  3. حالة سخان الفضاء - تشغيل / إيقاف (يشار إليه بواسطة مستشعر درجة حرارة DHT)
  4. منشط الباب - مفتوح / مغلق (غلاف ثلاثي الأبعاد مخصص لمحرك DC)
  5. منشط المخرج الذكي - تشغيل / إيقاف (مرحل D1 متصل بشريط طاقة)
  6. التبديل اضغط على المنشط - تشغيل / إيقاف (سيرفو متصل بلوحة)

هذا كافٍ ، في كتابنا ، لإظهار إمكانيات النظام الأساسي. يمكن توسيعه بسهولة (باستخدام Node-RED) لإضافة المزيد من مؤشرات الحالة / المنشطات ، إذا لزم الأمر.

الخطوة 2: نجروك

نجروك
نجروك

ngrok هي خدمة حفر أنفاق. يتيح لنا الكشف عن خدمة تعمل محليًا (في حالتنا ، Node-RED) للعالم الخارجي - دون متاعب إعداد خادم أو التعامل مع سجلات DNS. يمكنك ببساطة تشغيل Node-RED على جهاز الكمبيوتر الخاص بك ، ثم تشغيل ngrok على نفس المنفذ الذي يعمل عليه Node-RED. هذا كل شيء - ستحصل على عنوان URL يمكنك استخدامه للوصول إلى Node-RED من أي مكان في العالم ، بغض النظر عن الشبكة التي تتصل بها.

التثبيت والتكوين

  1. قم بتنزيل ngrok لنظام التشغيل الخاص بك من هنا.
  2. اتبع الخطوة في صفحة التنزيل ، حتى خطوة "Fire it up".
  3. في "Fire it up step" ، استبدل 80 بـ 1880 - كما في./ngrok http 1880 أو ngrok http 1880 ، اعتمادًا على نظام التشغيل الخاص بك.
  4. قم بتدوين عنوان URL لـ http الذي ستراه في سطر الأوامر - سنحتاجه لاحقًا. انظر الى الصورة على سبيل المثال.

الخطوة 3: Node-RED

العقدة الحمراء
العقدة الحمراء
العقدة الحمراء
العقدة الحمراء
العقدة الحمراء
العقدة الحمراء

التثبيت والتكوين

وحدة التحكم المنطقية الرئيسية للمشروع ، Node-RED هي بيئة برمجة مرئية تسمح لك بتوصيل العديد من خدمات البرامج (والأجهزة!) معًا لإنشاء تطبيق موحد. كمكافأة ، فإنه يسمح بإنشاء لوحات معلومات جميلة يمكنها الحصول على معلومات من الخدمات المختلفة وحتى التحكم فيها.

إذا كنت معتادًا على Node-RED ، فما عليك سوى الحصول على تدفقنا من Gist ، وإضافة معرف ngrok الخاص بك من الخطوة 8 أدناه.

إذا لم تكن معتادًا على استخدام Node-RED أو لم يكن مثبتًا لديك ، فاتبع الخطوات التالية لتحميل تدفق Node-RED على جهاز الكمبيوتر المحلي لديك:

  1. تتطلب Node-RED Node.js ، وهي لغة برمجة لها بيئة تطوير خاصة بها. احصل على المثبت ذي الصلة بنظام التشغيل الخاص بك من هنا ، ثم اتبع التعليمات.
  2. يمكنك الآن تثبيت Node-RED نفسها باستخدام الإرشادات الموجودة هنا. يرجى ملاحظة الموقع الذي تم تثبيت Node-RED فيه ، حيث ستحتاج إليه في الخطوة التالية.
  3. الآن بعد أن قمت بتثبيت Node-RED ، قم بتشغيله باستخدام الإرشادات الموجودة في الخطوة أعلاه وتحقق من صحة أنه يمكنك رؤية صفحة قماشية فارغة. يجب أن يكون موجودًا في
  4. ستحتاج الآن إلى تثبيت بعض العقد الإضافية (وهو ما تسميه Node-RED ملحقاتها أو وحداتها) المستخدمة في هذا المشروع. يُرجى اتباع التعليمات الواردة هنا وهنا وتثبيت كلتا الوحدتين.
  5. الآن بعد أن تم تثبيت العقد ، أعد تشغيل خادم node-red (ببساطة قتل الخدمة وإعادة تشغيلها من شأنه أن يؤدي إلى الحيلة). يجب أن يكون لديك الآن كلا العقدتين متاحتين في التدفق الخاص بك.
  6. قم بتنزيل تدفق Node-RED لهذا المشروع من هنا ، واتبع الإرشادات هنا لاستيراده إلى تثبيت Node-RED الخاص بك.
  7. تأكد من أنه يمكنك رؤية صورة التدفق كما تظهر أعلاه في شاشتك.
  8. تذكر عنوان URL لـ ngrok من الخطوة الأخيرة؟ أدخله في عقدة Build Push Notification. سيسمح لنا ذلك برؤية رابط مباشر للوحة القيادة (التي تعمل على أجهزتنا المحلية) في أي جهاز نستخدمه لتلقي الإشعارات.

شرح التدفق

لاحظ أن التدفق ينقسم إلى جزأين - الجزء العلوي هو المنطق الرئيسي ، والجزء السفلي هو منطق المكون.

يعتني المنطق الرئيسي بمعرفة ما إذا كنت قد غادرت المنزل (من خلال تلقي طلب GET من Integromat في عقدة Integromat WiFi اترك نقطة النهاية) ، وإرسال استجابة ناجحة (لذلك لا يتعطل Integromat ، داخل Send Success Message To Integromat) ، ثم قم بإجراء فحص لجميع المستشعرات والمنشطات للتحقق من حالتها الحالية (يحدث هذا داخل عقدة وظيفة Build Push Notification ، باستخدام مخزن السياق العام للحصول على المعلومات). إذا اكتشف هذا الفحص أن شيئًا ما قيد التشغيل أو مفتوح ، فإنه يقوم بتشغيل إشعار دفع PushBullet (في أعلى عقدة إرسال إعلام دفع). تهتم عقدة Send Push Notification الأدنى بإرسال إشعارات الدفع المتأخرة (بالنسبة لسخان الفضاء - انظر خطوتها للحصول على مزيد من المعلومات حول المنطق الكامن وراءها). لاحظ أن هناك أيضًا عقدة تصحيح أخطاء (تسمى Get Request) تسجل جميع الطلبات الواردة ، حتى نتمكن من اكتشاف أي مشكلة على جانب Integromat من السياج.

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

Activator Flows (Switch Press / Door / Smart Outlet) - هذه هي التدفقات التي تحتاج إلى تحديث لوحة البيانات بعد قلب مفتاح في لوحة القيادة + تشغيل بعض النشاط في العالم الحقيقي. على وجه التحديد ، ينتظر كلاهما حدوث إجراء على لوحة القيادة (في عقد التبديل) ، ثم يقلب الحالة داخل عقد وظيفة State Logic ، ويقوم بتحديث لوحة القيادة وفقًا للمفتاح المقلوب (قم بتشغيل / إيقاف تشغيل مؤشر LED في حالة عقد LED ، وتغيير النص في عقد مؤشر الحالة). بالإضافة إلى ذلك ، بعد قلب المفتاح ، يتم إرسال رسالة MQTT إلى وحدات تحكم WeMos التي تتحكم في المنشطات (باستخدام عقد MQTT-out Activator) لإنشاء إجراء في العالم المادي (مثل فتح / إغلاق الباب أو قتل / تمكين Smart مخرج).

تدفقات المستشعر (الضوء / النافذة / سخان الفضاء) - هذه هي التدفقات التي تحتاج إلى تحديث لوحة القيادة بعد وصول رسالة جهاز استشعار عبر MQTT. على وجه التحديد ، كلاهما ينتظر وصول رسالة MQTT (باستخدام عقد الاستشعار MQTT-in) ، ثم يوزع المعلومات ويقلب الحالة داخل عقد وظيفة منطق الحالة. بعد ذلك ، يقومون بتحديث لوحة القيادة وفقًا للرسالة الواردة (قم بتشغيل / إيقاف تشغيل مؤشر LED في عُقد LED الخاصة بالحالة ، وتغيير النص في عقد مؤشر الحالة).

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

ملاحظة: يوجد في Node-RED "وضعان": لوحة الرسم وواجهة المستخدم. Canvas هي المكان الذي تنشئ فيه العُقد وتحررها (يكون في https://127.0.0.1:1880 أو https://YOUR_NGROK_ID.ngrok.io) وواجهة المستخدم هي المكان الذي ترى فيه لوحات التحكم (وهي في https://127.0.0.1: 1880 / ui أو

الخطوة 4: التكامل

التكامل
التكامل
التكامل
التكامل
التكامل
التكامل

اشتراك

Integromat ، التي توصف بأنها "غراء الإنترنت" ، هي خدمة تربط أجزاء مختلفة من البرامج معًا بطرق مثيرة للاهتمام. في حالتنا ، نستخدم تطبيق Android الخاص به للتحقق من انقطاع الاتصال بشبكة WiFi في منزلك ، ثم تشغيل طلب HTTP إلى خادم Node-Red. سيؤدي هذا الطلب إلى تشغيل التدفق بالكامل الموضح في الخطوة السابقة.

  1. قم بالتسجيل للحصول على حساب Integromat هنا.
  2. قم بتنزيل تطبيق Android من هنا.
  3. في وحدة تحكم الويب Integromat (يجب أن تراها بمجرد تسجيلك في Integromat) ، افتح علامة تبويب الأجهزة على الجانب الأيسر ، في المنتصف.
  4. أضف جهازك بالنقر فوق "إضافة جهاز" في الجزء العلوي الأيمن واتباع الخطوات الموضحة.
  5. بعد الانتهاء من ترخيص التطبيق باستخدام وحدة تحكم الويب ، افتحه وانتقل إلى الإعدادات في أسفل اليمين.
  6. انقر فوق WiFi ، ثم حدد (تحت الأحداث) مربع حدث تم قطع اتصال WiFi. سيسمح هذا للتطبيق بمعرفة وقت قطع اتصال هاتفك بشبكة WiFi.

إنشاء السيناريو الخاص بنا

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

  1. انظر الصورة أعلاه لوصف السيناريو.
  2. قم بإنشاء كل من العقد ("الفقاعات") بالنقر فوق علامة "+" السفلية بالقرب من المفضلة ، وإضافة العقد الثلاثة المطلوبة - Android (WiFi Disconnection) و JSON (إنشاء JSON) و HTTP (تقديم طلب).
  3. قم بتوصيل عقدة Android بعقدة JSON ، وعقدة JSON بعقدة
  4. قم بتكوين المرشح بين عقدتي Android و JSON وفقًا للصورة أعلاه.
  5. قم بتكوين كل عقدة وفقًا للصور أعلاه. لاحظ استخدام عنوان URL الخاص بـ ngrok الذي تم إنشاؤه في الخطوة السابقة لعقدة HTTP. إذا كان عنوان URL الخاص بـ ngrok هو https://ac72hs.ngrok.io ، فإن معرف ngrok هو ac72hs.

الخطوة 5: البعوض

البعوض
البعوض

نظرًا لأن Node-RED ليس لديها وسيط MQTT خاص بها ، وسنحتاج إلى التواصل مع أجهزة الاستشعار والمنشطات لدينا عبر MQTT ، سنستخدم وسيط MQTT مخصصًا. نظرًا لأن Node-RED توصي بـ Mosquitto ، فهذا هو ما سنستخدمه. انظر هنا للحصول على بعض المعلومات حول MQTT ولماذا يتم استخدامه غالبًا في مشروع إنترنت الأشياء.

التثبيت والتكوين

  1. قم بتنزيل Mosquitto من هنا وقم بتثبيته ، كل ذلك وفقًا لنظام التشغيل الخاص بك.
  2. عادة ، ستحتاج إلى اتباع التعليمات الواردة هنا لتوصيل Node-RED بـ Mosquitto. ومع ذلك ، إذا استخدمت التدفق الخاص بنا ، فسيتم تكوينه مسبقًا من أجلك. طالما قمت بتثبيت التدفق و Mosquitrro بشكل صحيح ، ويعمل Mosquitto على المنفذ 1883 (الذي يعمل عليه افتراضيًا) ، يجب أن يعمل خارج الصندوق.
  3. لاحظ أن هذا يعني أن وسيط MQTT وخادم Node-RED يعملان على نفس الجهاز. هذا مفيد لتبسيط الاتصال داخل النظام. انظر الملاحظة أدناه لمزيد من المعلومات.

ملاحظة حول الشبكات المحلية

لكي تعمل أجهزتك بشكل صحيح مع Node-RED ، فأنت بحاجة إلى وصولها إلى الوسيط. بينما يمكننا تحديد وكيل واستخدامه للتواصل مع Mosquitto ، لتجنب المضاعفات ، نقترح حلاً بسيطًا: تأكد من أن جهاز الكمبيوتر الخاص بك (الذي يعمل بنظام Node-RED و Mosquitto) وأن لوحات ESP8266 متصلة بنفس شبكة WiFi. بهذه الطريقة يمكن لأجهزتك التواصل مع الوسيط الخاص بك مباشرة ، دون أي وسيط.

قد يتساءل المرء لماذا لا نستخدم ngrok لهذا ، بنفس الطريقة التي نستخدمها لتصفح لوحة القيادة من جهاز آخر. الجواب البسيط هو أنه يمكنك - لكن ngrok يقتصر (في الإصدار المجاني) على نفق واحد من كل مستخدم. هذا يعني أنه يمكنك فقط فتح منفذ واحد للعالم الخارجي ، والذي يستخدم في حالتنا لفضح Node-RED. لذلك ، بدلاً من ذلك ، نستخدم الشبكات المحلية لتجاوز هذا.

هذا يعني أنه في كل رسم ، ستحتاج إلى تعديل عنوان IP الخاص بالوسيط ليناسب عنوان IP لجهاز الكمبيوتر الخاص بك على الشبكة المحلية. يمكن الوصول إلى هذا العنوان عن طريق تشغيل ipconfig (على نظام Windows) و ifconfig (على نظام Mac / Linux) والبحث عن واجهة WiFi ذات الصلة. يجب أن يتم إدراجه تحت عنوان إنت.

ومع ذلك ، قد لا تزال تواجه بعض مشكلات MQTT على طول الطريق. لهذا الغرض ، من المفيد مراقبة جميع حركة مرور MQTT الواردة والصادرة.

مراقبة حركة المرور MQTT

بينما يوفر Mosquitto هذه الوظيفة خارج الصندوق باستخدام mosuitto_sub ، بالنسبة للأشخاص الأكثر توجهاً نحو واجهة المستخدم الرسومية ، قد يكون استخدام العميل بواجهة رسومية أسهل. MQTTfx هي أداة رائعة استخدمناها على نطاق واسع طوال العمل في هذا المشروع ، ونحن نوصي بها من أعماق قلوبنا. شكرًا لك Jens Deters على هذه الأداة الرائعة!

الخطوة 6: Pushbullet

Pushbullet
Pushbullet
Pushbullet
Pushbullet

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

التسجيل والتكوين

  1. قم بالتسجيل للحصول على حساب Pushbullet هنا باستخدام حساب Google الخاص بك.
  2. قم بتنزيل تطبيق Pushbullet Android من هنا.
  3. بعد تسجيل الدخول إلى Pusbullet ، انقر هنا وأضف جهازك باستخدام الزر الموجود على اليسار.
  4. ثم اذهب هنا وحدد إنشاء رمز وصول. قم بتدوين هذا الرمز المميز ، وسنحتاج إليه في الخطوة التالية.
  5. انتقل إلى Node-RED ، وانقر فوق عقدة Send Push Notification.
  6. في الشريط الجانبي (انظر الصورة) حدد "تكوين PushBullet" ، ثم رمز القلم الرصاص.
  7. أضف رمز الوصول من الخطوة 4 إلى حقل "مفتاح واجهة برمجة التطبيقات".
  8. يجب أن تكون الآن قادرًا على تلقي إشعارات الدفع على هاتفك.

الخطوة 7: Arduino IDE

اردوينو IDE
اردوينو IDE

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

التثبيت والتكوين

  1. اتبع الدليل هنا لتثبيت Arduino IDE.
  2. اتبع الدليل هنا لتثبيت "برامج التشغيل" ذات الصلة للوحات ESP8266 على Arduino IDE.
  3. تأكد من أنك تستخدم كبل USB مناسبًا (ليس كبل طاقة ، كابل بيانات) عند تحميل الرسومات (ملفات.ino) إلى اللوحات الخاصة بك.

تحميل الرسومات على اللوحات

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

  1. قم بتوصيل اللوحة بجهاز الكمبيوتر الخاص بك باستخدام كابل USB.
  2. افتح Arudiono IDE.
  3. افتح الرسم الذي قمت بتنزيله للخطوة ذات الصلة.
  4. في قائمة "الأدوات" ، حدد اللوحة ذات الصلة ضمن خيار "اللوحة".
  5. في نفس القائمة ، تأكد من أن خيار "المنفذ" يحدد المنفذ الذي تتصل به اللوحة الخاصة بك. يجب أن يفعل ذلك بشكل افتراضي ، ولكن إن لم يكن فقط تأكد من أنه يفعل ذلك. إذا لم تكن متأكدًا من أي منفذ على جهاز الكمبيوتر الخاص بك ، فراجع الخطوة التالية.
  6. قم بتحميل الرسم على اللوحة بالنقر فوق زر السهم في أعلى يمين الشاشة (بجوار أيقونة علامة الاختيار). سيؤدي هذا إلى تجميع ومحاولة تحميل الرسم التخطيطي على اللوحة.
  7. إذا فشلت الخطوة التالية ، فحاول تحديد منفذ آخر أو لوحة أخرى في قائمة الأدوات.
  8. إذا كنت لا تزال عالقًا ، فحاول إلقاء نظرة على إجابة Quora هذه لخطوات المتابعة.

الخطوة 8: لوحة القيادة

لوحة القيادة
لوحة القيادة

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

الخطوة 9: مستشعر الضوء

مستشعر الضوء
مستشعر الضوء
مستشعر الضوء
مستشعر الضوء
مستشعر الضوء
مستشعر الضوء

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

Assmebly + التكوين

  1. قم بتوصيل الدائرة وفقًا لمخطط فريتزينج المتضمن.
  2. افتح الرسم ، وقم بتغيير المتغيرات التالية:

    • mqtt_server - عنوان IP المحلي لجهاز الكمبيوتر الخاص بك (مثل Mosquitto قيد التشغيل ، وسيط MQTT)
    • ssid - اسم شبكة WiFi التي يتصل بها الكمبيوتر ، وتريد أن يكون منتداك متصلاً بها
    • كلمة المرور - كلمة مرور شبكة WiFi المذكورة
  3. قم بتحميل الرسم المضمن على لوحك.
  4. اختبرها على لوحة القيادة!

لوحة القيادة انظر إلى مؤشر LED الخاص بعلامة التبويب "Light" - سيشير إلى ما إذا كان المصباح قيد التشغيل أو مطفأ.

الخطوة 10: Smart Outlet Activator

منشط المخرج الذكي
منشط المخرج الذكي
منشط المخرج الذكي
منشط المخرج الذكي
منشط المخرج الذكي
منشط المخرج الذكي

يأخذ Smart Outlet شريط طاقة عاديًا (بسلك تمديد بطول مناسب) ويحوله إلى كائن ذكي - أي مرحل يدعم WiFi يعتني بتشغيله وإيقافه بنقرة زر من Node-RED لوحة القيادة. بهذه الطريقة ، إذا نسيت إيقاف تشغيل شيء موصول بالمأخذ ، فستتمكن من إيقاف تشغيله يدويًا!

التجميع + التكوين

  1. قطع سلك الطاقة في المنتصف ، وقم بفصل الأسلاك.
  2. أدخل الأسلاك المجردة في طرف المسمار وفقًا لمخطط فريتزينج.
  3. افتح الرسم ، وقم بتغيير المتغيرات التالية:
  4. mqtt_server - عنوان IP المحلي لجهاز الكمبيوتر الخاص بك (مثل Mosquitto قيد التشغيل ، وسيط MQTT)
  5. ssid - اسم شبكة WiFi التي يتصل بها الكمبيوتر ، وتريد أن يكون منتداك متصلاً بها
  6. كلمة المرور - كلمة مرور شبكة WiFi المذكورة
  7. قم بتحميل الرسم على السبورة.
  8. قم بتوصيل درع الترحيل باللوحة.
  9. قم بتجميع الدائرة وفقًا لمخطط فريتزينج.
  10. اختبرها على لوحة القيادة!

نقاط المكافأة - الغلاف

  1. إذا استطعت ، قم بقص الغلاف بالليزر باستخدام صورة SmartOutletCasing المرفقة. إذا كانت قواطع الليزر منخفضة ، خذ صندوقًا من الورق المقوى ، والصق الصورة على جانب واحد منه ، وقم بقص القطع.
  2. اقطع فتحتين في جانب الصندوق ، وانزلق في شريط الطاقة كما في الصورة المرفقة.
  3. اربط أطراف الشريط داخل الصندوق ، لضمان عدم سحب الدائرة من خلال الفتحات.

لوحة القيادة

انظر إلى مؤشر LED الخاص بعلامة التبويب "Smart Outlet" - سيشير إلى ما إذا كان Smart Outlet قيد التشغيل أو الإيقاف. بالإضافة إلى ذلك ، انقر فوق مفتاح التشغيل وإيقاف التشغيل من أجل المتعة والربح!

الخطوة 11: تنشيط الباب

منشط الباب
منشط الباب
منشط الباب
منشط الباب
منشط الباب
منشط الباب

تقوم هذه الآلية اللطيفة بتدوير المفتاح للخلف وللأمام ، مما يتيح لنا قفل الباب وفتحه. على وجه التحديد ، إذا تركت بابك مفتوحًا عندما غادرت منزلك ، فيمكنك قفله عن بُعد!:)

التجميع + التكوين

  1. افتح الرسم ، وقم بتغيير المتغيرات التالية:
  2. mqtt_server - عنوان IP المحلي لجهاز الكمبيوتر الخاص بك (مثل Mosquitto قيد التشغيل ، وسيط MQTT)
  3. ssid - اسم شبكة WiFi التي يتصل بها الكمبيوتر ، وتريد أن يكون منتداك متصلاً بها
  4. كلمة المرور - كلمة مرور شبكة WiFi المذكورة
  5. قم بتحميل الرسم التخطيطي على لوحة ESP8266.
  6. قم بتجميع الدائرة وفقًا للتخطيط. لاحظ أننا استخدمنا مصدر طاقة خارجيًا للتحكم في محرك التيار المستمر (القوي نسبيًا). هذا يتطلب L298-N HBridge ومصدر طاقة خارجي. لم نكن بحاجة إلى أي لحام نظرًا لأن كل من مقبس البرميل الأنثوي و HBridge يحتويان على أطراف لولبية لطيفة يمكننا استخدامها - قمنا بتجريد أحد طرفي بعض كبلات العبور من أجل تلك التوصيلات. قد فهم في سلام.
  7. اختبرها على لوحة القيادة!

نقاط المكافأة - الغلاف

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

لوحة القيادة انظر إلى مؤشر LED الخاص بعلامة التبويب "الباب" - سيشير إلى ما إذا كان الباب مفتوحًا أم مغلقًا. بالإضافة إلى ذلك ، انقر فوق مفتاح التشغيل وإيقاف التشغيل من أجل المتعة والربح!

الخطوة 12: مستشعر النافذة

مستشعر النافذة
مستشعر النافذة
مستشعر النافذة
مستشعر النافذة
مستشعر النافذة
مستشعر النافذة

لا تدع القط يخرج! يستخدم هذا المستشعر Reed Relay للتحقق مما إذا كانت النافذة مفتوحة أم مغلقة. لاحظ أننا اخترنا نافذة فقط من أجل المثال - يمكن استخدامها للعديد من الأشياء الأخرى ، بما في ذلك التحقق مما إذا كان الباب مفتوحًا أم لا ، بما في ذلك أبواب المنزل والغرفة والثلاجة.

التجميع والتكوين

  1. قم بتجميع الدائرة وفقًا لمخطط فريتزينج أعلاه.
  2. افتح الرسم ، وقم بتغيير المتغيرات التالية:
  3. mqtt_server - عنوان IP المحلي لجهاز الكمبيوتر الخاص بك (مثل Mosquitto قيد التشغيل ، وسيط MQTT)
  4. ssid - اسم شبكة WiFi التي يتصل بها الكمبيوتر ، وتريد أن يكون منتداك متصلاً بها
  5. كلمة المرور - كلمة مرور شبكة WiFi المذكورة
  6. تحميل الرسم الخاص بك على السبورة.
  7. قم بتوصيل جزء من Reed Relay بعتبة النافذة ، وجزء آخر بالنافذة نفسها (أو أيا كان الفتح الذي قررت إرفاق المستشعر به).
  8. اختبر على لوحة القيادة!

لوحة القيادة

انظر إلى مؤشر LED الخاص بعلامة التبويب "Window" - سيشير إلى ما إذا كانت النافذة مفتوحة أم مغلقة.

الخطوة 13: مستشعر سخان الفضاء

مستشعر سخان الفضاء
مستشعر سخان الفضاء
مستشعر سخان الفضاء
مستشعر سخان الفضاء
مستشعر سخان الفضاء
مستشعر سخان الفضاء

ترك سخان الفضاء قيد التشغيل هو خطر حريق مضمون! ابق آمنًا وراقب سخان الفضاء الخاص بك من بعيد ، باستخدام هذه الدائرة. على وجه التحديد ، يراقب مستشعر الحرارة الموجود على الدائرة الحرارة لفترة طويلة من الوقت - يتم ترميزها لمدة 5 دقائق بشكل افتراضي - ولا يزال يتصاعد بعد تلك الفترة الزمنية ، يقلب مؤشر LED في لوحة القيادة. يتم ذلك لمنع تبديد الحرارة (مثل بعد إيقاف تشغيل سخان الفضاء) من تشغيل LED في حادث.

التجميع والتكوين

  1. قم بتجميع الدائرة وفقًا لمخطط فريتزينج المرفق.
  2. افتح الرسم ، وقم بتغيير المتغيرات التالية:
  3. mqtt_server - عنوان IP المحلي لجهاز الكمبيوتر الخاص بك (مثل Mosquitto قيد التشغيل ، وسيط MQTT)
  4. ssid - اسم شبكة WiFi التي يتصل بها الكمبيوتر ، وتريد أن يكون منتداك متصلاً بها
  5. كلمة المرور - كلمة المرور لشبكة WiFi المذكورة
  6. قم بتحميل الرسم المرفق إلى لوحك.
  7. ضع بالقرب من سخان الفضاء ، وانتظر لمدة 5 دقائق وتحقق من لوحة القيادة!

لوحة القيادة

انظر إلى مؤشر LED الخاص بعلامة التبويب "Space Heater" - سيشير إلى ما إذا كان المدفأة قيد التشغيل أو الإيقاف.

الخطوة 14: التبديل اضغط على المنشط

مفتاح اضغط على المنشط
مفتاح اضغط على المنشط
مفتاح اضغط على المنشط
مفتاح اضغط على المنشط

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

التجميع والتكوين

  1. افتح الرسم ، وقم بتغيير المتغيرات التالية:
  2. mqtt_server - عنوان IP المحلي لجهاز الكمبيوتر الخاص بك (مثل Mosquitto قيد التشغيل ، وسيط MQTT)
  3. ssid - اسم شبكة WiFi التي يتصل بها الكمبيوتر ، وتريد أن يكون منتداك متصلاً بها
  4. كلمة المرور - كلمة مرور شبكة WiFi المذكورة
  5. تحميل الرسم على لوحك.
  6. قم بتجميع الدائرة وفقًا لمخطط فريتزينج.
  7. قم بتوصيل المؤازرة بالمفتاح ذي الصلة باستخدام الغراء الساخن أو الغلاف المناسب الذي صنعته بنفسك. أرسل لنا صورة إذا قمت بعمل واحدة!
  8. اختبر لوحة القيادة!

لوحة القيادة

انظر إلى مؤشر LED الخاص بعلامة التبويب "الضغط على مفتاح التبديل" - سيشير إلى ما إذا كان الضغط على المفتاح قيد التشغيل أو الإيقاف. بالإضافة إلى ذلك ، انقر فوق مفتاح التشغيل وإيقاف التشغيل من أجل المتعة والربح!

موصى به: