جدول المحتويات:
- الخطوة 1: نظرة عامة على الدائرة
- الخطوة 2: نظرة عامة على نظام البرنامج
- الخطوة 3: نظرة عامة على البرنامج
- الخطوة 4: معايرة المستشعر
- الخطوة 5: اصطلاح تسمية موضوع MQTT
- الخطوة 6: تكوين OpenHAB
- الخطوة السابعة: اختبار التصميم
- الخطوة 8: الخاتمة
- الخطوة 9: المراجع المستخدمة
فيديو: واي فاي IoT درجة الحرارة ومستشعر الرطوبة. الجزء: 8 إنترنت الأشياء ، أتمتة المنزل: 9 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:41
الديباجة
يوثق هذا المقال التعزيز العملي والتطور المستقبلي لجهاز Instructable السابق: "Pimping" أول جهاز WiFi IoT الخاص بك. الجزء 4: إنترنت الأشياء ، أتمتة المنزل بما في ذلك جميع وظائف البرامج الضرورية لتمكين النشر الناجح في بيئة منزلية منزلية.
مقدمة
كما هو مذكور أعلاه ، يصف Instructable الجمع بين مثال سابق لإنترنت الأشياء مع تصميم أنظمة موثوق يسمح بالتعامل الناجح مع حالات الاستخدام العملي مثل ؛ فقدان الطاقة الكارثي ، وفشل MQTT Broker ، وفشل WiFi N / W ، وإعادة تكوين المستشعر عن بُعد ، واستراتيجية إعداد التقارير القابلة للتكوين لتقليل حركة مرور الشبكة ومعايرة المستشعر حسب الطلب.
تم إنشاء ما مجموعه 6 أجهزة (انظر الصورة 1 أعلاه) وتوزيعها حول منزلي لتشكيل أول شبكة استشعار IoT الخاصة بي.
يرى Instructable أيضًا مراجعة اصطلاح تسمية MQTT كما هو مستخدم في سلسلة IoT Home Automation الأولية لإفساح المجال لهيكل عملي أكثر توازناً يسمح بتصحيح أبسط لحركة مرور IoT في بيئة أجهزة IoT متعددة.
فيما يلي تفاصيل التصميم الكاملة لمستشعر إنترنت الأشياء بما في ذلك ؛ البناء ، شفرة المصدر ، استراتيجية الاختبار وتكوينات OpenHAB.
ما الأجزاء التي أحتاجها؟
- 1 قبالة ESP8266-01 ،
- 2 من 1 فائق التوهج المكثفات الالكتروليتية ،
- 3 من 10 كيلو مقاومات ،
- 1 من 330R المقاوم ،
- 1 قبالة 3 مم ديا. قاد،
- 1 من LD1117-33v ، 3v3 LDO VReg. (فارنيل هنا) ،
- 1 off DHT22 مستشعر درجة الحرارة / الرطوبة ،
- 1 قبالة موصل ثنائي 4 اتجاهات 0.1 بوصة ،
- 1 off CAMDENBOSS RX2008 / S-5 حاوية بلاستيكية ، صندوق تخزين ، ABS ، 38 مم ، 23 مم (Farnell هنا) ،
- 1 off DC Power Connector، Plug، 1 A، 2 mm، Panel Mount (Farnell هنا) ،
- 1 off TO-220 المبرد الحراري 24.4 ° C / W (Farnell هنا) ،
- مختلف أنابيب الانكماش الحراري (أصفر ، إيباي هنا) ،
- كابل الشريط IDC بأطوال مختلفة ،
- وعاء تذويب حراري،
- فيروبورد ،
- جهاز البرمجة ESP8266-01. انظر هنا؛ بناء دائري عملي باستخدام لوحة الشريط ، من الخطوة 9 فصاعدًا.
ما هو البرنامج الذي أحتاجه؟
- Arduino IDE 1.6.9
- تم تكوين Arduino IDE لبرمجة ESP8266-01. انظر هنا؛ إعداد Arduino IDE لبرمجة ESP8266-01
ما هي الأدوات التي أحتاجها؟
- لحام حديد،
- حفر وبتات مختلفة ،
- الملفات ،
- منشارا
- نائب قوي ،
- مسدس حرارة،
- DMM.
ما المهارات التي احتاجها؟
- الحد الأدنى من الإلمام بالإلكترونيات ،
- معرفة اردوينو و IDE ،
- مهارات التصنيع البدائية (اللحام ، النشر ، الإيداع ، الحفر ، إلخ) ،
- بعض الصبر
- بعض الفهم لشبكتك المنزلية.
المواضيع التي تمت تغطيتها
- نظرة عامة على الدائرة
- نظرة عامة على نظام البرنامج
- نظرة عامة على البرنامج
- معايرة المستشعر
- اصطلاح تسمية موضوع MQTT
- تكوين OpenHAB
- اختبار التصميم
- استنتاج
- المراجع المستخدمة
روابط السلسلة
إلى الجزء 7: وحدة تحكم أضواء الدراسة (معاد صياغتها). الجزء 7: إنترنت الأشياء ، أتمتة المنزل
إلى الجزء 9: وحدة التحكم الرئيسية لإنترنت الأشياء. الجزء 9: إنترنت الأشياء ، أتمتة المنزل
الخطوة 1: نظرة عامة على الدائرة
توضح الصورة 1 أعلاه تصميم الدائرة الكاملة لمستشعر إنترنت الأشياء.
في قلب جهاز إنترنت الأشياء ، يوجد ESP8266-01 المتصل بمستشعر درجة الحرارة / الرطوبة DHT22 عبر مقاوم سحب 10K إلى GPIO2. يتم الحصول على مصدر خارجي 5 فولت من خلال إمداد الوضع المحول ويتم تغذيته بالجهاز من خلال مقبس تركيب لوحة DC 2 مم ويتم تنظيمه محليًا باستخدام منظم الجهد LDO 1117-33v ، 3v3 LDO المركب على المشتت الحراري الخارجي مع برغي رأس وصمولة BZP M3.
يشتمل التصميم على مصباح LED أحمر 3 مم متصل بـ GPIO0 والذي يستخدم لإعطاء إشارة محلية لحالة جهاز إنترنت الأشياء أثناء بدء التشغيل أو أي حالة خطأ لاحقة. يمكن استخدامه أيضًا لتحديد الجهاز عن طريق التنشيط اليدوي عبر واجهة openHAB.
يتناسب التصميم الكامل بدقة مع صندوق ترصيع ABS كما هو موضح أعلاه في الصورة 2 وقد تم وضعه خصيصًا لضمان أن المستشعر بعيد عن المنظم قدر الإمكان لمنع التحيز بسبب تأثيرات التسخين المحلية (الصورة 7 أعلاه).
لوحة الدوائر عبارة عن قطعة واحدة من لوح الألواح الخشبية ، مقطوعة للشكل ومصنوعة لتلائم العلبة (الصورة 3 أعلاه). تم تثبيت هذا اللوح في موضعه باستخدام برغي نايلون غاطس M3 وصامولتان تتناسبان مع الجانب السفلي من المستشعر ، مما يسمح له بالجلوس على سطح مستو.
الصور 4 … 6 توضح حالات البناء المختلفة.
الخطوة 2: نظرة عامة على نظام البرنامج
يحتوي جهاز استشعار درجة الحرارة والرطوبة IoT على ستة مكونات برمجية رئيسية كما هو موضح في الموافقة المسبقة عن علم 1 أعلاه.
نظام SPIFFS
هذا هو نظام الملفات SPI Flash الموجود على متن الطائرة ويستخدم للاحتفاظ بالمعلومات التالية (انظر الصورة 2 أعلاه) ؛
- الأيقونات والصفحة الرئيسية لتكوين المستشعر html: يتم تقديمها بواسطة جهاز إنترنت الأشياء عندما يتعذر عليه الاتصال بشبكة IoT WiFi الخاصة بك (عادةً بسبب معلومات الأمان غير الصحيحة) وتوفر للمستخدم وسيلة لتكوين المستشعر عن بُعد دون الحاجة لإعادة برمجة أو تحميل محتوى SPIFFS جديد.
- معلومات الأمان: هذا يحتفظ بالمعلومات المستخدمة عند تشغيل جهاز إنترنت الأشياء للاتصال بشبكة IoT WiFi و MQTT Broker. تتم كتابة المعلومات المقدمة عبر "الصفحة الرئيسية لتكوين جهاز الاستشعار" في هذا الملف ("secvals.txt").
- معلومات المعايرة: يتم استخدام المعلومات الواردة في هذا الملف ("calvals.txt") لمعايرة مستشعر درجة الحرارة / الرطوبة على متن الطائرة إذا لزم الأمر. لا يمكن كتابة ثوابت المعايرة إلا على جهاز إنترنت الأشياء عبر أوامر MQTT من وسيط MQTT.
ملاحظة: لإعداد الجهاز مبدئيًا ، انظر هنا للحصول على تفاصيل كاملة حول كيفية استخدام SPIFFS مع Arduino IDE.
خادم mDNS
يتم استدعاء هذه الوظيفة عندما يفشل جهاز IoT في الاتصال بشبكة WiFi الخاصة بك كمحطة WiFi ، وبدلاً من ذلك أصبح نقطة وصول WiFi أقرب إلى جهاز توجيه WiFi محلي. في حالة وجود جهاز توجيه كهذا ، عادةً ما تتصل به عن طريق إدخال عنوان IP الخاص بشيء مثل 192.168.1.1 (يُطبع عادةً على ملصق مُلصق بالمربع) مباشرةً في شريط عنوان URL الخاص بالمتصفح حيث ستتلقى صفحة تسجيل دخول للدخول إليها اسم المستخدم وكلمة المرور للسماح لك بتهيئة الجهاز.
بالنسبة إلى ESP8266 في وضع AP (وضع نقطة الوصول) ، يتم تعيين الجهاز افتراضيًا على عنوان IP 192.168.4.1 ، ولكن مع تشغيل خادم mDNS ، ما عليك سوى إدخال الاسم المألوف للإنسان "SENSORSVR.local" في شريط عنوان URL الخاص بالمستعرض لرؤية "الصفحة الرئيسية لتكوين جهاز الاستشعار".
عميل MQTT
يوفر عميل MQTT جميع الوظائف اللازمة ؛ اتصل بشبكة MQTT لشبكة إنترنت الأشياء الخاصة بك ، واشترك في الموضوعات التي تختارها وانشر الحمولات إلى موضوع معين. باختصار ، يوفر وظائف IoT الأساسية.
خادم ويب
كما هو مذكور أعلاه ، إذا كان جهاز إنترنت الأشياء غير قادر على الاتصال بشبكة WiFi التي تم تعريف SSID و P / W وما إلى ذلك في ملف معلومات الأمان الموجود في SPIFFS ، فسيصبح الجهاز نقطة وصول. بمجرد الاتصال بشبكة WiFi التي توفرها نقطة الوصول ، يتيح لك وجود خادم ويب HTTP الاتصال مباشرة بالجهاز وتغيير تكوينه عبر استخدام متصفح ويب HTTP ، والغرض من ذلك هو تقديم الصفحة الرئيسية لتكوين المستشعر صفحة ويب محفوظة أيضًا في SPIFFS.
محطة واي فاي
تمنح هذه الوظيفة جهاز إنترنت الأشياء القدرة على الاتصال بشبكة WiFi محلية باستخدام المعلمات الموجودة في ملف معلومات الأمان ، وبدون هذا لن يتمكن جهاز إنترنت الأشياء الخاص بك من الاشتراك / النشر إلى MQTT Broker
نقطة وصول WiFi
القدرة على أن تصبح نقطة وصول WiFi هي وسيلة يسمح لك من خلالها جهاز إنترنت الأشياء بالاتصال به وإجراء تغييرات التكوين عبر محطة WiFi ومتصفح (مثل Safari على Apple iPad).
تبث نقطة الوصول هذه SSID = "SENSOR" + آخر 6 أرقام من عنوان MAC لجهاز إنترنت الأشياء. يُطلق على كلمة المرور لهذه الشبكة المغلقة اسم "PASSWORD"
الخطوة 3: نظرة عامة على البرنامج
لتجميع شفرة المصدر هذه بنجاح ، ستحتاج إلى المكتبات الإضافية التالية ؛
PubSubClient.h
- بقلم: نيك أوليري
- الغرض: تمكين الجهاز من نشر أو الاشتراك في موضوعات MQTT مع وسيط معين
- من:
DHT.h
- بقلم: Adafruit
- الغرض: مكتبة لمستشعر درجة الحرارة / الرطوبة DHT
- من:
نظرة عامة على التعليمات البرمجية
يستخدم البرنامج آلة الدولة كما هو موضح في الموافقة المسبقة عن علم 1 أعلاه (نسخة كاملة من المصدر أدناه). هناك 5 ولايات رئيسية على النحو التالي ؛
-
فيه
حالة التهيئة هذه هي الحالة الأولى التي يتم إدخالها بعد التشغيل
-
NOCONFIG
يتم إدخال هذه الحالة إذا تم اكتشاف ملف secvals.txt غير صالح أو مفقود بعد تشغيل الطاقة
-
في انتظار NW
هذه الحالة مؤقتة ، تم إدخالها بينما لا يوجد اتصال بشبكة WiFi
-
معلقة MQTT
هذه الحالة مؤقتة ، يتم إدخالها بعد إجراء اتصال بشبكة WiFi وبينما لا يوجد اتصال بوسيط MQTT على تلك الشبكة
-
نشيط
هذه هي حالة التشغيل العادية التي يتم إدخالها بمجرد إنشاء اتصال بشبكة WiFi واتصال MQTT Broker. خلال هذه الحالة ، يتم نشر وظيفة درجة الحرارة والرطوبة للمستشعر إلى MQTT Broker
تم وصف الأحداث التي تتحكم في التحولات بين الدول في الموافقة المسبقة عن علم 1 أعلاه. تخضع الانتقالات بين الولايات أيضًا لمعلمات SecVals التالية ؛
- عنوان IP الأول للوسيط MQTT. في شكل عشري منقط AAA. BBB. CCC. DDD
- ميناء وسيط MQTT الثاني. في شكل عدد صحيح.
- يحاول اتصال وسيط MQTT الثالث القيام قبل التبديل من وضع STA إلى وضع AP. في شكل عدد صحيح.
- رابع شبكة WiFi SSID. في شكل نص حر.
- 5 كلمة مرور شبكة WiFi. في شكل نص حر.
كما هو مذكور أعلاه ، إذا كان جهاز إنترنت الأشياء غير قادر على الاتصال كمحطة WiFi بشبكة WiFi التي تعرف SSID و P / W في secvals.txt المحفوظة في SPIFFS ، فسيصبح جهاز إنترنت الأشياء نقطة وصول. بمجرد الاتصال بنقطة الوصول هذه ، ستقدم "الصفحة الرئيسية لتكوين المستشعر" كما هو موضح أعلاه في الصورة 2 (عن طريق إدخال إما "SENSORSVR.local" أو 192.168.4.1 في شريط عنوان URL الخاص بالمستعرض). تسمح هذه الصفحة الرئيسية بإعادة تكوين المستشعر عبر متصفح
الوصول عن بعد أثناء وجوده في الحالة النشطة
بمجرد الاتصال بـ MQTT Broker ، من الممكن أيضًا إعادة معايرة الجهاز وإعادة تكوينه عبر منشورات موضوع MQTT. الملف calvals.txt لديه وصول R / W و secvals.txt لديه حق الوصول للكتابة فقط مكشوف.
تصحيح المستخدم
أثناء تسلسل التمهيد ، يعطي مصباح IoT لجهاز IoT ملاحظات التصحيح التالية
- 1 فلاش قصير: لا يوجد ملف تكوين موجود في SPIFFS (secvals.txt)
- 2 ومضات قصيرة: يحاول جهاز إنترنت الأشياء الاتصال بشبكة WiFi
- الإضاءة المستمرة: يحاول جهاز إنترنت الأشياء الاتصال بـ MQTT Broker
- مطفأ: الجهاز نشط
- ملاحظة 1: لا تستخدم "الصفحة الرئيسية لتكوين جهاز الاستشعار" مآخذ توصيل آمنة ، وبالتالي فهي تعتمد على أمان شبكتك.
- ملاحظة 2: من أجل برمجة كل جهاز إنترنت الأشياء ، سوف تتطلب سلسلة MQTT التحرير قبل التنزيل. وذلك لأن رقم المستشعر قد تم تضمينه في سلسلة موضوع MQTT. بمعنى آخر. "WFD / THSen / 100 / HumdStatus / 1" لأجهزتي الستة مرقمة 1… 6 على التوالي.
الخطوة 4: معايرة المستشعر
عندما يتم تشغيل جهاز إنترنت الأشياء ، كجزء من تسلسل التمهيد ، تتم قراءة ملف يسمى "cavals.txt" من نظام SPIFFS. محتويات هذا الملف هي ثوابت المعايرة كما هو موضح أعلاه في الموافقة المسبقة عن علم 1. تستخدم ثوابت المعايرة هذه لضبط القراءات التي تم الحصول عليها من المستشعر لجعلها متوافقة مع جهاز مرجعي. هناك قيمة أخرى تحدد استراتيجية إعداد التقارير للجهاز ويتم وصفها أدناه جنبًا إلى جنب مع الإجراء المتبع لمعايرة أجهزة الاستشعار.
استراتيجية الإبلاغ تحدد هذه المعلمة كيفية قيام المستشعر عن بعد بالإبلاغ عن أي تغييرات بارامترية محيطية محلية له. إذا تم تحديد القيمة 0 ، فسيقوم المستشعر عن بُعد بنشر أي تغيير يراه في قيم درجة الحرارة أو الرطوبة في كل مرة يتم فيها قراءة المستشعر (كل 10 ثوانٍ تقريبًا). أي قيمة أخرى ستؤخر نشر التغيير بمقدار 1… 60 دقيقة. يسمح تعديل هذه المعلمة بتحسين حركة مرور شبكة MQTT.
معايرة درجة الحرارة
لمعايرة المستشعرات ، تم وضعهم بالقرب من بعضهم البعض كما هو موضح أعلاه في الموافقة المسبقة عن علم 2. بجانبهم ، قمت بوضع DMM مع مزدوج حراري معاير متصل (Fluke 87 V) ثم راقبت المخرجات من كل جهاز عبر درجة حرارة OpenHAB صفحة الاتجاه على مدار اليوم للحصول على تأرجح جيد في درجة الحرارة. لقد لاحظت كلاً من الإزاحة الثابتة (الصفر المرتفع 'C') ومعدل التغيير لكل جهاز (كسب أو ميل الرسم البياني 'M') بالنسبة إلى القيمة القادمة من المزدوجة الحرارية المعايرة. ثم حسبت العلاقة البسيطة y = mx + c (وجدت أنها كانت خطية بما يكفي لتكون تقريبًا قريبًا من الرسم البياني للخط المستقيم) وقمت ببرمجة أي تصحيحات ضرورية في ثوابت المعايرة عبر MQTTSpy.
ثم تمت مراقبة الأجهزة لمدة 24 ساعة أخرى لضمان نجاح المعايرة. كانت مؤشرات درجات الحرارة على صفحة اتجاهات درجة حرارة OpenHAB كلها إلى حد كبير فوق بعضها البعض.
بالطبع إذا كنت مهتمًا فقط بتقريب درجة الحرارة ، يمكنك ترك جميع قيم المعايرة كقيمة افتراضية.
معايرة الرطوبة
نظرًا لأنني لا أمتلك أي وسيلة لتسجيل الرطوبة المحيطة المحلية بدقة أو حتى التحكم فيها ، لمعايرة المستشعرات ، فقد استخدمت نهجًا مشابهًا لما سبق ، من خلال وضع جميع الأجهزة في مكان قريب فعليًا (صورة 2) ومراقبة إخراجها ببساطة عبر OpenHAB صفحة تميل الرطوبة. ثم اخترت الجهاز رقم 1 كمرجع للمعايرة وقمت بمعايرة جميع الأجهزة المتعلقة بذلك.
الخطوة 5: اصطلاح تسمية موضوع MQTT
بعد الكثير من التجارب والخطأ ، استقرت على اصطلاح تسمية الموضوع الموضح في الموافقة المسبقة عن علم 1 أعلاه.
وهي "طريقة الوصول / نوع الجهاز / أي جهاز / إجراء / جهاز فرعي"
إنه ليس مثاليًا ولكنه يسمح بتطبيق المرشحات المفيدة لرؤية جميع مخرجات المستشعر لقيمة حدية معينة مما يسمح بإجراء مقارنة سهلة كما في الصورة 2 أعلاه باستخدام MQTTSpy. كما أنها تدعم المجموعات المنطقية القابلة للتوسيع بشكل معقول للوظائف داخل جهاز إنترنت الأشياء.
عند تنفيذ هذه الموضوعات في البرنامج ، استخدمت سلاسل موضوعية مشفرة مع معرفات رقمية ثابتة ومضمنة لكل جهاز بدلاً من إنشاء الموضوعات ديناميكيًا في وقت التشغيل وذلك لتوفير ذاكرة الوصول العشوائي والحفاظ على الأداء مرتفعًا.
ملاحظة: إذا لم تكن متأكدًا من كيفية استخدام MQTTSpy ، فراجع هنا 'Setting Up an MQTT Broker. الجزء 2: إنترنت الأشياء ، أتمتة المنزل"
الخطوة 6: تكوين OpenHAB
لقد قمت بتعديل تكوين OpenHAB الوارد في Instructable السابق الخاص بي (هنا) وأضفته في إدخالات فردية لـ ؛
- كراج،
- قاعة،
- غرفة المعيشة،
- مطبخ
- غرفة نوم الضيف
- غرفة النوم الرئيسية
في خريطة الموقع انظر الصورة 1 أعلاه.
لكل من هذه الإدخالات ، أضفت خرائط مواقع فردية تعرض قيم البيئة المحلية (انظر الصورة 2 أعلاه) ؛
- درجة حرارة
- رطوبة
- مؤشر الحرارة
لقد قمت أيضًا بتضمين مفتاح للتحكم في الصمام المحلي المثبت داخل المستشعر.
تُظهر الصور 3 … 5 آثارًا حية فردية على مدار 24 ساعة لدرجة الحرارة والرطوبة و RSSI (مؤشر قوة الإشارة المستقبلة ، وهو في الأساس مقياس لمدى قدرة المستشعر على رؤية شبكة WiFi).
تعطي الصورة 6 مثالاً لاتجاه الرطوبة طويل المدى خلال فترة أسبوع.
ملاحظة 1: إذا لم تكن متأكدًا من كيفية استخدام OpenHAB ، فراجع هنا "إعداد وتكوين OpenHAB. الجزء 6: إنترنت الأشياء ، أتمتة المنزل"
ملاحظة 2: نسخة من خريطة الموقع المعدلة والقواعد وملفات العناصر والأيقونات وما إلى ذلك مذكورة أدناه.
الخطوة السابعة: اختبار التصميم
بالنسبة للجزء الأكبر ، اختبرت جهاز إنترنت الأشياء عبر اتصال MQTT مع MQTT Spy ، ومراقبة إخراج الصمام وتصحيح حركة المرور على الواجهة التسلسلية. سمح لي هذا بممارسة جميع الموضوعات المشتركة المتاحة والتحقق من الردود المنشورة. على الرغم من أن هذا تم تحقيقه يدويًا وأصبح مملاً بعض الشيء في بعض الأحيان ، إلا أنه أتاح تغطية بنسبة 100٪.
ومع ذلك ، فقد ثبت أن اختبار جهاز الحالة الرئيسي صعب بعض الشيء لأنه يعتمد على وجود أو عدم وجود شبكة WiFi ، والتي يتطلب الوصول إليها مجموعات معلمات محددة. ببساطة ، لم يكن استخدام الشبكة المنزلية لهذا الغرض عمليًا.
للتغلب على هذه المشكلة ، قمت بإنشاء مجموعتي الخاصة من الشبكات الوهمية باستخدام ESP8266-01 التي تم تكوينها كنقاط وصول (صورة 1) مع معرفات SSID لـ "DummyNet1" و "DummyNet2" على التوالي. باستخدام الدائرة في الموافقة المسبقة عن علم 2 أعلاه ، أعطى مؤشر LED إشارة إلى ما إذا كان جهاز إنترنت الأشياء متصلاً به. في حين أن هذا لم يكن حلاً مثاليًا للاختبار (على سبيل المثال ، لم تحتوي كل شبكة من شبكات WiFi الوهمية هذه على خادم MQTT) ، كان من الممكن اختبار جهاز الحالة بالكامل.
لقد قمت بتضمين نسخة من شفرة المصدر أدناه.
الخطوة 8: الخاتمة
عام
يعمل البرنامج الموجود في أجهزة إنترنت الأشياء بشكل موثوق لعدة أشهر حتى الآن يتعافى من انقطاع التيار الكهربائي المنزلي (الذي تسبب فيه بشكل أساسي). بشكل عام ، فهي أجهزة قوية جدًا توفر بيانات متسقة ودقيقة.
تحسينات
أثناء تطوير إجراءات البرامج للقراءة والكتابة إلى SPIFFS ، قمت بكتابة تعليمات برمجية قد تكون أكثر تقدمًا قليلاً مما كنت أنوي ، وذلك باستخدام مؤشرات باطلة وإعادة صياغة ومؤشرات إلى مؤشرات. في حين أنه مرن للغاية ويقوم بالمهمة بشكل جيد ، قد أستخدم JSON في المرة القادمة في وقت ما على غرار ConfigFile.ino لإبقائه أبسط قليلاً.
-
Arduino GIT HUB Core
https://github.com/esp8266/Arduino
-
المصدر ConfigFile.ino
https://github.com/esp8266/Arduino/tree/master/libraries/esp8266/examples/ConfigFile
قائمة الرغبات
كنت أنوي استخدام عميل mDNS للاتصال بالوسيط ولكن المكتبة كانت ضعيفة للغاية. هذا هو السبب في أنه من الضروري تحديد عنوان IP الخاص بـ MQTT Broker بدلاً من "MQTTSVR.local". إذا أصبحت مكتبة mDNS أكثر استقرارًا في المستقبل ، فسأضيف هذه الإمكانية إلى الجهاز.
كان من الجيد أن يكون لديك وسيلة لمراقبة الرطوبة المحيطة والتحكم فيها بدقة لمعايرة أجهزة الاستشعار. ومع ذلك ، فإن طريقة المعايرة المختارة تعطي قراءات نسبية جيدة وتبدو دقيقة بشكل معقول بما يتماشى مع المواصفات الواردة في ورقة بيانات DHT22.
أخيرًا ، نظرًا لتعقيد البرنامج ، وجدت أنه يختبر الرمز بالكامل بعد أن أصبح التغيير الرئيسي مضيعة للوقت. قد أفكر في الاختبار الآلي في وقت لاحق.
الخطوة 9: المراجع المستخدمة
لقد استخدمت المصادر التالية لوضع هذا Instructable معًا ؛
PubSubClient.h
- بقلم: نيك أوليري
- من:
DHT.h
- بقلم: Adafruit
- من:
ورقة بيانات DHT22
موصى به:
أتمتة الدفيئة مع LoRa! (الجزء الأول) -- أجهزة الاستشعار (درجة الحرارة ، الرطوبة ، رطوبة التربة): 5 خطوات
أتمتة الدفيئة مع LoRa! (الجزء الأول) || المستشعرات (درجة الحرارة ، الرطوبة ، رطوبة التربة): في هذا المشروع سوف أريكم كيف أني أتمتة دفيئة. هذا يعني أنني سأريكم كيف بنيت الدفيئة وكيف قمت بتوصيل الكهرباء وإلكترونيات الأتمتة. سأوضح لك أيضًا كيفية برمجة لوحة Arduino تستخدم L
Raspberry Pi HTS221 الرطوبة النسبية ومستشعر درجة الحرارة جافا تعليمي: 4 خطوات
Raspberry Pi HTS221 الرطوبة النسبية ومستشعر درجة الحرارة جافا تعليمي: HTS221 هو مستشعر رقمي بالسعة مدمج للغاية للرطوبة النسبية ودرجة الحرارة. يتضمن عنصر استشعار ودائرة متكاملة خاصة بتطبيق إشارة مختلطة (ASIC) لتوفير معلومات القياس من خلال التسلسل الرقمي
WEMOS D1 درجة الحرارة / الرطوبة إنترنت الأشياء: 6 خطوات
WEMOS D1 Temp / Humidity IoT: هذا مشروع تجميع وتوصيل وتجميع بسيط لتحصل على مستشعر درجة حرارة ورطوبة إنترنت الأشياء الذي يتصل بشبكة WiFi و "يبلغ" بياناتك إلى منصة Blynk IoT. جعل المراقبة سهلة من هاتفك الذكي. بصرف النظر عن الأمر
توليف الكلام الرجعية. الجزء: 12 إنترنت الأشياء ، أتمتة المنزل: 12 خطوة (بالصور)
توليف الكلام الرجعية. الجزء: 12 IoT ، أتمتة المنزل: هذه المقالة هي 12 في سلسلة تعليمات أتمتة المنزل توثق كيفية إنشاء ودمج جهاز IoT Retro Speech Synthesis في نظام أتمتة منزلي قائم بما في ذلك جميع وظائف البرامج الضرورية لتمكين
وحدة تحكم IoT الرئيسية. الجزء 9: إنترنت الأشياء ، أتمتة المنزل: 10 خطوات (بالصور)
وحدة تحكم IoT الرئيسية. الجزء 9: إنترنت الأشياء ، أتمتة المنزل: إخلاء المسئولية اقرأ هذا أولاً تفاصيل التعليمات الخاصة بمشروع يستخدم الطاقة الرئيسية (في هذا المثال UK 240VAC RMS) ، في حين تم اتخاذ كل الحرص لاستخدام الممارسة الآمنة ومبادئ التصميم الجيدة ، هناك دائمًا خطر قد يكون مميتًا انتخب