جدول المحتويات:
- الخطوة 1: النظرية
- الخطوة الثانية: التصميم
- الخطوة 3: التفاصيل الفنية: API
- الخطوة 4: التفاصيل الفنية: الأجهزة
- الخطوة 5: التفاصيل الفنية: توصيل النقاط | أتمتة المنزل
- الخطوة السادسة: الختام
فيديو: اضواء رمضان - أتمتة المنزل IOT: 6 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:39
مع قرع رمضان على الأبواب ، تضيء المدن في جميع أنحاء العالم وتستعد لشهر الصيام. يتم تعليق الأضواء في الساحات العامة وعبر شوارع المدينة وكذلك على الجدران الخارجية للمنازل المضاءة أثناء الليل حتى تشرق الشمس في الصباح.
في هذا المشروع ، أود أن أشارك مساهمتي ، والتي أقوم فيها بأتمتة إضاءة هذه الزخارف بناءً على أوقات الأذان وإضافتها إلى نظام منزلي الذكي.
الخطوة 1: النظرية
في الأساس ، من الأسهل والأكثر قابلية للتطبيق أتمتة الإضاءة بناءً على كثافة ضوء الشمس ، على سبيل المثال. ومع ذلك ، أود أن يكون هذا هو روح الشهر الكريم ، أي أن الأنوار ستضيء طالما يُسمح للناس بتناول الطعام خلال شهر الصيام. على وجه الخصوص ، تضاء الأنوار من مغرب أذان حتى فجر أذان كل يوم دون أي تفاعل بشري.
الخطوة الثانية: التصميم
أدناه سأدرج متطلبات / قدرات هذا المشروع:
- يجب أن يكون النظام قادرًا على المعالجة تلقائيًا عند بدء التشغيل.
- يجب أن يكون النظام قادرًا على تنفيذ خوارزمية القرار (ON / OFF) بشكل دوري.
- يجب أن يكون النظام قادرًا على استدعاء API على أساس يومي.
- يجب أن يكون النظام قادرًا على التعافي من إعادة التشغيل غير المخطط لها.
- يجب أن يقوم النظام بتنفيذ خوارزمية القرار (ON / OFF) عند استلام البيانات على الفور.
- يجب أن يوفر النظام مفتاحًا لتشغيل وضع الطيار الآلي (الوضع التلقائي).
- يجب أن يوفر النظام مفتاحًا لتشغيل / إيقاف تشغيل المصابيح يدويًا.
- يجب أن يؤدي تشغيل المفتاح اليدوي إلى ضبط الوضع اليدوي على OFF.
- عندما يكون الوضع التلقائي قيد التشغيل ، يجب أن تنعكس نتيجة خوارزمية القرار على المفتاح اليدوي ON / OFF.
الخطوة 3: التفاصيل الفنية: API
لجعل النظرية قابلة للتطبيق ، يجب معرفة وقت الأذان على أسس يومية منذ متغيرها والعمل عليها لتشغيل / إطفاء الأنوار / الزخارف.
لهذا الغرض ، قررت استخدام واجهة برمجة تطبيقات تعتمد على الموقع لخدمة البيانات (وقت الأذان)
muslimsalat.com/api/#location
- توفر واجهة برمجة التطبيقات هذه مجموعة متنوعة من الخيارات ومعلمات التكوين الموضحة في ارتباط التوثيق أعلاه.
- يوصى باستخدام API_key الخاص بك والذي يكون مجانيًا عند التسجيل.
- في تصميمي ، أنا مهتم بجدول زمني يومي.
- الوقت الذي تم إرجاعه بتنسيق 12 ساعة (صباحًا / مساءً).
- فيما يتعلق بالموقع ، تمنيت لو كان بإمكان واجهة برمجة التطبيقات هذه توفير خيارات أكثر دقة للمواقع مثل نظام الإحداثيات الجغرافية (خطوط الطول والعرض). بهذه الطريقة ، يمكن تزويد واجهة برمجة التطبيقات هذه باسم مدينة على سبيل المثال وهذا يكفي تمامًا في معظم الحالات. لسوء الحظ ، كانت نتائج مدينتي المحددة منحازة تمامًا في اختبارات متعددة وكان هناك اختلاف بسيط لمدة دقيقتين عند مقارنة وقت الأذان بين نتائج API والوقت الفعلي للأذان في مدينتي. من ناحية أخرى ، كانت النتائج متطابقة تمامًا عندما قدمت مدينة قريبة من الشمال وتمسكت بها!
- عنوان url الخاص بواجهة برمجة التطبيقات الذي أستخدمه هو: https://muslimsalat.com/.json؟ key =
الخطوة 4: التفاصيل الفنية: الأجهزة
للتبسيط ، أترك الأجهزة خارج عملية المزامنة مع واجهة برمجة التطبيقات وحساب الوقت من خلال تفويض هذه العمليات إلى نظام أتمتة المنزل الخاص بي. سيعطيني هذا مزيدًا من التحكم إذا كنت أرغب في تعديل مصدر واجهة برمجة التطبيقات وخوارزمية الحساب.
بعد قولي هذا ، استخدمت ESP8266 (NodeMCU) للاتصال بالشبكة المحلية عبر WIFI ووحدة الترحيل كمشغل. ستستخدم NodeMCU بروتوكول MQTT وتستمع لموضوع معين للحصول على أوامر لتشغيل / إيقاف تشغيل الترحيل. بهذه البساطة!
الخطوة 5: التفاصيل الفنية: توصيل النقاط | أتمتة المنزل
يحتوي تطبيق My RaspberryPi على مثيل ذي إيماءات قادر على التعامل مع كل ما أحتاجه لهذا المشروع. كما أن لديها خادم MQTT مثبتًا لنشر رسائلنا.
في البداية ، اعتقدت أنه يمكنني إحضار بيانات واجهة برمجة التطبيقات على أسس يومية في الساعة 9 صباحًا واستخراج كل من أوقات الفجر ومغرب أذان ومواصلة مقارنة الوقت الحالي بهذه المتغيرات وهي:
كل 30 ثانية:
إذا: محجرب <الآن <صواب الفجر | أشعل الأضواء | نشر رسالة ON لموضوع MQTT المحدد وإلا: إيقاف
لمقارنة الوقت ، أقوم بتحويل الساعات التي توفرها واجهة برمجة التطبيقات من hh: mm (AM / PM) إلى تنسيق التاريخ الكامل عن طريق تعيين جزء التاريخ إلى تاريخ ضئيل في التاريخ ، على سبيل المثال (1/1/1970) نظرًا لأننا نقارن الوقت فقط إلى الوقت الحالي (يتم تحويل جزء التاريخ أيضًا).
لسوء الحظ ، لن يعمل هذا إلا في الحالات المستقيمة. افترض حالة انقطاع التيار الكهربائي أو إعادة تشغيل النظام لسبب غير مخطط له. إذا حدثت هذه الحالة قبل الساعة 12 صباحًا ، فنحن ما زلنا في الجانب الآمن ، ولكن بعد الساعة 12 صباحًا ، ستفشل خوارزميةنا البسيطة.
لإعطاء مثال ، لنحصل على Magrib Adhan في 7:30 مساءً والفجر في 4:10 صباحًا. عند بدء تشغيل النظام ، سيرسل طلبًا جديدًا لجلب البيانات المذكورة سابقًا. إذا كان الوقت الآن هو 1:45 صباحًا ، نتوقع أن تعود الخوارزمية لدينا صحيحة ، لكنها في الحقيقة لن تكون كذلك لأن 1:45 صباحًا أقل من الفجر (4:10 صباحًا) ولكنها ليست أكبر من Magrib (7:30 مساءً). هذا لأننا نوحد التاريخ بين جميع المتغيرات. فيما يلي الإصدار النهائي من الخوارزمية (حتى الآن):
كل 30 ثانية:
if ((magrib.getHours ()> = 12 && fajr.getHours () <= 12) || fajr <maghrib) {fajr.setDate (fajr.getDate () + 1)؛ // handle spanning days endTime if (now.getHours () <= 12) {now.setDate (now.getDate () + 1)؛ // handle spanning days currentTime}} // أدناه هو مقطع الكود السابق إذا: Mahgrib <NOW <Fajr true | أشعل الأنوار | نشر رسالة ON إلى موضوع MQTT المحدد وإلا: false | يطفىء
تم توضيح التدفق الكامل للعملية في الصورة أعلاه.
فيما يتعلق بواجهة المستخدم ، أضفت محولين إلى واجهة المستخدم / الواجهة:
- مفتاح لتحويل هذه العملية إلى تلقائي أو يدوي.
- مفتاح لتشغيل / إطفاء الأنوار يدويًا.
الخطوة السادسة: الختام
الوقت يمر بسرعة لا يمكن استدعاؤه. يتيح لك القيام بهذه المشاريع البسيطة التي تستغرق يومًا واحدًا التقاط أنفاسك في هذا المسار السريع ومساعدتك على إحياء مهاراتك الناعمة بمرور الوقت.
حاولت كثيرًا في هذا المشروع أن أبقيه بسيطًا وقابل لإعادة الاستخدام في جميع أنحاء العالم.
يرجى التصويت على هذه التعليمات إذا كنت تعتقد أن هذا المشروع يستحق.
رمضان سعيد!
موصى به:
المنزل الذكي من Raspberry Pi: 5 خطوات (بالصور)
Smart Home من Raspberry Pi: هناك بالفعل العديد من المنتجات التي تجعل شقتك أكثر ذكاءً ، ولكن معظمها حلول مملوكة. ولكن لماذا تحتاج إلى اتصال بالإنترنت لتبديل الضوء بهاتفك الذكي؟ كان هذا أحد الأسباب التي دفعتني إلى بناء Smar الخاص بي
نظام أمان المنزل IOT: 3 خطوات
نظام IOT Home Security: أحد أكثر تطبيقات IoT فائدة هو أمن المنزل. تخيل لصًا يقطع سلك الكاميرا الأمنية أثناء محاولته اقتحام منزلك ، فلن يحدث هذا إذا أصبح نظام الأمان لديك لاسلكيًا وذكيًا
المنزل الذكي الآمن IOT CA2 / الغرفة: 8 خطوات
IOT CA2 Secure Smart Home / Room: جدول المحتويات 1 نظرة عامة على Smart Secure Home 2 متطلبات الأجهزة + الإعداد 3 متطلبات البرنامج + الإعداد 4 تسجيل raspberrypi كشيء 5 إنشاء S3 Bucket 6 إعداد DynamoDB + القواعد 7 النتيجة المتوقعة 8 الرموز (من Pastebin) 9 المراجع نظرة عامة
مؤقت ذكي ESP8266-01 IoT لأتمتة المنزل: 9 خطوات (بالصور)
ESP8266-01 IoT Smart Timer لأتمتة المنزل: التحديثات 30/09/2018: تم تحديث البرنامج الثابت إلى الإصدار 1.09. الآن مع Sonoff Basic Support01 / 10/2018: الإصدار التجريبي 1.10 من البرنامج الثابت متاح للاختبار على ESP8266-01 مع المشكلات مع الكلمات الطنانة الجديدة وهي إنترنت الأشياء (IoT) وأتمتة المنزل ، قررت
نظام المنزل الذكي IoT: 8 خطوات
نظام المنزل الذكي IoT: هذا هو نظام المنزل الذكي Keefe and Jons على iot