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

دفع جرس الباب ومستشعر درجة الحرارة: 6 خطوات
دفع جرس الباب ومستشعر درجة الحرارة: 6 خطوات

فيديو: دفع جرس الباب ومستشعر درجة الحرارة: 6 خطوات

فيديو: دفع جرس الباب ومستشعر درجة الحرارة: 6 خطوات
فيديو: انفجار غاز في عراق😔🔥 2024, يوليو
Anonim
دفع جرس الباب ومستشعر درجة الحرارة
دفع جرس الباب ومستشعر درجة الحرارة

هذا يعزز جرس الباب السلكي الصلب القياسي مع وحدة esp-12F (esp8266).

يتم تثبيته في وحدة الجرس نفسها لتجنب أي تغيير في الأسلاك. يوفر الوظائف التالية

  • كشف دفعات جرس الباب
  • يرسل الإشعارات إلى الهاتف عبر IFTTT
  • يخزن نشاط جرس الباب في خادم easyIOT (اختياري)
  • قم بتشغيل نشاط آخر عبر عنوان URL عند دفع جرس الباب

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

  • مستشعر درجة الحرارة المدمج الاختياري (DS18B20) والذي يشكل جزءًا من مراقبة درجة حرارة منزلي

الخطوة 1: الأجهزة والمواد

الأجهزة والمواد
الأجهزة والمواد
الأجهزة والمواد
الأجهزة والمواد

المواد التالية مطلوبة

  • ESP-12F (ESP8266) وحدة wifi / وحدة المعالجة المركزية
  • محول DC Buck لتزويد 3.3 فولت
  • الصمام الثنائي المعدل (على سبيل المثال 1N4001)
  • مكثف كهربائيا 220 فائق التوهج 35 فولت
  • مكثف كهربائيا 220 فائق التوهج 16 فولت
  • الصمام الثنائي زينر 3.3 أو 2.6 فولت
  • المقاومات
  • قطعة من مجلس الشريط
  • موصلات إذا لزم الأمر
  • جهاز استشعار درجة الحرارة الرقمية DS18B20 إذا لزم الأمر

يُظهر التخطيطي الدائرة المستخدمة. إنه يفترض وجود جرس يعمل بالتيار المتردد منخفض الجهد وهو النوع الأكثر شيوعًا من الجرس البسيط ذي الأسلاك الصلبة. تحصل وحدة الجرس على الطاقة من محول جرس خارجي عادةً حوالي 10 فولت تيار متردد. هذا ليس بالغ الأهمية حيث أن القيد الوحيد هو الحد الأقصى للجهد في محول باك. الذي أستخدمه هو MP2307 المستند إلى حد أقصى لإدخال 23 فولت تيار مستمر (~ 16 فولت تيار متردد).

هناك عادة 3 محطات طرفية نشطة. مع دفع الجرس ، يتم إجراء الاتصال من جانب واحد من مصدر التيار المتردد إلى الملف اللولبي الجرس. تستخدم الوحدة طرفي التيار المتردد لإنتاج طاقة التيار المستمر من خلال مقوم نصف موجة بسيط. يتم استشعار دفع الجرس من خلال مراقبة الجهد عبر الملف اللولبي الفعلي. سيكون هذا عاديًا ، ولكن عند تنشيط الجرس سيكون التيار المتردد بالكامل. يقوم الصمام الثنائي المقاوم / زينر بقص هذا بحيث يتم إدخال نبضة من 0 إلى 3.3 فولت 50 هرتز في دبوس GPIO. يقوم البرنامج بمعالجة هذا لتوفير تنشيط واحد لكل ضغطة جرس.

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

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

الخطوة 2: البرمجيات

تستخدم وحدة دفع الباب مخطط Arduino المتاح على جيثب

يجب تعديل هذا ليناسب الظروف المحلية ومن ثم تجميعه في بيئة esp8266 Arduino. المكتبات التالية مطلوبة ، فهي قياسية أو يمكن إضافتها.

  • واي فاي
  • WifiClient
  • ESP8266WebServer
  • ESP8266mDNS
  • ESP8266HTTPUpdateServer
  • اردوينو
  • WifiClientSecure
  • IFTTTMaker
  • خادم DNSS
  • WiFiManager (استخدام اختياري)
  • OneWire
  • دالاس درجة الحرارة

تشمل العناصر التي سيتم تغييرها في المخطط

  • تفاصيل الوصول لشبكة wifi المحلية (SSID ، كلمة المرور) في حالة عدم استخدام WifiManager
  • رمز التفويض للوصول إلى الويب AP_AUTHID. من الجيد جعل هذا طولًا لائقًا. يمكن أن تحتوي على أحرف أبجدية رقمية.
  • تحديث كلمة مرور البرنامج الثابت OTA
  • كلمة مرور WifiManager WM_PASSWORD

    يمكن إعداد شبكة Wifi يدويًا عن طريق التعليق على WM_NAME

  • مفتاح صانع IFTTT (انظر خطوة الإخطار)

تشمل التغييرات الاختيارية

  • تغيير دبوس الإدخال لكاشف الجرس
  • تغيير دبوس لمستشعر درجة الحرارة
  • تغيير منفذ الوصول إلى الويب من الافتراضي 80

بمجرد الانتهاء من ذلك ، يجب أولاً تجميعه وتحميله باستخدام التحميل التسلسلي التقليدي. يمكن إجراء التحديث اللاحق عن طريق تجميع ثنائي تصدير في بيئة Arduino ثم الوصول إلى واجهة OTA على IP / البرامج الثابتة.

