مجسات للمنزل الذكي

قدمنا ​​خزانة التحكم للمنزل هنا ، وضعت وحدة تحكم هنا .

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

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

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

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

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

لذلك في تطوير جهاز الاستشعار الخاص بي ، حاولت تجنب ما ورد أعلاه "لكن":

  1. نقوم بتجميع جميع أجهزة الاستشعار في سكن واحد
  2. نحن نفعل السلطة السلكية (بناء من الصفر)
  3. نجعل واجهات وفقا للبروتوكولات القياسية

الآن دعنا ننتقل إلى كيفية عمل مثل هذا الجهاز.

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

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

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

خططت أصلاً لصنع الجهاز وفقًا للخيار الثاني ، ووضع قناتين للاتصال - mqtt و modbus. Mqtt عبر WIFI حتى يتجول و modbus عبر RS-485 للاتصال بنظام التحكم في المنزل.

Mqtt via WIFI ليس من الصعب القيام به بفضل مكتبات lua ESP8266 والخوارزمية قياسية إلى حد ما:

  1. في البداية ، أو إذا لم تتمكن من الاتصال بشبكة WIFI ، يلزمك إنشاء نقطة وصول من ESP8266
  2. نشر خادم ويب صغير عليه مع معلمات WIFI ومعلمات خادم mqtt (يمكن القيام به مجانًا على Amazon على سبيل المثال)
  3. حفظ جميع البيانات المدخلة في ذاكرة ESP8266
  4. بعد إعادة التشغيل ، حاول الاتصال mqtt من خلال WIFI المنزل

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

جدول modbus كالتالي:
وصف نوع N
0. -r - حالة sensortag (1 - وضع الخمول / 2 - خمول للحماية / 3 - وضع الحماية)
1. -r - سبب حقل التنبيه (بت 1 - الغاز / 2 - درجة الحرارة / 3 - الحركة)
2. -r - كشف الحركة في حالات الخمول والحماية (0/1 - بدون حركة / حركة)
3. -r - تركيز الغاز (القيمة الخام من adc)
4. -r - درجة الحرارة في درجة مئوية
5. -r - قيمة الإضاءة المجهزة مسبقًا (غرفة ليلية <17 / غرفة مظلمة <50 / شفق <150 مشمس <250)
6. -r - القيمة الخفيفة (القيمة الخام من adc)
7. -r - عدد أحداث التنبيه في دورة الحياة هذه
8. -r - عدد من إعادة تشغيل sensortag
9-ص- لا تستخدم
تنشيط التنبيه لمدة 10 ساعات (0 - التبديل إلى الخمول / 1 - التبديل إلى التنبيه)
11. -ور- حساسية الحركة (0 - 100 ٪ ، يعني 0 - الأكثر حساسية)
12. -ور- تركيز الغاز الحد

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

لنبدأ باللوحة ، إليك ما عليك القيام به للقيام بذلك:

  1. اختر متحكمًا ومستشعرات (مستشعر البير ، الضوء ، درجة الحرارة ، ثاني أكسيد الكربون)
  2. اختيار برنامج تشغيل rs-485 للاتصال modbus
  3. ESP8266 للاتصال mqtt (ماذا تختار)
  4. حدد RGB LED لتصور حالة الجهاز
  5. تطوير وحدات الطاقة
  6. تطوير مخطط الدائرة ، تولد وجعل لوحات

