جدول المحتويات:
فيديو: درجة حرارة HRV إلى OpenHAB عبر ESP8266 (مثال الرمز التسلسلي!): 3 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:42
HRV - لاسلكي إلى OpenHAB
هذه التعليمات مخصصة بشكل خاص لأولئك الذين لديهم نظام تهوية إعادة تدوير التدفئة (HRV) - على الرغم من أن أجزاء من لوحة الدوائر أو تكوين openhab أو كود Arduino (مثل قراءة البيانات التسلسلية TTL) يمكن أن تكون مفيدة لمشاريعك الخاصة أو تعمل بشكل جيد للتعلم. يفترض أن لديك معرفة معقولة بـ Arduino IDE وما هي شريحة ESP8266.
مقدمة
يوضح ما يلي كيفية إنشاء ESP8266 الذي يتصل بنظام HRV ويرسل درجات حرارة السطح والمنزل ودرجة حرارة لوحة التحكم وسرعة المروحة عبر رسائل MQTT إلى OpenHAB. تم تصميم هذا للعمل مع لوحة ESP8266-01 (على الرغم من أنه يجب أن يعمل مع أي إصدار ESP8266 3.3 فولت) إذا كان لديك نظام نوع HRV مشابه من بائع بديل ، فستحتاج إلى تحديد ما إذا كانت البيانات مرسلة على أنها TTL التسلسلي وإذا كان الأمر كذلك ، ما الهيكل الذي يتم إرسال البيانات به.
OpenHAB و Mosquitto
تمت كتابة كود ESP8266 خصيصًا للعمل مع OpenHAB (برنامج أتمتة المنزل مفتوح المصدر) ووسيط MQTT مثل Mosquitto (بروتوكول نوع الاشتراك / النشر للمراسلة خفيف الوزن ورائع للاتصال بين الأجهزة) لا تدع الأسماء أو تخيفك الاختصارات ، فهي حقًا سهلة الاستخدام بمجرد التعرف على كيفية عملها. أنا أستخدم OpenHAB على NTC C. H. I. P (كمبيوتر 9 دولارات أمريكية) ولكن العديد من الأشخاص يستخدمون Raspberry Pi أو ما شابه ذلك. يفترض هذا البرنامج التعليمي أنك قمت بتنفيذ OpenHAB (إذا كنت بحاجة إلى مساعدة في إعداد OpenHAB ، فاتبع هذه المقالة الممتازة من موقع makeuseof على الويب) تحتاج أيضًا إلى تنزيل وتثبيت Mosquitto (وسيط MQTT) وربط OpenHAB ذي الصلة. يمكنك تثبيت هذا في مكان آخر على شبكتك ، ومع ذلك يقوم معظم الأشخاص بتثبيت هذا على نفس الجهاز مثل OpenHAB لإبقائه بسيطًا.
لتثبيت Mosquitto ، باتباع هذا الرابط ، حدد نوع الجهاز الذي تستخدمه واتبع التعليمات. نظرًا لأن C. H. I. P يقوم بتشغيل Debian (Jessie) ، يمكنك اتباع تعليمات Raspberry Pi إذا كنت تستخدم C. H. I. P لجهاز Home Automation الخاص بك (لاحظ أيضًا أنه من الأفضل إعادة تهيئة CHIP للتمهيد من CLI. توجد تعليمات لهذا هنا)
بمجرد تشغيل OpenHAB و Mosquitto ، ستحتاج إلى إعداد Arduino IDE لـ ESP8266 والرمز. أولاً ، تحتاج إلى إضافة مكتبة "PubSubClient". في Arduino IDE ، من القائمة ، انتقل إلى Sketch ، Include Library ، Manage Libraries في مربع بحث الفلتر ، اكتب PubSubClient ثم قم بتمييز نتيجة البحث وانقر فوق التثبيت (في وقت كتابة هذا التقرير ، أحدث إصدار هو 2.6.0). تحتاج أيضًا إلى إضافة لوحة ESP8266 إلى Arduino IDE والتي يمكن القيام بها باتباع الإرشادات هنا
ماذا يعطيني هذا؟
كما ذكرنا سابقًا ، سيسمح لك هذا المشروع بمشاهدة سقف لوحة تحكم HRV والمنزل ودرجات حرارة لوحة التحكم وسرعة المروحة في OpenHAB GUI (في الوقت الفعلي!) تُظهر الصور كيف يبدو من جهاز iPhone الخاص بي ، بالإضافة إلى الرسوم البيانية لك سوف تحصل من خلال الحفر في درجات الحرارة المختلفة.
للحصول على الرسوم البيانية ، ستحتاج أيضًا إلى تثبيت وتكوين رابط RRD4J (هذا أمر مباشر جدًا) سيسمح لك ذلك بالنقر فوق "المنزل" أو "السطح" والحصول على سجل درجات حرارة HRV لكل منها على مدار الماضي ساعة أو يوم أو أسبوع (أو أكثر ، إذا غيرت التكوين لتناسب) الصور المعروضة هي بالدرجة المئوية ، ومن الواضح أن الشتاء في نصف الكرة الجنوبي عندما صنعت هذا!
بالإضافة إلى ذلك ، قمت بإنشاء عرض OpenHAB الذي يُظهر مقارنة بين درجة الحرارة الخارجية (التي توفرها الوظيفة الإضافية لربط الطقس ، في حالتي باستخدام Wunderground) مقابل درجات حرارة السطح والمنزل بالنقر فوق خيار "التحكم" (تُظهر الصورة الرسم البياني مع المنزل والسقف ودرجة الحرارة الخارجية مخططة). أخطط لاستخدام هذه البيانات في القواعد لتشغيل أجهزة التدفئة كما هو مطلوب. ما عليك سوى إضافة عنصر الطقس إلى عنوان URL الخاص بالصورة في ملف خريطة الموقع وتضمينه في نفس الرسم البياني (على سبيل المثال:… items = houseTemp و roofTemp و weatherTemp …)
الخطوة 1: الأجزاء المطلوبة / التجميع
سوف تحتاج إلى الأجزاء التالية
- موزع RJ11 (هذا يقسم الإشارة من وحدة التحكم في السقف إلى لوحة التحكم و ESP8266)
- بعض كبلات الشريط وقابس RJ11 (لتشغيل الأسلاك من الفاصل إلى ESP8266)
- ESP8266-01 (يجب أن تعمل إصدارات 3.3 فولت الأخرى)
- محول مستوى منطق TTL (لتغيير البيانات من 5V -> 3.3V)
- AMS1117 منظم جهد 3.3 فولت (أو ما شابه ، لتغيير الجهد من HRV 5V -> 3.3V إلى طاقة ESP8266)
- 1N5817 الصمام الثنائي شوتكي (لسبب ما ساعد هذا في إيقاف إعادة ضبط لوحة التحكم HRV على طاقة ESP)
- 10 كيلو أوم المقاوم (سحب المقاوم بين 3.3 الجهد المنظم و ESP CH_PD)
- مكثف 10 فائق التوهج 10 فائق التوهج (أو ما شابه ، لتنعيم وتثبيت الطاقة الواردة من HRV)
- مكثف 10 فولت 1 فائق التوهج (أو ما شابه ، لتنعيم الطاقة الصادرة وتثبيتها إلى ESP)
- زر انزلاق اختياري لبرمجة ESP (خلاف ذلك ، تحتاج إلى سحب GPIO0 إلى GND يدويًا للبرمجة)
- محول FTDI (لبرمجة ESP ، يحول USB إلى تسلسلي)
تجميع حسب التخطيطي
تُظهر صورة اللوح كيفية تجميع الأجزاء. لاحظ أن هناك 6 دبابيس تنزل من كابل الشريط من وحدة تحكم HRV في السقف:
الدبابيس 1 و 6 هي 5 فولت VCC
الدبابيس 2 و 5 هي GND
الدبابيس 3 و 4 هي بيانات.
ما عليك سوى استخدام المسامير 1 و 2 و 3 و 6 (الطاقة 1 و 6 VCC ESP8266 والجانب العالي من المحول المنطقي TTL ، 2 هي أرضية مشتركة و 3 لقراءة البيانات التسلسلية TTL)
سيكون الفاصل الذي تحتاجه عبارة عن جهاز تقسيم RJ11 فقط ، فقط تأكد من وجود مقسم حيث تكون المسامير مستقيمة من خلاله (على سبيل المثال: يذهب الدبوس 1 إلى السن 1 ، والدبوس 2 إلى السن 2 وما إلى ذلك) لاحظ أن المسامير الأنثوية الإضافية (مثل هو مبين في الصور) لتوصيل FTDI لإعادة برمجة ESP لاحقًا ، والمفتاح الموضح يضعه في وضع "البرمجة". هذه اختيارية ، لكن يوصى بها (على سبيل المثال: إذا قمت بتغيير كلمة مرور WiFi الخاصة بك لأن WiFi AP وكلمة المرور مبرمجتان بشدة في الرمز ، والذي ستحتاج إلى تحميله بمجرد إنشاء ESP8266)
الخطوة 2: تحميل الكود والاختبار
تغييرات التعليمات البرمجية
رابط تنزيل بديل لكود Arduino هنا
افتح في Arduino IDE ، وتأكد من تثبيت لوحة ESP بالإضافة إلى PubSubClient وأنك حددت لوحة ESP8266 (أدوات ، لوحة ، لوحة ESP8266 عامة) قم بتحرير الكود وتغيير اسم WiFi AP وكلمة المرور وعنوان IP الخاص بـ وسيط MQTT الخاص بك (هذه هي الأشياء الوحيدة التي يجب عليك تغييرها) كما هو موضح أدناه. انقر فوق الزر "تحقق" للتأكد من أنه يتم تجميعه بشكل جيد ، ثم تأكد من تحديد منفذ COM الصحيح (أدوات ، منفذ) وقم بتحميل الكود إلى ESP8266 الخاص بك. هناك الكثير من المقالات حول كيفية القيام بذلك ، لن أقوم بإعادة اختراع العجلة هنا.
// واي فاي
const char * ssid = "your_wifi_ssid_here" ؛ const char * password = "your_wifi_password_here" ؛ // MQTT Broker IPAddress MQTT_SERVER (192 ، 168 ، 222 ، 254) ؛
اختبار MQTT
للاختبار ، يمكنك ترك محول FTDI الخاص بك متصلاً وفتح Serial Monitor في Arduino IDE ، يجب أن ترى رسائل تطبع معلومات درجة الحرارة في وحدة التحكم. إذا كنت بحاجة إلى استكشاف أخطاء رسائل MQTT الواردة من ESP8266 إلى وسيط MQTT وإصلاحها ، فقم بتشغيل أحد الأوامر التالية على خادم Mosquitto للاشتراك في الرسائل الواردة:
mosquitto_sub -d -t openhab / hrv / status
يجب أن تشاهد رسائل النشر الواردة قادمة من ESP8266 كل 30 ثانية أو نحو ذلك بالرقم "1" (بمعنى "أنا على قيد الحياة") إذا رأيت "0" ثابتًا (أو لا شيء على الإطلاق) ، فلا يوجد اتصال. بمجرد أن ترى الرقم 1 قادمًا ، فهذا يعني أن ESP8266 يتواصل مع وسيط MQTT (ابحث عن "MQTT Last Will and Testament" للحصول على مزيد من المعلومات حول كيفية عمل ذلك ، أو شاهد إدخال المدونة الجيد حقًا)
يمكنك الآن تتبع بيانات درجة الحرارة وسرعة المروحة ، والاشتراك في أي مما يلي. ومع ذلك ، لاحظ أن الكود يرسل بيانات درجة الحرارة فقط إذا تم تغيير أي بيانات. إنه يتتبع آخر درجة حرارة وسرعة المروحة والبيانات التي تم إرسالها ، لذلك قد لا ترى المعلومات الواردة على الفور.
mosquitto_sub -d -t openhab / hrv / rooftemp
mosquitto_sub -d -t openhab / hrv / housetemp
mosquitto_sub -d -t openhab / hrv / controltemp
mosquitto_sub -d -t openhab / hrv / fanspeed
تلميح: اشترك في درجة حرارة لوحة التحكم أعلاه ، ثم اضغط على زر درجة الحرارة على لوحة التحكم نفسها ، سترى إعداد درجة الحرارة الجديد يأتي.
عندما تتجول في لحام هذا ، فإن PCB مقاس 3 سم × 7 سم يناسب بشكل جيد صندوق التدفق خلف لوحة التحكم HRV. أوصي بالقيام بذلك فقط إذا كان صندوقًا بلاستيكيًا لأن الصندوق المعدني قد يتداخل مع إشارات Wifi أو ربما يقصر التوصيلات على لوحة PCB. بالتناوب ، يمكنك طباعة علبة بلاستيكية ثلاثية الأبعاد لتركيب اللوحة فيها.
الخطوة 3: تغييرات OpenHAB
تكوين OpenHAB
تغييرات OpenHAB المطلوبة هي كما يلي:
ملف "العناصر":
/ * HRVNumber hrvStatus "HRV Status [MAP (status.map):٪ d]" (gHRV) {mqtt = "<[mqttbroker: openhab / hrv / status: state: default]"} Number houseTemp "House [٪.1f C] "(gHRV) {mqtt =" <[mqttbroker: openhab / hrv / housetemp: state: default] "} Number houseTemp_Chart_Period" Chart Period "Number roofTemp" Roof [٪.1f C] "(gHRV) {mqtt =" <[mqttbroker: openhab / hrv / rooftemp: state: default] "} Number roofTemp_Chart_Period" Chart Period "Number controlTemp" Control [٪.1f C] "(gHRV) {mqtt =" <[mqttbroker: openhab / hrv / controltemp: state: default] "} String fanSpeed" Fan Speed [٪ s] "(gHRV) {mqtt =" <[mqttbroker: openhab / hrv / fanspeed: state: default] "} * /
ملف "خريطة الموقع":
تسمية الإطار = "درجة حرارة HRV" {Text item = roofTemp {Frame {Switch item = roofTemp_Chart_Period label = "Period" mappings = [0 = "Hour"، 1 = "Day"، 2 = "Week"] Image url = "https:// localhost: 8080 / rrdchart-p.webp
يتم تضمين رموز إضافية لـ OpenHAB (انقر بزر الماوس الأيمن واحفظ الصور)
احفظ هذه الملفات في مجلد.. / OpenHAB Home / webapps / images على خادم OpenHAB الخاص بك
موصى به:
درجة حرارة الغرفة عبر الإنترنت مع BLYNK ESP8266 و DHT11: 5 خطوات (بالصور)
درجة حرارة الغرفة عبر الإنترنت مع BLYNK ESP8266 و DHT11: مرحبًا يا شباب ، سنقوم اليوم بصنع شاشة لدرجة حرارة الغرفة ، والتي يمكننا استخدامها لمراقبة غرفتنا من أي مكان في العالم وللقيام بذلك ، سنستخدم نموذج BLYNK IoT وسنستخدمه DHT11 لقراءة درجة حرارة الغرفة سوف نستخدم ESP8266 للحصول على
IOT ThermoGun - ميزان حرارة ذكي لقياس درجة حرارة الجسم بالأشعة تحت الحمراء - Ameba Arduino: 3 خطوات
IOT ThermoGun - ميزان حرارة ذكي يعمل بالأشعة تحت الحمراء للجسم - Ameba Arduino: مع استمرار COVID-19 في إحداث فوضى على مستوى العالم ، مما تسبب في آلاف الوفيات ، والملايين في المستشفى ، فإن أي جهاز طبي مفيد مطلوب بشكل كبير ، خاصة الأجهزة الطبية المنزلية مثل ميزان الحرارة غير المتصل بالأشعة تحت الحمراء ؟؟ . عادة ما يكون مقياس الحرارة المحمول قيد التشغيل
ESP8266 مراقبة درجة حرارة Nodemcu باستخدام DHT11 على خادم ويب محلي - احصل على درجة حرارة الغرفة ورطوبتها على متصفحك: 6 خطوات
ESP8266 مراقبة درجة حرارة Nodemcu باستخدام DHT11 على خادم ويب محلي | احصل على درجة حرارة الغرفة ورطوبتها على متصفحك: مرحبًا يا شباب اليوم سنصنع الرطوبة & amp؛ نظام مراقبة درجة الحرارة باستخدام ESP 8266 NODEMCU & amp؛ جهاز استشعار درجة الحرارة DHT11. سيتم الحصول على درجة الحرارة والرطوبة من مستشعر DHT11 & amp؛ يمكن رؤيته على متصفح أي صفحة ويب ستتم إدارتها
ميزان حرارة للطهي بمسبار درجة الحرارة ESP32 NTP مع تصحيح Steinhart-Hart وإنذار درجة الحرارة: 7 خطوات (بالصور)
ميزان حرارة للطهي بمسبار درجة الحرارة ESP32 NTP مع تصحيح Steinhart-Hart وإنذار درجة الحرارة: لا يزال في رحلة لإكمال & quot؛ المشروع القادم & quot ؛، & quot؛ ESP32 NTP ميزان حرارة للطهي بمسبار درجة الحرارة مع تصحيح Steinhart-Hart وإنذار درجة الحرارة & quot؛ هو Instructable يوضح كيف يمكنني إضافة مسبار درجة حرارة NTP ، بيزو ب
استخدام ذاكرة الوصول العشوائي للكمبيوتر الشخصي إلى Arduino عبر المنفذ التسلسلي: 7 خطوات
استخدام ذاكرة الوصول العشوائي للكمبيوتر الشخصي إلى Arduino عبر منفذ تسلسلي: لقد ألهمني أحد أصدقائي بمشروعه الصغير Arduino. يتضمن هذا المشروع الصغير Arduino UNO R3 ، الذي يقرأ البيانات بواسطة برنامج تم إنشاؤه في Arduino IDE يتم إرساله إلى منفذ تسلسلي (منفذ USB) بواسطة برنامج C # تم إنشاؤه في الاستوديو المرئي. هكذا