يتم اكتشاف دفع جرس الباب في البرنامج عن طريق مقاطعة استشعار الحافة الصاعدة للنبضة الأولى من دائرة الكاشف. يتم تجاهل كافة المقاطعات اللاحقة. يتم استخدام المهلة لإعادة تنشيط الكاشف بعد BELL_MIN_INTERVAL الذي تم ضبطه على 10 ثوانٍ.

يمكن الوصول إلى أنشطة أخرى على خادم الويب esp8266

  • IP / يظهر النشاط الأخير لجرس الباب
  • ip / reloadConfig يعيد تحميل espConfig
  • ip / bellPush يحاكي دفع الجرس

الخطوة 3: التكوين

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

أقوم بتخزين ملف التكوين على خادم EasyIOT الخاص بي والذي يحتوي على مجلد في easyIOT / html حيث يمكن استرداد ملف التكوين بسهولة.

يُطلق على الملف اسم espConfig وهو عبارة عن ملف نصي بسيط يخزن عددًا من المعلمات (12) لكل عنوان Mac محتمل. تقوم الوحدة بتحميل المعلمات التي تم تعيينها لعنوان Mac الخاص بها فقط.

مثال من الملف هو

#قاعة

# عنوان ماك 123456ABCDEF

#اسم وحدة

esp8266-hall

# قناع وضع الخادم (1 = إحساس درجة الحرارة ، 4 = وضع الغليان ، 4 = جرس الباب)

9

#EIOT العقدة لدرجة الحرارة

N9S0

#غير مستعمل

-1

# الفاصل الزمني لدرجة الحرارة الدنيا بالثواني

60

# أقصى فاصل درجة حرارة بالثواني

300

# الفاصل الزمني لطاقة الغلاية

0

# عقدة طاقة المرجل EasyIOT

-1

عقدة دفع الجرس #EasyIOT

N10S0

# IFTTT إخطار القيمة

أمام

#IFTTT إخطار اسم الحدث

جرس الباب

#action URL

192.168.0.2/snap.php

يتم تجاهل أي سطر يبدأ بـ #. يجب أن تكون جميع الأسطر موجودة. -1 يستخدم لتجاهل المعلمات.

تتم قراءة ملف التكوين عند بدء تشغيل الوحدة النمطية لأول مرة. يمكن أيضًا إعادة تحميله في نظام قيد التشغيل (عند تغيير التكوين) عن طريق الوصول إلى ip / reloadConfig

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

الخطوة 4: الإخطارات

عندما يتم الكشف عن دفع جرس الباب ، فإنه يحاول إخطار ذلك عن طريق IFTTT أو PushOver. أنا الآن PushOver لأنه يعطي استجابة أسرع.

بالنسبة إلى IFTTT ، فأنت بحاجة إلى حساب وتفعيل قناة Maker WebHoooks. يجب تحويل MakerKey من هذه القناة إلى الكود.

قم بإعداد إجراء IF باستخدام Maker WebHooks واستخدم اسم الحدث الذي يحمل نفس الاسم كما في التكوين (مثل جرس الباب). يجب أن يكون الإجراء إذن هو إشعار IFTTT. يمكنك إضافة value1 للإخطار الذي سيكون في ملف التكوين. يمكن أن يكون هذا مفيدًا إذا كان لديك كاشفان أو أكثر.

تحتاج إلى تثبيت تطبيق IFTTT على هاتفك ثم ستظهر الإشعارات كلما تم تشغيل جرس الباب.

بالنسبة لـ PushOver ، فأنت بحاجة إلى حساب PushOver واتبع التعليمات لتلقي إشعارات API. تحتاج إلى إعداد رمزي NOTIFICATION_APP و NOTIFICATION_USER في البرنامج بالقيم من حساب PushOver الخاص بك.

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

الخطوة 5: تكامل EasyIOT

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

قم بإعداد خادم EasyIOT (على سبيل المثال على Raspberry Pi). قم بتكوين عنوان IP وكلمة مرور اسم المستخدم في برنامج esp8266 وقم بترجمة ملفات.

أضف الآن برنامج تشغيل افتراضي في تكوين EASYIOT. اختر إدخال تناظري لدرجة الحرارة ولاحظ اسم عقدة EasyIOT. يجب وضع هذا في جزء اسم عقدة درجة الحرارة من ملف espConfig.

إضافة سائق افتراضي ثان. اختر إدخال رقمي للباب ، ولاحظ اسم العقدة وضعه في ملف espConfig.

الخطوة 6: إجراءات دفع الجرس الأخرى

البرنامج لديه روتين يسمى actionBellOn. كما هو مكتوب ، يمكن لهذا أن يفعل 3 أشياء

  • يخطر IFTTT
  • تقرير EasyIOT
  • قم بتنفيذ عنوان URL لإجراء

يمكن استخدام عنوان URL لبدء نشاط آخر من خوادم الويب الأخرى. عنوان URL المستخدم موجود في ملف espConfig.

إذا تمت مصادقة خادم عنوان URL ، فيجب تكوين اسم المستخدم وكلمة المرور وترجمتهما في الرمز.

أستخدم هذا للوصول إلى عنوان URL يسمى snap.php على كاميرا بجوار الباب. هذا يأخذ-j.webp

أنا أستخدم الكاميرات القائمة على Raspberry Pi التي ذكر هذه العملية سهلة للغاية. الة تصوير

موصى به: