- طرق مختلفة لتقليل استهلاك الطاقة
- المكونات مطلوبة
- أنواع أوضاع النوم في ESP8266
- ESP8266 برمجة وضع النوم العميق
- اختبار DeepSleep في ESP8266
نظرًا لازدهار ثورة إنترنت الأشياء كل يوم ، يتزايد عدد الأجهزة المتصلة بسرعة كبيرة. في المستقبل ، سيتم توصيل معظم الأجهزة ببعضها البعض وستتواصل في الوقت الفعلي. واحدة من المشاكل التي يواجهها هذا الجهاز هي استهلاك الطاقة. يعد عامل استهلاك الطاقة هذا أحد العوامل الحاسمة والحاسمة لأي جهاز إنترنت الأشياء ومشاريع إنترنت الأشياء.
كما نعلم أن ESP8266 هي واحدة من أكثر الوحدات شيوعًا لبناء أي مشروع إنترنت الأشياء ، لذلك نتعرف في هذه المقالة على توفير الطاقة أثناء استخدام ESP8266 في أي تطبيق إنترنت الأشياء. نقوم هنا بتحميل بيانات مستشعر درجة الحرارة LM35 إلى سحابة ThingSpeak في فترة 15 ثانية وخلال تلك الثواني الـ 15 يظل ESP8266 في وضع DeepSleep لتوفير الطاقة
طرق مختلفة لتقليل استهلاك الطاقة
هناك عدة طرق لتحسين استهلاك الطاقة في الأجهزة المدمجة وأجهزة إنترنت الأشياء. يمكن إجراء التحسين على الأجهزة والبرامج. في بعض الأحيان لا يمكننا تحسين مكونات الأجهزة لتقليل استهلاك الطاقة ، ولكن بالتأكيد يمكننا القيام بذلك على جانب البرنامج عن طريق تغيير تعليمات ووظائف الكود وتحسينها. ليس هذا فقط ، يمكن للمطورين أيضًا تعديل تردد الساعة لتقليل استهلاك طاقة وحدة التحكم الدقيقة.يمكننا كتابة برنامج ثابت لجعل الأجهزة في وضع السكون عندما لا يكون هناك تبادل للبيانات وتنفيذ المهمة المحددة في فترة زمنية معينة. في وضع السكون ، تستهلك الأجهزة المتصلة طاقة أقل وبالتالي يمكن أن تدوم البطارية لفترة طويلة. يمكنك أيضًا قراءة "تقليل استهلاك الطاقة" في وحدات التحكم الدقيقة ، إذا كنت تريد معرفة المزيد عن تقنيات استهلاك الطاقة.
وحدات ESP8266 هي أكثر وحدات Wi-Fi استخدامًا وتأتي مع العديد من الميزات ذات الحجم الصغير مع أوضاع مختلفة بما في ذلك وضع السكون ويمكن الوصول إلى هذه الأوضاع باستخدام بعض التعديلات في الأجهزة والبرامج. لمعرفة المزيد حول ESP8266 ، يمكنك التحقق من مشاريعنا القائمة على إنترنت الأشياء باستخدام وحدة ESP826 Wi-Fi ، وبعضها مذكور أدناه:
- التواصل بين ESP8266 NodeMCU مع متحكم Atmega16 لإرسال بريد إلكتروني
- إرسال بيانات مستشعر درجة الحرارة والرطوبة إلى قاعدة بيانات Firebase Real-Time باستخدام NodeMCU ESP8266
- إضاءة LED يتم التحكم فيها بإنترنت الأشياء باستخدام Google Firebase Console و ESP8266 NodeMCU
سنشرح هنا أوضاع السكون المختلفة المتوفرة في ESP8266 ونوضحها عن طريق إرسال بيانات درجة الحرارة إلى خادم Thingspeak في فترة زمنية منتظمة باستخدام وضع السكون العميق.
المكونات مطلوبة
- وحدة واي فاي ESP8266
- مستشعر درجة الحرارة LM35
- أسلاك توصيل
أنواع أوضاع النوم في ESP8266
تعمل وحدة Esp8266 في الأوضاع التالية:
- الوضع النشط: في هذا الوضع ، يتم تشغيل الشريحة بأكملها ويمكن للرقاقة استقبال البيانات ونقلها. من الواضح أن هذا هو الوضع الأكثر استهلاكًا للطاقة.
- وضع السكون المودم: في هذا الوضع ، تعمل وحدة المعالجة المركزية ويتم تعطيل أجهزة راديو Wi-Fi. يمكن استخدام هذا الوضع في التطبيقات التي تتطلب عمل وحدة المعالجة المركزية ، كما هو الحال في PWM. إنه يجعل دائرة مودم Wi-Fi متوقفة عن التشغيل أثناء الاتصال بـ Wi-Fi AP (نقطة الوصول) بدون نقل البيانات لتحسين استهلاك الطاقة.
- وضع السكون الخفيف: في هذا الوضع ، يتم إيقاف وحدة المعالجة المركزية وجميع الأجهزة الطرفية مؤقتًا. أي إيقاظ مثل المقاطعات الخارجية سوف يوقظ الشريحة. بدون نقل البيانات ، يمكن إيقاف تشغيل دائرة مودم Wi-Fi وتعليق وحدة المعالجة المركزية لتوفير استهلاك الطاقة.
- وضع السكون العميق: في هذا الوضع ، يعمل RTC فقط ويتم إيقاف تشغيل جميع المكونات الأخرى للرقاقة. هذا الوضع مفيد حيث يتم إرسال البيانات بعد فترات زمنية طويلة.
قم بتوصيل مستشعر درجة الحرارة LM35 مع دبوس A0 الخاص بـ NodeMCU.
عندما تحتوي وحدة ESP على HIGH على طرف RST ، فهي في حالة التشغيل. بمجرد أن يتلقى إشارة منخفضة على دبوس RST ، تتم إعادة تشغيل ESP.
اضبط المؤقت باستخدام وضع السكون العميق ، بمجرد انتهاء المؤقت ، يرسل دبوس D0 إشارة منخفضة إلى دبوس RST وستستيقظ الوحدة عن طريق إعادة تشغيلها.
الآن ، الجهاز جاهز ومجهز جيدًا. سيتم إرسال قراءات درجة الحرارة على خادم Thingspeak. لهذا ، قم بإنشاء حساب على موقع Thingspeak.com وقم بإنشاء قناة من خلال اتباع الخطوات التالية.
الآن ، انسخ مفتاح Write API. والتي سيتم استخدامها في كود ESP.
ESP8266 برمجة وضع النوم العميق
سيتم استخدام Arduino IDE المتاح بسهولة لبرمجة وحدة ESP8266. تأكد من تثبيت جميع ملفات اللوحة ESP8266.
ابدأ بتضمين جميع المكتبات المهمة المطلوبة.
#تضمن
بمجرد تضمين جميع المكتبات للوصول إلى الوظائف ، قم بتعيين مفتاح كتابة API ، وقم بتكوين اسم Wi-Fi وكلمة المرور. ثم أعلن عن جميع المتغيرات لمزيد من الاستخدام حيث يتم تخزين البيانات.
سلسلة apiWritekey = "*************" ؛ // استبدل بمفتاح THINGSPEAK WRITEAPI هنا char ssid = "******" ؛ // اسم wifi SSID كلمة مرور char = "******" ؛ // wifi pasword
الآن ، قم بعمل وظيفة لتوصيل الوحدة بشبكة Wi-Fi باستخدام وظيفة wifi.begin () ثم تحقق باستمرار حتى لا يتم توصيل الوحدة بشبكة Wi-Fi باستخدام حلقة while.
باطل connect1 () { WiFi.disconnect () ؛ تأخير (10) ؛ WiFi.begin (SSID ، كلمة المرور) ؛ بينما (WiFi.status ()! = WL_CONNECTED) {
قم بعمل وظيفة أخرى لإرسال البيانات إلى خادم الأشياء. هنا ، سيتم إرسال سلسلة تحتوي على مفتاح كتابة API ورقم الحقل والبيانات التي يجب إرسالها. ثم أرسل هذه السلسلة باستخدام دالة client.print ().
بيانات باطلة () { if (client.connect (server، 80)) { String tsData = apiWritekey؛ tsData + = "& field1 =" ؛ tsData + = String (tempF) ؛ tsData + = "\ r \ n \ r \ n"؛ client.print ("POST / update HTTP / 1.1 \ n") ؛ client.print ("المضيف: api.thingspeak.com \ n") ؛
اتصل بوظيفة connect1 التي ستستدعي الوظيفة للاتصال بشبكة Wi-Fi ثم أخذ قراءات درجة الحرارة وتحويلها إلى درجة مئوية.
إعداد باطل () { Serial.begin (115200) ؛ Serial.println ("الجهاز في وضع الاستيقاظ") ؛ connect1 () ؛ قيمة int = analogRead (A0) ؛ تعويم فولت = (القيمة / 1024.0) * 5.0 ؛ درجة الحرارة = فولت * 100.0 ؛
الآن ، اتصل بوظيفة data () لتحميل البيانات على Thingspeak cloud. أخيرًا ، الوظيفة المهمة التي يجب استدعاءها هي ESP.deepSleep () ؛ سيؤدي ذلك إلى جعل الوحدة تنام لفترة زمنية محددة وهي بالميكروثانية.
البيانات()؛ Serial.println ("سكون عميق لمدة 15 ثانية") ؛ ESP.deepSleep (15e6) ،
ستبقى وظيفة الحلقة فارغة حيث يجب تنفيذ كل المهام مرة واحدة ثم إعادة تعيين الوحدة بعد الفاصل الزمني المحدد.
يتم تقديم فيديو العمل والكود الكامل في نهاية هذا البرنامج التعليمي. قم بتحميل الكود في الوحدة النمطية ESP8266. قم بإزالة السلك المتصل RST و D0 قبل تحميل البرنامج وإلا فسيظهر خطأ.
اختبار DeepSleep في ESP8266
بعد تحميل البرنامج ، سترى أن قراءات درجة الحرارة يتم تحميلها على سحابة ThingSpeak بعد كل 15 ثانية ثم تدخل الوحدة في وضع السكون العميق.
هذا يكمل البرنامج التعليمي حول استخدام Deep Sleep في وحدة ESP8266. النوم العميق ميزة مهمة للغاية وقد تم تضمينها في معظم الأجهزة. يمكنك الرجوع إلى هذا البرنامج التعليمي وتطبيق هذه الطريقة لمشاريع مختلفة. في حالة وجود أي شك أو اقتراح ، يرجى الكتابة والتعليق أدناه. كما يمكنك الوصول إلى منتدانا.