اختيار المتحكم ليس صعبًا ، فأنت تحتاج فقط إلى الوصول إلى الصندوق باستخدام الألواح الخشبية والحصول على لوحة واحدة - ستفعل ذلك. لكن على محمل الجد ، لا يمكنني التفاخر بمعرفة العديد من عائلات المتحكمين الصغريين ، لذلك أنا معتاد على STM32 و ATSAM و AVR. اخترت هذا الأخير ، وفقط لأنني فقط كان لدي اردوينو ليوناردو الكذب وفقد الأيام القديمة MK2. لن أذكر أن AVR تشد أقدامها على تردد الكوارتز ، وهذا مفيد لي ، ولديها مجموعة واسعة من الأجهزة الطرفية و ADC سريع إلى حد ما ، من المهم بالنسبة لي أن لديها حزمة TQFP وأستطيع لحامها بنفسي ، دون مجهر ورقص مع الدفوف . إذا كان اختيار المتحكم الدقيق مدته عشر دقائق ، فإن اختيار المستشعرات ليس مسألة تافهة. يجب أن نفكر في البداية في كيفية توصيلها ، وكيفية معالجة إشاراتها وكيف ستؤثر على بعضها البعض. إذا كان بالإمكان أخذ بعض المستشعرات من مجموعة Arduino وتكلفتها بنسًا واحدًا ، ثم مع أجهزة أخرى ، نادرًا أكثر ، يمكنك العبث لفترة أطول وإنفاق المزيد. بالإضافة إلى ذلك ، كان اختيار أجهزة الاستشعار محدودًا أيضًا بمعاييري الإضافية:

  1. يمكن توصيل المستشعرات كما تريد ، ولكن ليس عبر I2C. هذه هي الطريقة التي لم تنجح من خلالها في تطبيق I2C بشكل موثوق على وحدات التحكم الدقيقة ، حيث يكون دعم هذا الحافلة نصفه مثل الأجهزة ونصفه مثل البرامج (كما في AVR). لقد حدث أنه يعمل ، ويعمل لمدة شهر ، ثم ينفجر ، ولا يساعد تسلسل الاسترداد ، لذلك تقرر استخدام أكبر عدد ممكن من أجهزة الاستشعار التمثيلية المتصلة بـ ADC واستخدام SPI فقط لدرجات الحرارة (بالمناسبة ، الصداقة قوية وموثوقة).
  2. كانت موثوقة بما فيه الكفاية ولم تغير خصائصها خلال فترة الخدمة (عرّفتها على أنها 10 سنوات)
  3. كانت متوفرة في السوق لدينا ، حتى لا تعبث بأوامر من Mauser ، إلخ.

نتيجة لكل الأبحاث ، حصلنا على هذه المجموعة:

  1. جهاز استشعار شرطة التدخل السريع - D203S
  2. مستشعر الضوء - GL5516
  3. استشعار درجة الحرارة - LM95071
  4. استشعار CO - TGS5141

وإذا كانت المناصب الثلاثة الأولى ، أعتقد أن أحداً لن يكون لديه أسئلة ، فلماذا ليست هناك حاجة واضحة إلى TGS5141 على الفور. ربما تقول - "لماذا هذا الشيء باهظ الثمن ، لأن هناك أجهزة استشعار بنس CO من مجموعة اردوينو من النوع MQ-7." في الواقع ، لقد جربتهم ، وكنتيجة لذلك رفضتهم لعدة أسباب. أولاً ، إنه مستشعر حفاز ، مع ارتفاع درجات الحرارة ، مما يؤثر بدرجة كبيرة على درجة الحرارة في علبة الجهاز ولا يسمح بتعويض درجة الحرارة للإشارة من جهاز استشعار PIR. ثانياً ، تترك حساسية MQ-7 الكثير مما هو مرغوب فيه ، حتى في المواصفات التي تقول إنها تتراوح من 10 إلى 1000 جزء في المليون ، لكنها في الواقع لا تزال حزينة ، بالإضافة إلى عدم وجود ثبات من المستشعر إلى المستشعر. ثالثًا ، إن عمر المستشعر نفسه غير واضح ، أفترض أن خصائصه ستتغير كثيرًا على مر السنين على وجه التحديد لأنه محفز. والآن حول مزايا TGS5141 الكهروكيميائية - لا يتم تسخينها ، والحساسية هي 0 ~ 5000ppm (ذات خاصية خطية) ، وعمر خدمة مضمون لمدة 10 سنوات ، وصغر الحجم والعديد من المزايا الإضافية. أعتقد أن الخيار واضح إذا كنت ترغب حقًا في القيام بشيء ذي قيمة ، وليس حرفة تافهة.

