جدول المحتويات:

مراقب مساحة الزحف (المعروف أيضًا باسم: لا مزيد من الأنابيب المجمدة !!): 12 خطوة (بالصور)
مراقب مساحة الزحف (المعروف أيضًا باسم: لا مزيد من الأنابيب المجمدة !!): 12 خطوة (بالصور)

فيديو: مراقب مساحة الزحف (المعروف أيضًا باسم: لا مزيد من الأنابيب المجمدة !!): 12 خطوة (بالصور)

فيديو: مراقب مساحة الزحف (المعروف أيضًا باسم: لا مزيد من الأنابيب المجمدة !!): 12 خطوة (بالصور)
فيديو: ''VAHŞETİN ÇAĞRISI'' 💯ZamanınYasaları 💯 JACK LONDON (PANDORA MEDYA | naringl - SESLİ KİTAP) 2024, ديسمبر
Anonim
مراقب مساحة الزحف (المعروف أيضًا باسم: لا مزيد من الأنابيب المجمدة !!)
مراقب مساحة الزحف (المعروف أيضًا باسم: لا مزيد من الأنابيب المجمدة !!)

تأتي المياه إلى منزلي من بئري عبر مساحة زحف غير مدفأة. تعمل جميع السباكة في المطبخ والحمام عبر هذه المساحة أيضًا. (كانت السباكة الداخلية فكرة متأخرة في منتصف السبعينيات في هذا المنزل!) كنت أستخدم مصابيح حرارية على سدادات ترموستاتية "خزان المخزون" للحفاظ على درجة حرارة أعلى من درجة التجمد. كانت هناك مشكلتان مهمتان في هذا الترتيب: 1 - عدم الرؤية. أول مؤشر على احتراق المصابيح هو تجمد الأنابيب! 2 - في بعض الأحيان لا تغلق القوابس. تأتي فاتورة الكهرباء التي صنعت للمفاجآت السيئة.3 - بدون تفاصيل. احتفظت بثلاث لمبات "متصلة بالإنترنت" (إجمالي 750 واط) وكان هذا حلاً شاملاً أو لا شيء. (لن يتعامل المصباحان دائمًا مع الأمر.) بعد أن تعرفت على Arduino ، ورؤية بعض الأشياء التي كان يفعلها الآخرون بها ، قررت أن أعطيها دوامة. سأعترف مباشرة من المزلق أنني قمت بتعديل رمز عينة من مشاريع أشخاص آخرين دون خجل لإنجاح هذا العمل ، على الرغم من أنني في النهاية أعدت كتابة معظم كل شيء. في البداية ، قمت ببناء "محطة الطقس WiFi" التي وجدتها على Adafruit.com وتعديله. بدلاً من تحديث موقع ويب ، استخدمت Amazon Web Services لإرسال تحديثات حالة الرسائل القصيرة إليّ. أضفت أيضًا التحكم في بعض مرحلات 110 فولت (https://www.adafruit.com/products/268). ثم أصبحت "ذكيًا" وقررت "جعله متينًا" - حسنًا - شيء يختصر شيئًا ما وحصلت على نفخة من الدخان الأزرق السحري. كل شيء مقلي … ليس هناك اختراق آخر لشبكة CC3000 WiFi ، لقد فعلت الأشياء بشكل مختلف هذه المرة. لقد قمت بإنشائه ليتم مراقبته بشكل تفاعلي عبر واجهة تسلسلية ثم أضفت واجهة EZ-Link Bluetooth FTDI. (لا مزيد من سحب الكمبيوتر المحمول أسفل المنزل لتحديثات البرامج !!!) لقد قمت أيضًا ببناء واجهة Python التي تتصل بالوحدة عبر Bluetooth ، والاستعلام عنها بانتظام ، وعرض معلومات الحالة على جهاز Mac الخاص بي. (هناك أيضًا "واجهة بشرية" يمكن الوصول إليها بواسطة أي برنامج محاكاة طرفي.) نتيجة لإعادة كتابة وإزالة جميع رموز WiFi و RTC ، تقلص حجم المشروع من 29 كيلو بايت إلى 10 كيلو بالكاد. لقد حسنت أيضًا الموثوقية إلى الحد الذي لم يتم فيه تشغيل جهاز مراقبة الأجهزة على الإطلاق في الأسبوعين الماضيين الذي تم تشغيله فيه وكنت أقوم بالتعديل والتبديل.

تحديث / ملاحظة 2/17/16: في محاولة للحصول على تنسيق مناسب لبعض التعليمات البرمجية (خاصةً المسافة البادئة لشفرة Python) ، انتقلت الأمور من قبيح إلى غير قابل للاستخدام. أنا متأكد من أن المشكلة في نهايتي في مكان ما ، وسأحاول اكتشافها. حتى ذلك الحين ، أضفت روابط إلى ملفات الأكواد من خلال DropBox. يجب أن تكون في متناول أي شخص. إذا لم يكن الأمر كذلك ، فيرجى إبلاغي بها حتى أتمكن من إيصالها إليك بطريقة أخرى!

الخطوة 1: حل المشاكل

احتاج النظام إلى القيام بالأشياء التالية من أجلي: 1 - مراقبة درجة الحرارة في مساحة الزحف.2 - تشغيل مصابيح الحرارة حسب الحاجة للحفاظ على درجة الحرارة فوق درجة التجمد.3 - عند عدم التشغيل ، اختبر المصابيح بشكل دوري وأعطيني الرؤية 4 - أعطني رؤية لدرجة الحرارة وحالة النظام ، بما في ذلك: - هل النظام قيد التشغيل؟ - ما هي درجة الحرارة الآن؟ - ما هو أبرد درجة حرارة حصلت؟ - كم عدد اللمبات ركض؟ - كم عدد اللمبات اختبار جيد؟ - ما إجمالي وقتي في "الدقائق الخفيفة" (يُعرف أيضًا باسم "وقت الاحتراق")؟ 5 - افعل كل ما سبق دون الحاجة إلى الزحف أسفل المنزل !!! قررت أن أسهل طريقة لاختبار تشغيل المصباح هي باستخدام مستشعر الضوء بعض المشكلات الأخرى التي أردت معالجتها كانت وقت الدورة على الأضواء. بطيئة جدًا ، وأنا أحرق كهرباء غير ضرورية. سريع جدًا ، وأخاطر بحرقها بعيدًا عن جميع عمليات التشغيل والإيقاف مع التسخين والتبريد المرتبطين.

الخطوة 2: الأجهزة

الأجهزة
الأجهزة

2250 واط لمبات حرارية 1500 واط (اختفى أحد مصابيح الحرارة الخاصة بي ، لذلك هذا احتياطي) Arduino UnoDHT22 مستشعر درجة الحرارة / الرطوبة GA1A12S202 مستشعر الضوء PowerSwitch 110V RelaysBluefruit EZ-Link Serial Interface & Programmer حافظة عالية التقنية (حوض مطاطي بحجم شطيرة) حزمة كابل 1/2 لوح توصيل لوح أكريليك للوح التجارب و Arduino أسلاك توصيل متنوعة. Coleman 5-outlet "Workshop strip" لقد استخدمت أيضًا Adafruit Trinket كمراقب للأجهزة ، ولكن ثبت أنها غير ضرورية (jinx ، بالطبع!) وأنا كتب تعليمات منفصلة حول هذا الموضوع ، لذا لن أكرر ذلك هنا. كان جديلة Coleman اكتشافًا رائعًا ، حيث أعطاني 4 منافذ لمصابيح الحرارة الخاصة بي بالإضافة إلى منفذ لمصدر طاقة Arduino دون أي مقسمات إضافية أو شرائط طاقة متضمنة. تم تقييمه عند 15 أمبير كامل مع مفتاح وقاطع داخلي ، يمكنه التعامل مع كل ما يمكنني سحبه من خلال منفذ واحد.

الخطوة الثالثة: المنهج

في حين أن النظام عبارة عن تطبيق مصمم للجلوس حول الانتظار ، والقيام ببعض الأشياء ببطء نسبيًا ، فإن ما لم أرغب في القيام به هو بناء نظام حيث كانت وحدة التحكم تجلس في دورات تأخير () لا تستجيب. أردت أيضًا أن أكون قادرًا على تغيير معلمات التكوين في أقرب وقت ممكن أن أحصل عليه - وبالتأكيد ليس بطريقة تتطلب إعادة كتابة التعليمات البرمجية أو إجراء عمليات بحث واستبدال جماعية على المصدر. وجدت أكثر مقالات بيل إيرل الممتازة حول "تعدد المهام في Arduino" (ابدأ من هنا: https://learn.adafruit.com/multi-tasking-the-arduino-part-1) وانشغلت. من خلال إنشاء فئتي "المؤقت" و "السخان" ، تمكنت من القيام بجميع وظائف التوقيت التي أردتها دون استخدام التأخير () (مع استثناءات قليلة فقط) وتهيئة المصابيح ("المدافئ") بسطر واحد من التعليمات البرمجية لكل منها واحد.

الخطوة 4: توصيل الأسلاك

توصيل الأسلاك
توصيل الأسلاك
توصيل الأسلاك
توصيل الأسلاك

لا يشتمل مخطط Fritzing على Bluefruit EZ-LinkArduino 5V & Ground إلى حافلة اللوح DHT22 pin 1 to 5V bus DHT22 pin 2 to Arduino pin 7DHT22 pin 4 to Ground bus10K resistor بين DHT22 دبابيس 1 و 2GA1A12S202 VCC pin إلى 5V busGA1A12S202 GND pin to Ground busGA1A12S202 OUT pin إلى Arduino A0Arduino 3V pin إلى Arduino AREF pinRelay Ground يؤدي إلى الحافلة الأرضية Relay 1 موصل الطاقة إلى Arduino A1Relay 2 موصل الطاقة Arduino A2Relay 3 إلى Arduino A3. الشيء الوحيد المهم هو أن مخرج OUT على مستشعر الضوء يحتاج إلى الذهاب إلى دبوس تناظري. سيعمل هذا الدبوس مع الكود الخاص بي كما هو مكتوب. إذا كنت تستخدم جهاز مراقبة الأجهزة ، فسترى أن الكود الخاص بي يضع نبضات القلب على Arduino pin 2.

الخطوة 5: كود اردوينو ، الرسم الرئيسي

CrawlSpace_monitor.ino

الخطوة 6: ملاحظات على الكود

تنشئ الأسطر التالية من الكود مثيلات السخان وتحدد معلمات التشغيل: // Heater (relayPin، onTemp (f)، offTemp (f)، minMinutes، testInterval (minutes)، luxDelta) سخان السخان 1 = سخان (A1، 38 ، 43، 20، 1440، 5)؛ سخان السخان 2 = سخان (A2، 36، 41، 20، 1440، 5)؛ سخان السخان 3 = سخان (A3، 34، 39، 20، 1440، 5)؛ سخان السخان 4 = سخان (A4 ، 32 ، 37 ، 20 ، 1440 ، 5) ؛ (ونعم ، لقد حددت جميع السخانات الأربعة على الرغم من أنني أشغل 3 فقط في الوقت الحالي. ما زلت بحاجة للحصول على مرحل آخر ، ولكن إضافة السخان الرابع سيكون كن بسيطًا مثل توصيله.) أقوم بترتيب درجات حرارة الزناد ، بدءًا من 38 درجة للأولى وتنتهي عند 32 للرابع غير الموجود. أحد الأشياء التي وجدتها عندما بدأت في تجميع هذا معًا هو أنني كنت بحاجة إلى إعطاء نطاق لدرجة الحرارة بالإضافة إلى تحديد الحد الأدنى من "وقت الاحتراق" ، أو كنت أقوم بركوب الدراجات وإطفائها كالمجانين. هنا أعطي كل منهم انتشارًا بمقدار 5 درجات بالإضافة إلى 20 دقيقة كحد أدنى من وقت الاحتراق. قمت بضبط الفاصل الزمني للاختبار على 24 ساعة وقمت بتعيين 5 لوكس على أنه الحد الأدنى لقراءة الضوء التي أحتاجها لتحديد أن المصباح لا يزال يعمل. كل ما يحتاج إلى التكوين موجود هنا في هذه الأسطر الأربعة من التعليمات البرمجية.

الخطوة 7: كود اردوينو ، الفئات

لقد أنشأت 3 فصول لهذا المشروع. كانوا "مؤقت" و "سخان" و "مجمع". مع مزيد من التفكير ، يجب أن أكون قادرًا على طي المجمع إلى مؤقت ، لكنني لم أفعل بعد. ها هي كاملة: سخان

جهاز ضبط الوقت

مجمع. h

الخطوة 8: مراقبة النظام

مراقبة النظام
مراقبة النظام

لقد قمت بإنشاء واجهة واحدة لشاشتين منفصلتين. إنها جلسة تفاعلية عبر وحدة التحكم التسلسلية. في حالتي ، أستخدم Bluefruit EZ-Link حتى أتمكن من الوصول إلى النظام دون الزحف أسفل المنزل أو محاولة ثعبان كبل USB بين روافد الأرضية! ميزة إضافية لـ EZ-Link هي أنه يمكنني تحميل رمز برنامج جديد إلى Arduino عبر البلوتوث أيضًا. يمكن الوصول إلى الواجهة "البشرية" (Bluetooth أو الكابل المادي) باستخدام أي برنامج محاكاة طرفي ، بما في ذلك Arduino IDE التسلسلي مراقب. عند الاتصال في البداية ، لا توجد استجابة ، ولكن يضغط المفتاح "u" (لـ "تحديث") و "t" (لـ "اختبار") سيوفر لك الإخراج المعروض في لقطة الشاشة. يمنحك كل من "m" ("monitor") و "s" ("sys check") نفس البيانات ولكن بتنسيق أقل قابلية للقراءة. ويقصد بها "كشطها" بواسطة برنامج آخر للعرض التلقائي. لقد قمت بتجميع نص Python الذي يفعل ذلك بالضبط. سيتم عرض أي مفاتيح أخرى تظهر رسالة الخطأ. سترى قيمة لـ "وقت الاحتراق" - فكر في هذا مثل "لمبة دقيقة" - لمبة واحدة لمدة 10 دقائق = 10 دقائق ، 3 لمبات لمدة 10 دقائق = 30 دقيقة.

الخطوة 9: نص بايثون

نص بايثون
نص بايثون

crawlspace_gui.py

الخطوة 10: ما زال يتعين القيام به …

قد لا يكون جميلًا أو مثاليًا ، لكنه فعال ويثبت أنه يمكن الاعتماد عليه. ولم أواجه أي مشاكل في الأنابيب المجمدة حتى الآن هذا الشتاء !!! بالطبع ، الآن بعد أن نجحت ، قد أو لا أتحرك على الإطلاق لإنجاز معظم هذه العناصر: قم بتشغيل Bluetooth على أحد Raspberry Pi حتى أتمكن من إنشاء شاشة مخصصة. تعرف على المزيد من Python - ثم قم بتنظيف Python واجهه المستخدم. هذا الفصل بين العناصر ليس عن قصد ولا أفهم سبب وجوده ، أضف واجهة لشيء مثل خدمة IO في Adafruit حتى أتمكن من مراقبتها من أي مكان ، أضف رسالة نصية للتنبيه ، انتقل إلى وحدة تحكم أصغر (ربما مترو Mini أو Trinket Pro؟) ، مرحلات أقل تكلفة ، وتغليف أفضل. أخرجها من اللوح وعلى لوحة "Perma Proto". معلمات التكوين في EEPROM. واجهة أكثر دقة تشير إلى - أي - المصابيح جيدة ، و ربما يحرق الوقت للمصابيح الفردية.عندما أقوم بإنهائها ، سأعود وأحدث هذا Instructable.

الخطوة 11: التحديث 3/16 ، إنشاء "دائم"

التحديث 3/16 ،
التحديث 3/16 ،
التحديث 3/16 ،
التحديث 3/16 ،
التحديث 3/16 ،
التحديث 3/16 ،

عند الحصول على استراحة جيدة في الطقس البارد ، استرجعت الوحدة ونقلتها إلى وحدة تحكم أصغر (كنت أنوي استخدام Trinket Pro ، ولكن كان لدي Adafruit Metro Mini جالسًا دون أن يطالب به أي مشروع آخر) ، وقمت بلحامها على لوحة Perma-Proto ، ووضعها جميعًا في حالة أفضل. بناءً على مدى موثوقيتها ، لم أقم بإعادة مراقبة الأجهزة إليها. ما زلت أستخدم فقط 3 مصابيح / مرحلات حيث سيتعامل النظام مع 4. توجد وحدة Bluetooth على رأس ملحوم ، لذا يمكن إزالتها إذا كنت بحاجة إليها في مكان آخر. لم تكن هناك تغييرات في التعليمات البرمجية ضرورية للانتقال إلى وحدة التحكم الجديدة - فقد ساعدني إعادة التجميع والتحميل البسيط على العمل في غضون دقائق. (يحتوي Metro Mini على دبوس متطابق مثل Arduino Uno وهو أيضًا معالج ATMega328.)

الخطوة 12: التحديث 12/1/2018 - مرحبًا بكم في إنترنت الأشياء

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

مع دخول السنة الثالثة للنظام ، فشلت وحدة Bluetooth. قمنا أيضًا ببناء منزل جديد ، وبالتالي فإن نظام المراقبة خارج نطاق البلوتوث. (المنزل القديم يبقى ساهراً لفترة من الوقت ، ولكن ليس إلى الأبد.) في هذا الوقت ، كنت أفعل الكثير باستخدام معالج ESP8266 الذي يدعم WiFi ؛ في كل من تنسيق Adafruit Feather وفي تنسيق "NodeMCU" مفتوح المصدر. يمكن العثور على NodeMCU بشكل عام على Amazon مقابل حوالي 5 دولارات - أقل بكثير إذا كنت تشتري بكميات كبيرة و / أو من شخص مثل AliExpress.

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

مدير شبكة WiFi للتخلص من بيانات اعتماد WiFi ذات التشفير الثابت.

القدرة على تحديث البرامج الثابتة عبر الأثير باستخدام Arduino IDE (طالما أنك على نفس شبكة WiFi - لاحظ أنه بعد إجراء تحميل USB على الجهاز ، يلزم إعادة تعيين قبل أن تعمل تحديثات OTA). يرجى تغيير كلمة مرور OTA على السطر 6 لتكون فريدة بالنسبة لك !!

صفحة ويب تعرض نفس البيانات التي يعرضها نص Python ، مع تحديث تلقائي كل دقيقة. لم أضع أي نوع من الأمان على الصفحة ، لأنها للعرض فقط.

يمكنك العثور على الرمز الجديد هنا. هل لاحظ أن أسماء الدبوس تتغير عند الانتقال إلى NodeMCU.

موصى به: