خلال العطلات ، اعتقدت أنه سيكون من الرائع أن يكون لديك جهاز اكتشاف انقطاع التيار الكهربائي لمنزلنا في نيو إنجلاند. بحث Quick DuckDuckgo اكتشف @FabyTM تطبيق Raspberry Pi الممتاز. بعد القليل من اللعب معها ، قررت أن نسخة أكثر خفيفة من فكرة بوتيان قد تكون أكثر بساطة على ESP32 أو ESP8266 MCU. سيسمح أيضًا للآخرين الذين لديهم وقت أقل أو أموال أقل أو ربما أقل مهارات تقنية لبناء جهاز اكتشاف الطاقة.
هناك سيناريوهان انقطاعان أردت التقاطه:
اكتشاف انقطاع التيار الكهربائي - أولاً ، أردت استخدام نظام إشعار التغذية الخاص بـ Adafruit لإخطارني عندما لم يتلق استجابة HTTP من جهازي خلال فترة زمنية محددة. يسمح Adafruit IO بحسابات مجانية لإرسال إشعارات إذا لم يتم نشر أي تحديثات في 10 دقائق أو 30 دقيقة أو ساعة أو يوم واحد. ميزة التغذية "عبر الإنترنت" لطيفة حقًا. بالنسبة لحسابات Adafruit IO المجانية ، إنها بريد إلكتروني فقط ولكن لأغراضنا ، هذا يكفي تمامًا.
طول انقطاع التيار الكهربائي - الكود ، جميع خطوط ~ 100 منه ، يتتبع أيضًا وقت الحقبة. عندما تستأنف الطاقة ، فإنها تحسب مقدار الوقت الذي مرت منذ آخر وقت مسجل وسيتم نشره إلى IFTTT هذه الدلتا إذا تجاوزت القيمة التي قمت بتعيينها في config.py . أبلغ عن وقت انقطاع التيار الكهربائي في حقل Value1 الخاص بـ IFTTT ، وعملي "ثم" هو أن أبلغني Alexa بطول انقطاع التيار الكهربائي.
في config.py ، قمت بتعيين فاصل نشر Adafruit إلى 30 ثانية وفاصل انقطاع التيار الكهربائي إلى 10 دقائق. لديّ أيضًا هذا التغذية عبر البريد الإلكتروني إلى حساب Gmail الخاص بي والذي يحتوي على قاعدة أنه إذا كان المرسل [email protected] ، فإنه يقوم بإعادة توجيه البريد الإلكتروني إلى بوابة AT&T [email protected] وأحصل على تنبيه SMS. بالنسبة لإخطارات IFTTT ، قمت بتعيين طول انقطاع دلتا إلى 30 دقيقة وأستخدم Webhooks لتنبيهني من أي انقطاع يدوم لفترة أطول من فترة الزمن.
ستحتاج إلى المكونات الخمسة التالية لإنشاء هذا الجهاز:
expressif esp mcu - لقد اخترت لوحة Lolin/Wemos ESP32C3 مقابل 4 دولارات ~. يعمل ESP8266 جيدًا على قدم المساواة.
Micropython - يمكنك تنزيله للوحة أعلاه هنا. ستحتاج إلى أدوات esptool و ampy لفلاش micropython وتحميل البرامج النصية Python. استخدم أداة الاتصال التسلسلية المفضلة لديك (putty.exe ، الشاشة ، إلخ).
ملفات detect.py و config-sample.py micropython. أعد تسمية config-sample.py إلى config.py لدمج بيانات اعتماد WiFi و Adafruit و IFTTT.
الحسابات المجانية التي تم إجراؤها على كل من Adafruit و IFTTT. إنشاء هذه الحسابات بسيط - فقط للذهاب إلى هذه المواقع مباشرة والتسجيل. ستحتاج إلى إنشاء تغذية وإعداد الإشعار لهذه التغذية على Adafruit. على IFTTT ، استخدم webhook باستخدام اسم التغذية الذي حددته في Adafruit.
حالة صغيرة لإحاطة MCU. لقد قمت بتضمين كل من .scad و .stl نسخة من حالة صغيرة ستضم شريحة ESP. يمكنك تعديله كما تتطلع لتناسب لوحة اختيارك. استخدم SCAD لإجراء هذه التغييرات.
يتم الترحيب بالتعليقات/الاقتراحات/النقد. ضع في اعتبارك ، لقد قمت ببناء هذا الريبو والرمز في أقل من 90 دقيقة ، وأنا متأكد من أنه يمكن تحسينه. لكنه يعمل بشكل رائع لما أحتاجه.