اخترنا متحكمًا ، وأجهزة استشعار ، والآن حان الوقت لرعاية كيفية إخبار المستخدم بما نهدف إليه. كما كتبت في وقت سابق ، لدي قناتين للاتصال لهذا ، RS-485 modbus و mqtt عبر WIFI. ما يجعل من الممكن استخدام جهاز الاستشعار الخاص بي كجهاز فردي ، وبالتالي ، من المهم الإشارة إلى الحالة ، بطريقة ما ، على الجهاز نفسه ، على سبيل المثال ، المصابيح.

بعد اتخاذ قرار بشأن المفهوم ، يمكنك إيلاء القليل من الاهتمام لبقية قاعدة العنصر. برنامج التشغيل 485go الذي أستخدمه ADM2587E ، لا تشمل الشريحة السائق نفسه فحسب ، بل تشمل أيضًا عزل كلفاني المحولات على RX و TX و DE ، مطروحًا منه السعر فقط. سوف نستخدم ESP-07 للاتصال mqtt عبر WIFI ، وهنا ، أعتقد ، ليست هناك حاجة إلى تعليقات ، لأنه فقط كسول لم يفعل شيئا على ESP8266. اضطررت إلى العبث بالشاشة المرئية أكثر ، ولهذا قررت استخدام مصابيح LED sk6812 RGBW. كما اتضح مع AVR ، إدارتها ليست بسيطة للغاية ، توقيتها صعب للغاية ، لذلك اضطررت إلى إضافة بعض أجزاء من رمز المجمّع ، والتي لم يكن مخططًا لها في الأصل. لكن النتيجة بررت نفسها ، فقد تحولت إلى معلومات بشكل جميل وجميل ، خاصة إذا كنت تتألق مع هذه المصابيح في نهاية حلقة زجاج شبكي. تم اقتراح هذه الإشارة لي من قبل موظف كان قد أكل كلبًا بالفعل على ذلك (بفضل Sasha).



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

توقفت عند هذا الخيار:

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



لقد توصلنا إلى إشارة ، القسم التالي هو القوة.

كما قلت في وقت سابق ، لدي 24V الجهد المنخفض في منزلي ، وبالتالي فإن قوة الوحدات سيكون ذلك تماما. بالنظر إلى المستقبل ، سأقول أنه بعد أن بدأت أول لوحة ، اضطررت إلى إعادة الكثير من التغذية. بعد ذلك أصبحت مقتنعا بأنك بحاجة إلى قراءة المواصفات بعناية على محولات التنحي ، وخاصة تلك الأماكن التي يتم فيها وصف الفروق الدقيقة في الأسلاك. استنادًا إلى البحث ، استقرت على المحول التدريجي MCP16311 واتضح أن الأمر صعب الإرضاء جدًا ، فقط بعد أن فعلت بالضبط ما كتب في المواصفات - لقد نجحت. ولكن لم تكن هذه هي المشكلة الأكبر ، حيث اتضح فيما بعد ، فقد تسبب تغيير سطوع مصابيح LED في انخفاض كبير في الطاقة ، وهو ما سيكون كافياً لإفساد الإشارة من جهاز استشعار D203S ، وكان من الممكن التغلب على هذه المشكلة باستخدام المكثفات الإضافية في دائرة تشغيل المستشعر وفي دائرة محول التنحي. بعد تصحيح كل شيء باستخدام mqtt (عبر ESP8266) ، قمت بتوصيل rs-485 وهناك مرة أخرى كان هناك عطل ينتظرني ، عند إخراج opamp في قناة استشعار D203S رأيت القمامة مرة أخرى ، وهذه القمامة تتوافق بوضوح مع التبادل على rs-485. بشكل عام ، اتضح للتغلب على هذا مع محول LDO إضافي للجزء التمثيلي بأكمله ، ثم جاءت السعادة.

وإذا قمت بدمج كل شيء معًا ، فستحصل على الصورة التالية:



وإذا تم أخذ كل هذا وملحومًا ، فسيبدو كما يلي:



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

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

استكمل ذلك ، سنجعل المنزل أكثر ذكاءً ...

Source: https://habr.com/ru/post/ar479760/


All Articles