تسبب المقال السابق في نقاش حاد ، وأقنعني هذا الظرف بالحاجة إلى مواصلة ما نسميه "تجربة المشاركة". لذا ، استقرنا على حقيقة أنه بعد ظهور مصادر الطاقة البديلة في المنزل ، وبشكل رئيسي المجمع الشمسي ، أردت قياس المعلمات التي ترافق عملهم. على سبيل المثال ، من أجل معرفة كيف تتغير درجة حرارة المبرد الشمسي ، هل ترتفع درجة حرارة الماء في المرجل ، إلخ. من الواضح أن قياس شيء ما في حد ذاته وحتى نقل هذه المعلومات إلى مكان الاستهلاك (القياس عن بُعد) لا يزيد من الراحة أو الأمان ، لذلك تمت إضافة عنصر على جهاز التحكم عن بعد إلى مختلف المحركات إلى "المعارف التقليدية" على الفور. في هذه المقالة ، لن أعرض قوائم التعليمات البرمجية ، وأذكر جميع الحلول التقنية لأدق التفاصيل. هدفي هو إظهار قطار الفكر والحلول التقنية المعتمدة ، وكذلك نتائجها. سيحتاج أي شخص يريد اتباع مسار مماثل إلى حل العديد من المشاكل بمفرده.
انحدار غنائي طفيف.في عام 2010 ، إلى جانب العاكس / البطاريات ، ظهر في المنزل نظام إنذار عالمي متحكم بنظام GSM من شركة RADS Electronics الروسية. تم استخدام هذا الجهاز العالمي الرائع بالإضافة إلى وظائف التنبيه مع تنبيهات GSM للتحكم في الإضاءة في غرفة المعيشة ، والأهم من ذلك ، التحكم في الغلاية الكهربائية. لذلك تعلمت كيفية التحكم في درجة الحرارة ، والحفاظ على درجة الحرارة ، وكذلك تدفئة المنزل مسبقًا ، قبل الوصول ، منذ وقت طويل. راحة مثل هذه الأنظمة واضحة للغاية. ومع ذلك ، فإن إمكانات وحدة التحكم محدودة ، لذا فإن "TK" الجديد قد وضع في الأساس الأساس لإنشاء نظام موازٍ ، حتى مع الوظائف المتكررة جزئيًا ، وبالطبع ، مع الوصول إلى المعلومات من أجهزة الاستشعار والتحكم عبر الإنترنت.
لذا فإن المتطلبات الأولية تلوح في الأفق:
- قم بقياس درجة الحرارة في جميع فوهات الغلايات 8 و 2 فوهات الغلاية.
- قم بقياس درجة الحرارة والرطوبة في غرفة المرجل حيث يتم تركيب المعدات.
- قياس درجة حرارة ورطوبة الهواء في الخارج. في يوم من الأيام ، قم بتنفيذ التحكم في التدفئة الذي يعتمد على الطقس
- قم بقيادة غلاية كهربائية مع الحفاظ على النظام القديم. تتكون الغلاية من ثلاث مراحل ، مع تعديل درجة حرارة التسخين وردود الفعل على درجة حرارة سائل التبريد. ومع ذلك ، لأغراض التحكم عن بعد ، يكفي تشغيل / إيقاف خطوات التسخين.
- إدارة سخان المرجل.
- ضع الحد الأدنى من الأسلاك. ليس بقدر عدم الإزعاج ، ولكن لأن الديكور في المنزل قد تم بالفعل.
- تمتع بواجهة ملائمة لإدارة قراءات المستشعر والعمل عليها. يجب أن تكون الواجهة قابلة للوصول على الأجهزة المحمولة.
ومرة واحدة صغيرة.
في الصورة - مولد بادئ تشغيل كهربائي. في بداية فصل الشتاء ، كان عليّ أن أضع بطارية وشاحن سيارة. واستخدام زيت اصطناعي.
الكل في نفس عام 2010 ، استقر مولد البنزين في المرآب. وسرعان ما أضيف إليها جهاز تحكم في التشغيل التلقائي ، تم صنعه بشكل مستقل على أساس متحكم Arduino. لا تنظر وحدة التحكم فقط إلى وجود شبكة 220 فولت ، ولكن أيضًا إلى إشارة من العاكس حول تفريغ البطاريات ، ويوفر العاكس نفسه إدخالًا تلقائيًا للمولد. معًا ، كان من الممكن تنفيذ خوارزمية تحكم في المولد ذكية إلى حد ما. بشكل عام ، لم يكن هناك خوف من استخدام وحدات التحكم الدقيقة ، سواء من حيث ربط الأجهزة الطرفية أو من حيث البرمجة. في الماضي ، كنت أبرمج كثيرًا في C / C ++.
المتطلبات ، بشكل عام ، بسيطة ، إن لم تكن تافهة. هناك الآلاف من الطرق المختلفة لتنفيذها. وهذا هو السبب في أن حجر الزاوية هو اختيار العمارة والمكدس التكنولوجي الذي سيتم بناء النظام الجديد عليه. النهج المنهجي هو ما هو مهم هنا ، فهم أن الحلول التقنية الفردية يجب أن تكون مرتبطة ببعضها البعض ، وفهم أن النظام سوف يتوسع أكثر بالتأكيد ، كما حدث بالفعل مع نظام الإمداد بالطاقة في المنزل. ومن المهم أيضًا فهم قدراتك الخاصة. لذلك ، كان علي أن أجعل جوجل ، وأخذ "مساعدة من الجمهور" و "اتصل بصديق".
في الصورة اردوينو نانو و nRF24L01 + مع هوائي
لقد بدأت في النظر من الأنظمة القائمة على معيار Z-Wave المستخدم على نطاق واسع ، وهذا أثر بشكل كبير على القرارات الأخرى ، على الرغم من تجاهل Z-Wave في البداية. نظرًا لأن Z-Wave هو خيار واضح للمتطلبات القريبة من الألغام ، فمن المهم أن نفهم سبب إسقاطها. أولاً ، بالطبع ، تكلفة جهاز استشعار واحد. وأحتاج فقط لقياس درجة الحرارة على المرجل عند 8 نقاط ، كل نقطة تتحول إلى أكثر من 3000 روبل. ثانيًا ، عامل الشكل لأجهزة الاستشعار القياسية ، التي لا تسمح باستخدامها في فوهات المرجل. ثالثًا ، الاختيار المحدود لأنظمة التحكم والوصول عن بُعد ، والتي تعد جميعها ملكية (يجب أن تقرأ: "محدودة") ومدفوعة. ومع ذلك ، فإن فكرة إنشاء شبكة ذاتية التنظيم مع إمكانية كل من اتصالات (ارتباطات) نظير إلى نظير لمشغل مستشعر وإدارة مركزية لخادم العميل هي فكرة جذابة للغاية. بناء على نصيحة صديق ، ذهب في مشروع مثير للاهتمام ، والذي بدا في البداية وكأنه امتداد لوظائف أنظمة Z-Wave استنادًا إلى وحدات تحكم Vera ، ولكن باستخدام نهج DIY. استخدم المشروع اردوينو ، 2.4 جيجا هرتز nRF24L01 + أجهزة الإرسال والاستقبال اللاسلكية والمكتبة المقابلة. كل ذلك معًا هو ما يلزم لمتطلباتي. يفتح استخدام Arduino إمكانيات غير محدودة تقريبًا لأتمتة المنزل مقابل المال ، وهو أمر بحجم (!) أصغر مما هو عليه في حالة Z-Wave. من المهم أيضًا أن يكون Arduino منصة مستقرة بشكل استثنائي. تعمل وحدة التحكم في بدء التشغيل التلقائي للمولد ، بمجرد تجميعها على Arduino ، بشكل لا تشوبه شائبة لمدة 7 سنوات. نظرًا لخبرة التطوير واللحام والبرمجة ، توقفت عن هذا المشروع.
وحتى استمر. في القانون ، رفضت تمامًا الارتباط بـ Vera. بدلاً من ذلك ، اختار أحد وحدات التحكم بالبرامج التي أوصى بها مؤلف مكتبة mysensors. بعد دراسة منتديات ومواقع الشركات المصنعة ، أصبح مشروع مفتوح المصدر OpenHAB . كان العامل الحاسم ، بالإضافة إلى الانفتاح ، عبر الأنظمة الأساسية ، لغة القواعد القوية المضمنة ، ووجود عملاء متنقلين ، هو الخاصية المعلنة التالية: "بائع ومعرفة بالتكنولوجيا". هذا هو بالضبط ما يحتاجه أخصائي تكنولوجيا المعلومات الذي يهتم بالنظام: إمكانية توسيع النظام في المستقبل ، باستخدام مكونات من شركات مصنعة ومعايير مختلفة ، مع كونها الأنسب لأغراض محددة. على سبيل المثال منذ البداية ، كان هناك تفاهم على أنه لا يلزم عمل كل شيء على Arduino وليس كل شيء ممكن داخل حدود Z-Wave. في الوقت نفسه ، قررت الالتزام بمنطق إدارة مركزي ، وهو أمر طبيعي تمامًا كبداية. على سبيل المثال على الأجهزة الطرفية التي تم تجميعها على Arduino ، سيكون هناك الحد الأدنى من منطق الأعمال: تشغيل / إيقاف الضوء من المفاتيح الميكانيكية التقليدية القديمة التي تصبح ببساطة أجهزة استشعار ، وقراءة وتحويل المعلومات من أجهزة استشعار المعلمات المادية ، ونقل البيانات إلى الخادم ، وتلقي الأوامر وتنفيذها من الخادم. لا أخطط لأي تفاعل مباشر بين عُقد شبكة الجهاز. يعتمد كل منطق إدارة الأعمال الحقيقية على قواعد openHAB. الآن هناك القليل من الأشياء المتبقية - اختر النظام الأساسي للجهاز ونظام التشغيل لجزء الخادم ، لـ openHAB.
يختار العديد من هواة DIY تحت openHAB Raspberry Pi. وهذا حل رائع واقتصادي ومضغوط وهادئ. ومع ذلك ، بدا لي أنه من الخطأ تقييد نفسي في قوة المعالجة ، لأنني قررت على الفور استخدام الخادم المستقبلي كجهاز متعدد الوظائف ، على سبيل المثال ، أردت نشر مركز وسائط Kodi عليه ، وربما في المستقبل ، شيء آخر ، على سبيل المثال ، مسجل فيديو برمجيات. بالنظر إلى المستقبل ، سأقول أنه في النهاية ، تم دمج Kodi مع منزل ذكي ، عندما يبدأ الفيديو ، ينطفئ الضوء ، عندما يتوقف ، يضيء. كما ظهر DVR ومدمج أيضًا. في الوقت نفسه ، ليس لدي متطلبات خاصة لمكونات الوسائط المتعددة ، يكفي أن الخادم كان لديه HDMI و S / PDIF. بشكل عام ، في خريف عام 2015 ، وقع الاختيار على شبكة بدون مروحة من Hystou (انظر على AliExpress): Intel Core i7 ، 8GB ، 256GB SSD ، 8 منافذ USB ، بما في ذلك 4 3.0 ، 2 LAN ، WiFi ، 2 HDMI ، S / PDIF ، قارئ البطاقات بشكل عام ، كل ما تحتاجه لسعادة صندوق DIY. ثم يكلف حوالي 24 tr. لم أندم أبدًا على الاختيار ، على الرغم من أنني يجب أن أقول أن WiFi ليست مستقرة للغاية بالنسبة له. ولكن ، التجربة التي أعقبت كل هذا بثقة تقول: أينما يمكنك وضع الأسلاك - وضع الأسلاك. قناة الراديو بغض النظر عن المعيار والتردد (WiFi ، Z-Wave ، 433 MHz ، 869 MHz ، 2.4 GHz ، إلخ) دائمًا ما تكون أسوأ من السلك. لذلك ، يتم توصيل nettop أخيرًا بسلك LAN المنزلي. واستقرت عليه عدة أنظمة مختلفة.
أما بالنسبة لنظام التشغيل للخادم ، فإنني أوصي بالاستقرار والقدرة على التنبؤ. توزيعات لينكس مع مجتمع كبير لها هذه الخاصية. أنا أكثر دراية بـ Ubuntu. على الرغم من أنه بفضل النظام الأساسي ، يمكن عمل كل شيء على Windows.
لذلك ، يتم تحديد العمارة والمكدس. نحن نعمل.
المهمة 1. حدد أجهزة الاستشعار والمشغلات. يتم قياس درجة حرارة سائل التبريد والماء على فوهات الغلاية والغلاية. للقيام بذلك ، نأخذ مستشعرات DS18B20 أحادية السلك في حاوية معدنية مختومة ، يتم تركيبها بشكل مريح على الفوهات ، من الخارج. والأنابيب نفسها المزودة بأجهزة استشعار في الأعلى مغطاة بعزل رغوي للأنابيب. عندما يكون هناك العديد من أجهزة الاستشعار المماثلة ، فإن الحافلة ذات الأسلاك الواحدة تكون مريحة للغاية. لقياس درجة حرارة الهواء والرطوبة في غرفة المرجل وفي الشارع ، نختار DHT22 ، ببساطة لأن هذا هو خيار DIY قياسي. قم بإدارة الغلاية بشكل منفصل بخطوات - باستخدام مرحلات ميكانيكية تقليدية بجهد خمسة فولت ، مألوفة أيضًا للوحات التبديل اليدوية. من المهم ملاحظة أن هذه المرحلات متصلة بالتوازي مع مفاتيح المرحلة في المرجل ، وليس مرحلات TEN ، التي يتم التحكم فيها بواسطة أتمتة المرجل. جميع الأجهزة الطرفية المختارة إما مبرمجة بشكل غير مباشر مباشرة ، مثل التتابع ، على سبيل المثال ، أو لديها المكتبات المناسبة لـ Arduino ، مثل 1-wire / DS18B20 / DHT22. لا مضاعفات.
في الصورة ، غلاية 300 لتر. يمكن ملاحظة أن سلكًا أسودًا به مستشعر في النهاية يقترب من كل أنبوب فرعي ، ويتم دمجهما في صندوق أبيض ويذهب سلك أبيض مشترك من سلك واحد إلى وحدة التحكم.
المهمة 2. تبادل البيانات والأوامر مع openHAB. كان علي أن العبث قليلاً ، لأنه مع openHAB لم أكن بعد "عليك". تتضمن بنية mysensors وجود بوابة (بوابة) للاتصال بوحدة التحكم / الخادم المركزي ، أي لفتح HAB.
البوابة نفسها هي وحدة تحكم منفصلة فعليًا على Arduino / nRF24L01 + ويمكن توصيلها بالخادم عبر LAN / WiFi أو Serial. منذ أن كنت في بداية المسار ، حددت Serial وأضع البوابة بجوار الخادم. يتم استخدام البوابة لتوجيه الرسائل المرسلة إلى شبكة mysensors من خلال البوابة والتواصل مباشرة مع وحدة التحكم المركزية ، openHAB. رسائل Mysensors هي تنسيق ثابت وسهلة التحليل. أضفنا إلى المسلسل الملزم openHAB لتوصيل البوابة عبر USB وكتابة قاعدة لتحليل الرسائل من الأجهزة على شبكة mysensors المستلمة عبر USB من البوابة. تستند قاعدة openHAB التي تقوم بتحليل الرسائل إلى التعليمات البرمجية الموجودة في منتدى mysensors. بعد ذلك ، نكتب قواعد المحركات - تتابع التحكم في الغلاية ، سخان الغلاية ، الضوء ، إلخ.
تُظهر الصورة بوابة وصندوقًا بنيًا صغيرًا بهوائي في مكبر صوت.
حول openHABopenHAB - حل مفتوح ، يتوسع بمساعدة المجتمع من خلال تطوير الروابط لأجهزة معينة يتفاعل معها openHAB. على سبيل المثال ، للتفاعل مع الأجهزة عبر USB هناك مسلسل تسلسلي ملزم. وبالمثل للأجهزة أو البروتوكولات الأخرى ، مثل Modbus و NTP و HTTP و Squeezebox و Kodi / XBMC و Z-Wave و ZigBee و Nest وما إلى ذلك. شاركت بنفسي في التطوير كمختبر تجليد Modbus نشط.
بينما كنت مشغولاً بتوصيل البوابة بخادم openHAB ، قررت إنهاء رمز البوابة (والبوابة نفسها) ، المأخوذة من mysensors.org وإضافة مستشعر درجة الحرارة والرطوبة DHT22 ومستشعر الضغط الجوي BMP180 إليه ، وفي نفس الوقت وجدت كود المصدر للتنبؤ بالطقس لديناميكيات الغلاف الجوي الضغط. يتم تمرير جميع هذه القياسات والتنبؤات إلى openHAB.
في الصورة ، البوابة في الداخل. على السلك الأبيض هو DHT22 ، اللوحة ذات الدبابيس المجانية هي Arduino ، أسفل اليمين هو nRF24L01 + و BMP180.
المهمة 3. واجهة والوصول عن بعد. openHAB هو نظام قابل للتخصيص بالكامل ، بما في ذلك تخطيط الواجهة. هذا الترميز موحد ، سواء للوصول العادي من خلال المتصفح أو من خلال تطبيق الهاتف المحمول. بالطبع ، قد لا يكون الترميز العالمي مثاليًا ، ولكنه يبدو جيدًا على الهاتف الذكي ، وهذا أمر مهم. يبقى أن تقرر كيفية الوصول إلى خادم openHAB خارج الشبكة المحلية. أولاً ، يمكنك (والأهم من ذلك اختياريًا) استخدام سحابة myopenhab.org. يتصل خادم openHAB مباشرة بالسحابة باستخدام ربط خاص. هذا الحل هو الأبسط ويوفر وظائف إدارة النظام الكاملة ، باستثناء نقل الفيديو من كاميرات IP. ثانيًا ، بالنسبة لأولئك الذين لا يحبون الغيوم ، وأنا أنتمي إليهم ، هناك الوسائل المعتادة للوصول عن بعد ، على سبيل المثال ، مزيج من VPN + VNC ، إلخ. لن أفصح عن التفاصيل لأسباب واضحة ، خاصة وأن هذه المشكلة لا تتعلق مباشرة بموضوع المقالة. ألاحظ فقط أن عميل mobileHAB لديه تكوين لعنوانين. يذهب إلى الأول إذا رأى خادم openHAB على هذا العنوان ، إلى الثاني - إذا لم يفعل ذلك. هذه ميزة ملائمة للغاية للواجهة. على سبيل المثال ، يمكنك تحديد السحابة كعنوان ثانٍ ، وبعد ذلك يكون openHAB متاحًا دائمًا دون معالجة إضافية باستخدام اتصال VPN. أو حدد العنوان الظاهري الذي تم الحصول عليه باستخدام أي حل VPN. أو أي شيء آخر.
الشاشة الرئيسية للواجهة | التمرير لأسفل شاشة البداية | عنصر القائمة المفتوحة "فاتح" |
---|
 |  |  |
