جدول المحتويات:
- الخطوة 1: ما هو MQTT؟
- الخطوة الثانية: تثبيت MQTT Broker على Raspberry Pi
- الخطوة 3: قم بتوصيل IOT Cricket بـ RaspberryPi عبر MQTT
- الخطوة 4: فحص رسائل MQTT
- الخطوة 5: الملخص
- الخطوة 6: عنا
فيديو: نظام أتمتة المنزل WiFi منخفض الطاقة للغاية: 6 خطوات (بالصور)
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:35
نوضح في هذا المشروع كيف يمكنك بناء نظام محلي أساسي لأتمتة المنزل في بضع خطوات. سنستخدم Raspberry Pi الذي سيعمل كجهاز WiFi مركزي. بينما بالنسبة للعقد النهائية ، سنستخدم IOT Cricket لإنشاء أجهزة WiFi تعمل بالبطارية على سبيل المثال مستشعر درجة الحرارة وتوصيله بـ RPi دون كتابة سطر واحد من التعليمات البرمجية.
سيعتمد نظامنا على بروتوكول الاتصال MQTT ، والذي تم اعتماده بشكل كبير في معظم أنظمة التشغيل الآلي للمنزل. لإعداده ، اخترنا Mosquitto MQTT broker (الخادم) وقم بتثبيته على Raspberry Pi (محورنا المركزي).
يأتي IOT Cricket أيضًا مع دعم بروتوكولات HTTP (S) و MQTT. نقوم بتكوينه لاستخدام MQTT للتواصل مباشرة مع وسيط RPi MQTT الخاص بنا.
يمكن تحقيق هذا المشروع من قبل صناع على جميع مستويات المهارة. قد يتطلب بعض اللحام الأساسي ولكنه لا يتطلب أي تشفير أو برمجة. في نهاية هذا المشروع ، ستحصل على فكرة قوية عن كيفية بناء النظام الخاص بك بسهولة وتوسيع نطاقه بسرعة عن طريق إضافة عقد IOT الخاصة بك إلى النظام.
اللوازم:
- Raspberry Pi (استخدمنا الإصدار 3 لهذا المشروع)
- وحدة IOT Cricket WiFi
- حامل بطارية 2xAAA
- 2 بطاريات AAAA
الخطوة 1: ما هو MQTT؟
يوفر بروتوكول MQTT طريقة خفيفة الوزن لتنفيذ المراسلة باستخدام نموذج النشر / الاشتراك. وهذا يجعلها مناسبة لمراسلة إنترنت الأشياء مثل أجهزة الاستشعار منخفضة الطاقة أو الأجهزة المحمولة مثل الهواتف أو أجهزة الكمبيوتر المضمنة أو وحدات التحكم الدقيقة. (المصدر: mosquitto.org)
يمكننا استخدام العديد من الأجهزة كما نريد للاشتراك في الموضوعات والاستماع إلى وصول الرسائل. إذا قام بعض الأجهزة (الأجهزة) بنشر رسالة حول هذا الموضوع ، فإن جميع الأجهزة المشتركة في الموضوع ، تتلقى هذه الرسالة على الفور. يمكن أن يكون الموضوع عبارة عن أي سلسلة عشوائية يتم ربطها عادةً بالأحرف / للسماح ببناء موضوعات هرمية. الاستخدام الأكثر شيوعًا لـ MQTT هو أن يكون لديك خادم مركزي واحد يمكن للأجهزة الاشتراك فيه ونشر الرسائل. يسهل جميع الاتصالات بين الأجهزة المتصلة بهذا الخادم. في هذا المشروع ، سوف نستخدم RPi للعمل كوسيط MQTT مركزي لدينا وستقوم جميع الأجهزة الأخرى بإرسال الرسائل عبر هذا الوسيط. من الواضح أن أفضل طريقة للتعرف عليها هي القيام بذلك بأنفسنا. هناك الكثير من الموارد المتاحة على الإنترنت على MQTT. ومع ذلك ، بالنسبة لهذا المشروع ، يجب أن تكون على ما يرام مع المقدمة الأساسية ، التي قدمناها أعلاه.
الخطوة الثانية: تثبيت MQTT Broker على Raspberry Pi
لهذا المشروع نستخدم وسيط مفتوح المصدر Mosquitto MQTT. إنه خفيف الوزن ومناسب للاستخدام على جميع الأجهزة من أجهزة الكمبيوتر ذات اللوحة الواحدة منخفضة الطاقة إلى الخوادم الكاملة.
قبل أن نبدأ في التثبيت ، من الجيد تحديث مكونات النظام أولاً:
sudo apt-get update $ sudo apt-get Upgrade
قم بتثبيت Mosquitto broker. افتح Terminal واكتب الأمر التالي:
sudo apt-get install mosquitto -y. $ سودو apt-get install mosquitto -y
تكوين وسيط Mosquitto. تحرير ملف التكوين:
sudo vi /etc/mosquitto/mosquitto.conf
وأضف الأسطر التالية في الأعلى:
المنفذ 1883 - مجهول صحيح
أعد تشغيل RPi لتطبيق التغييرات:
sudo إعادة التشغيل
هذا كل شيء! وسيط MQTT يعمل الآن!
ملاحظة: من أجل بساطة هذا المشروع ، لا نقوم بإنشاء حسابات. لذلك يمكن لأي شخص داخل شبكتنا المحلية الاتصال بهذا الوسيط MQTT بدون بيانات اعتماد. إذا كنت ترغب في إضافة مصادقة المستخدم وجعلها أكثر أمانًا ، فهناك الكثير من البرامج التعليمية على الإنترنت حول كيفية القيام بذلك.
الآن ، نحتاج فقط إلى الحصول على عنوان IP حتى نتمكن من إرسال رسائل إلى وسيط Mosquitto من الأجهزة الأخرى في الشبكة:
حصول على عنوان IP:
اسم المضيف -أنا
your_RPi_IP_address (مثل 192.168.1.10)
الخطوة 3: قم بتوصيل IOT Cricket بـ RaspberryPi عبر MQTT
في هذا المشروع ، نستخدم وحدة IOT Cricket WiFi لمستشعر بسيط لإبلاغ نظامنا بدرجة حرارة كل 30 ثانية. ستعمل على بطارية حتى نتمكن من لصقها في أي مكان في المنزل أو في الحديقة. في وقت لاحق ، يمكنك استخدام IOT Cricket لبناء العديد من أجهزة الاستشعار التي تعمل بالبطارية وأجهزة الإنذار والأزرار والمفاتيح وتوصيلها أيضًا بوساطة RPi MQTT الخاصة بنا.
في الخطوة الأولى ، قم بتوصيل البطاريات بالكريكيت.
تأتي لعبة الكريكيت مع مستشعر درجة حرارة مدمج. نحتاج فقط إلى تكوينه لإرسال قيمة درجة الحرارة إلى وسيط MQTT الخاص بنا عن طريق تعيين عنوان RPi IP. من أجل القيام بذلك ، افتح لوحة تكوين Cricket (انظر الخطوات هنا) وقم بتطبيق الإعدادات التالية (كما هو موضح في الصورة أدناه ، من فضلك اضبط عنوان IP في مربع "url" على RPi الخاص بك)
الآن يمكننا الخروج من وضع التكوين الجهاز جاهز! تقوم Cricket بالفعل بإرسال البيانات إلى وسيط MQTT الخاص بنا كل 30 ثانية.
الخطوة 4: فحص رسائل MQTT
لعرض / استقبال الرسائل المرسلة إلى وسيط MQTT الخاص بنا ، يمكننا استخدام أدوات مختلفة.
أسهل طريقة قد تكون أداة سطر أوامر mosquitto_sub. يمكننا تثبيته إما على أي جهاز كمبيوتر في شبكتنا أو على RPi الخاص بنا باستخدام هذا الأمر:
sudo apt-get install mosquitto-clients -y. $ sudo apt-get install mosquitto-customers -y.msc
يمكننا الآن تنفيذ الأمر التالي للاستماع إلى جميع الموضوعات والرسائل المرسلة عبر وسيط MQTT الخاص بنا:
$ mosquitto_sub -v -h your_RPi_IP_address -p 1883 -t '#'
… / 59A98F494C / DEVICE_NAME MyTemperatureDev / 59A98F494C / device_sn 59A98F494C / 59A98F494C / hwc_wake_up 3794 / 59A98F494C / hwc_wifi_enabled 3763 / 59A98F494C / hwc_message_sent 3664 / 59A98F494C / درجة الحرارة 26.0 / 59A98F494C / io1_wake_up 0 / 59A98F494C / rtc_wake_up 1 …
ما سبق هو مثال ناتج لما يرسله IOT Cricket إلى وسيطنا. من بين البيانات الأخرى التي يمكننا رؤيتها هناك درجة حرارة:
/ 59A98F494C / درجة الحرارة 26.0
يكمن جمال MQTT في أنه يسمح لنا بالاشتراك في الموضوعات التي تهمنا فقط. إذا أردنا الحصول على درجة حرارة فقط ، فيمكننا الاشتراك في / 59A98F494C / موضوع مؤقت باستخدام الأمر التالي:
$ mosquitto_sub -h your_RPi_IP_address -t '/ 59A98F494C / temp'
…26.126.527.227.6…
الخطوة 5: الملخص
لقد أظهرنا في هذا المشروع أجهزة وبرامج أساسية لبدء بناء أنظمة منخفضة الطاقة وموفرة للطاقة وأتمتة منزلية تعتمد على شبكة WiFi. MQTT هو الجوهر الذي يجب البناء عليه لأنظمة أكثر تطوراً.
النظام البيئي للبرامج والخدمات التي يمكن دمجها مع MQTT ضخم! هناك الكثير من الأنظمة الرائعة مثل Home Assistant و Node RED و Grafana وما إلى ذلك لتتيح لك تجربة مستخدم رائعة لنظامك الخاص. لا يمكننا فقط إجراء نسخ مطبوعة بسيطة لدرجة الحرارة ، ولكن يمكننا الحصول على لوحات معلومات رائعة تصور البيانات وإدارة أجهزتك.
الآن بما أن لدينا هذه البنية الأساسية للنظام الأساسي ، فإن السماء هي حدودنا لأجهزة WiFi الأخرى التي يمكننا إنشاؤها باستخدام وحدات IOT Cricket وإضافتها إلى نظام التشغيل الآلي للمنزل.
شكرا على الصعود الى هنا. نأمل أن تكون قد استمتعت بهذا البرنامج التعليمي!
فريق الأشياء على الحافة
الخطوة 6: عنا
شركة Things On Edge هي شركة مقرها في كامبريدج بالمملكة المتحدة. نقوم بتصميم وحدة Cricket Wi-Fi ذات البطارية المنخفضة للغاية لتمكنك من توصيل الأجهزة الإلكترونية المختلفة بالهواتف الذكية أو خدمات الإنترنت الأخرى حرفيًا في دقائق. لا يتطلب أي برمجة وترميز. يسمح لك بدمج أجهزتك في خدمات النظام البيئي الضخمة لـ IOT عبر MQTT و HTTP apis.
موصى به:
سهل للغاية منخفض الطاقة BLE في Arduino الجزء 2 - مراقبة درجة الحرارة / الرطوبة - Rev 3: 7 Steps
سهل للغاية منخفض الطاقة BLE في Arduino الجزء 2 - مراقب درجة الحرارة / الرطوبة - المراجعة 3: التحديث: 23 نوفمبر 2020 - أول استبدال لبطاريتين AAA منذ 15 يناير 2019 أي 22 شهرًا لـ 2xAAA Alkaline التحديث: 7 أبريل 2019 - المراجعة 3 من lp_BLE_TempHumidity ، يضيف مخططات التاريخ / الوقت ، باستخدام pfodApp V3.0.362 + ، والاختناق التلقائي للعن
نظام إنذار الدخيل أتمتة المنزل DIY: 5 خطوات (بالصور)
نظام إنذار دخيل أتمتة المنزل DIY!: في هذا المشروع سأوضح لك كيفية استخدام برنامج Home Assistant من أجل إنشاء نظام إنذار دخيل لمنزلك. سيكتشف النظام بشكل أساسي ما إذا كان الباب قد تم فتحه دون إذن ثم يرسل إشعارًا
سهل للغاية منخفض الطاقة BLE في الجزء 3 من Arduino - استبدال Nano V2 - Rev 3: 7 خطوات (مع صور)
سهل للغاية منخفض الطاقة BLE في Arduino الجزء 3 - استبدال Nano V2 - Rev 3: التحديث: 7 أبريل 2019 - Rev 3 من lp_BLE_TempHumidity ، ويضيف مؤامرات التاريخ / الوقت ، باستخدام pfodApp V3.0.362 + ، والاختناق التلقائي عند إرسال البيانات التحديث: 24 مارس 2019 - Rev 2 من lp_BLE_TempHumidity ، ويضيف المزيد من خيارات المؤامرة و i2c_ClearBus ، ويضيف GT832E
جهاز إنذار بغمر القبو منخفض الطاقة للغاية مع ESP8266: 3 خطوات
جهاز إنذار بفيضانات الطابق السفلي ذو الطاقة المنخفضة للغاية مع ESP8266: مرحبًا بكم في أول تعليمات لي. يتم غمر الطابق السفلي من منزلي كل بضع سنوات لأسباب مختلفة مثل العواصف الرعدية الصيفية الشديدة أو ارتفاع المياه الجوفية أو حتى انفجار الأنابيب. على الرغم من أنه ليس مكانًا لطيفًا ، إلا أن التدفئة المركزية الخاصة بي
أتمتة المنزل وتوقع الطاقة: 6 خطوات (بالصور)
أتمتة المنزل وتوقع الطاقة: HAEP (نظام أتمتة المنزل والتنبؤ بالطاقة) هو مشروع حول نظام أتمتة المنزل الذي تم بناؤه حول فكرة قياس وتوقع استهلاك الطاقة في المنزل. لقد مرت عدة سنوات منذ أن خطت أتمتة المنزل