يسمح لك الترميز بإجراء التنسيق الشرطي ، على سبيل المثال ، إبراز درجة الحرارة باللون الأحمر عندما تتجاوز القيمة المحددة في الترميز. يتم عرض بعض العناصر عند الضغط عليها ، على سبيل المثال ، "التدفئة" ، "الضوء" ، "صفارة الإنذار" ، إلخ.
هذا كل شئ. نلتقط مكواة لحام ، ثم لوحة مفاتيح بدورها. وبالتدريج تتشكل النسخة الأولى من النظام. كما تعلم ، الشهية تأتي مع الأكل. ونتيجة لذلك ، تتم إضافة أجهزة استشعار جديدة وحتى وحدات تحكم جديدة إلى الإصدار الأول من النظام ، على سبيل المثال ، لأتمتة بيت الضيافة. ونتيجة لذلك ، تم إدخال نظام في المرحلة الأولى:
- يقيس درجة الحرارة عند 16 نقطة.
- يقيس الرطوبة عند 4 نقاط.
- يقيس جهد شبكة 220 فولت عند مدخل المنزل إلى المثبت.
- يقيس الضوء المحيط. يتم استخدام الإضاءة لتشغيل الضوء تلقائيًا.
- يقيس الضغط الجوي ويتنبأ بالطقس على ديناميكيات الضغط.
- يكتشف الحركة في عدة نقاط.
- يسيطر على العالم كله في بيت الضيافة. تحولت المفاتيح إلى أجهزة استشعار.
- يدفع صفارات الانذار.
- يتحكم بشكل منفصل في 3 مراحل من الغلاية الكهربائية ، مع الحفاظ على وظائف النظام القديم. تتحكم في سخان المرجل.
- يتحقق من وجود الجهد على المرجل وعناصر التسخين للغلاية ، ويقرأ أيضًا حقائق إدراج عناصر التسخين للغلاية. هذا مهم ، لأنه ، أولاً ، تحتوي الغلاية على ملاحظات حول درجة حرارة المبرد وقادرة على إيقاف عناصر التسخين نفسها ، وثانيًا ، يتم تثبيت مرحل تحديد الحمل على مرحلتين في لوحة العدادات ، فصل الغلاية والغلاية بالتسلسل عندما يتم تجاوز عتبة الاستهلاك في المنزل. سيتم استخدام هذه البيانات أيضًا في خوارزميات المنزل الذكي. ولكن في هذه المرحلة لم أكن أعرف بالضبط كيف شعرت أنها ستكون مطلوبة.
- يقرأ حقائق تشغيل وإيقاف مضخة الدائرة الشمسية.

- يبني الرسوم البيانية لدرجة الحرارة للأسبوع واليوم والساعة.
- يرسل إشعارات حول الأحداث المختلفة. يمكن أن تكون الأحداث تقريبًا ، على سبيل المثال ، حركة على الشرفة ، ودرجة حرارة تتجاوز عتبة محددة مسبقًا ، وفقدان / مظهر للكهرباء ، وما إلى ذلك. كما تم إجراء تنبيه SMS.
- ظل النظام القديم منفصلًا ماديًا ومنطقيًا عن الجديد ، على الرغم من إعادة استخدام أجهزة الاستشعار نفسها جزئيًا في الجديد. احتفظ النظام القديم بوظائف الأمن ونظام مراقبة / تحكم احتياطي.
تظهر الصورة المعدات الكهربائية لبيت الضيافة. صندوق الهوائي هو جهاز التحكم ، "الغسالة" المستديرة هي صفارة الإنذار ، بينهم مستشعر DHT22 ، تحت الدرع يوجد مستشعر للحركة ، على اليسار هناك وحدة تزويد طاقة غير متقطعة 12V.
مثال على تشغيل النظاميقوم جهاز التحكم كل 30 ثانية باستقصاء أجهزة استشعار درجة الحرارة. في حالة حدوث تغيير في القراءات أو عند الطلب من الخادم ، يرسل البيانات إلى البوابة بشكل منفصل لكل مستشعر. تستقبل البوابة البيانات وترسلها عبر USB إلى openHAB. في openHAB ، يتم تشغيل قاعدة ، ويتم تحليل الرسالة ، ويتم تعيين قيمة درجة الحرارة المقابلة للعنصر المقابل (المفهوم الأساسي لـ openHAB). يتم إنشاء قاعدة تم تكوينها لتغيير هذا العنصر. إذا تم توفير أي رد فعل من قبل المنطق ، على سبيل المثال ، "إذا انخفضت درجة الحرارة إلى أقل من مستوى معين" ، يتم تنفيذ إجراء ، على سبيل المثال ، "تشغيل سخان المرجل". يتم إرسال هذا الأمر عبر USB إلى البوابة. ترسل البوابة أمرًا عبر الراديو إلى وحدة التحكم ، وتتلقى وحدة التحكم الأمر وتقوم بتشغيل التتابع المقابل. إرجاع تأكيد استلام الأمر. شيء من هذا القبيل يشبه المخطط العام لتفاعل مكونات النظام.
النتيجة. تحقيق الأهداف الأولية وأكثر من ذلك. يتم قياس درجات الحرارة وتصورها على الرسوم البيانية وفي الواجهة. وفقًا لنتائج الملاحظات ، أصبح من الواضح أن درجة حرارة الماء الساخن لا ترتفع أبدًا فوق 55 درجة ، وأن المبرد في الدائرة الشمسية - 60 ، لا داعي للقلق بشأن الحرارة الزائدة. يمكن ملاحظة أن درجة حرارة الهواء في غرفة المرجل تتجاوز 30 درجة في بعض الأحيان وتحتاج إلى تثبيت تكييف الهواء. أصبح من السهل التحكم في التسخين ، فقط المس المفاتيح الافتراضية على شاشة الهاتف الذكي. التالي. . , , . , . . «», .
. , 24.. , Raspberry Pi 2500. Arduino AliExpress 200, (nRF24L01+, ) . – . - , . على سبيل المثال .
, ., . — 11.05.2018. , 49 . 38, 35 . . . . 
. , , . , , C++, Arduino, . , openHAB. , – . . - , , . «». , , . . – . .