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

مصباح القمر IoT: 5 خطوات
مصباح القمر IoT: 5 خطوات

فيديو: مصباح القمر IoT: 5 خطوات

فيديو: مصباح القمر IoT: 5 خطوات
فيديو: برمجة كاميرا المراقبة على شكل لمبة - برنامج Yi loT 2024, شهر نوفمبر
Anonim
مصباح القمر IoT
مصباح القمر IoT

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

يشمل هذا المشروع:

  • لحام.
  • برمجة ESP8266 مع Arduino IDE ؛
  • إنشاء تطبيق android باستخدام MIT App Inventor.

الهدف من الاهتمام هو هذا المصباح على شكل القمر الذي اشتريته من gearbest. ولكن حقًا يمكن تكييف هذا البرنامج التعليمي مع أي جهاز منخفض الجهد DC (تتطلب الأجهزة التي تعمل بالتيار المتردد دوائر إضافية).

اللوازم

  1. هاتف Android الذكي (تم اختبار إصدارات Android 7-9).
  2. أدوات اللحام.
  3. النماذج الأولية ثنائي الفينيل متعدد الكلور (بروتوبورد).
  4. لوحة ESP-12E (أو لوحة مطورة أخرى مع متحكم ESP8266).
  5. محول USB التسلسلي للبرمجة.
  6. عدة قيم مختلفة للمكونات السلبية (المقاومات والمكثفات).

(اختياري. راجع قسم "مخطط الحظر")

  1. 3.3V@500mA LDO IC.
  2. 3.3V-5V مجلس محول المستوى المنطقي.
  3. 5V DC امدادات الطاقة.

الخطوة 1: الفكرة

فكرة
فكرة

يتم تشغيل مصباح القمر بواسطة خلية Li-ION 18650 واحدة وله 3 أوضاع تشغيل:

  • إيقاف؛
  • كتيب؛
  • تلقاءي.

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

قررت إضافة ESP8266 للعمل كخادم ويب يستمع إلى الطلبات ويحاكي الضغط على الأزرار وفقًا لذلك. لم أكن أرغب في كسر وظيفة المصباح الأصلية ، أردت فقط إضافة ميزات تحكم إضافية عبر WiFi ، لذلك اخترت ESP لمحاكاة ضغطات الأزرار بدلاً من التحكم مباشرة في مصابيح LED. كما سمح لي هذا بالتفاعل مع الدوائر الأصلية إلى الحد الأدنى.

عندما تم الانتهاء من النموذج الأولي ، كان يقود حوالي 80 مللي أمبير باستمرار من البطارية في حالة إيقاف التشغيل (حوالي 400 مللي أمبير عند السطوع الكامل). تيار الاستعداد مرتفع لأن ESP8266 يعمل كخادم ومتصل دائمًا بشبكة WiFi ويستمع إلى الطلبات. تم استنفاد البطارية بعد يوم ونصف في حالة إيقاف التشغيل فقط ، لذلك قررت لاحقًا استخدام منفذ شحن مصابيح USB لتشغيل جميع الأجهزة الإلكترونية من مصدر طاقة خارجي 5 فولت وبطارية متخلفة معًا (ولكن هذا اختياري).

الخطوة 2: مخطط الكتلة

مخطط كتلة
مخطط كتلة

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

وفقًا للوثائق ، يتحمل ESP8266 3.3 فولت فقط ، ولكن هناك الكثير من الأمثلة عندما يعمل ESP8266 جيدًا تمامًا مع 5 فولت ، لذلك يمكن ترك محول المستوى المنطقي و 3.3 فولت LDO ، ومع ذلك بقيت مع أفضل الممارسات وأضفت تلك المكونات.

لقد استخدمت 3 دبابيس ESP8266 I / O ودبوس ADC. أحد أطراف الإخراج الرقمي مخصص لمحاكاة ضغطات الأزرار ، ومدخلان رقميان مخصصان لاكتشاف ألوان LEDs (من هذا يمكننا معرفة الحالة التي تكون فيها MCU والحالة التالية بعد الضغط على الزر). يقيس دبوس ADC جهد الدخل (من خلال مقسم الجهد) ، هكذا يمكننا مراقبة مستوى شحن البطارية المتبقي.

كمصدر طاقة خارجي ، أستخدم شاحن الهاتف القديم 5V @ 1A (لا تستخدم أجهزة الشحن السريعة).

الخطوة الثالثة: البرمجة

برمجة
برمجة
برمجة
برمجة

باختصار ، يعمل البرنامج بهذه الطريقة (لمزيد من المعلومات ، راجع الكود نفسه):

يتصل ESP8266 بنقطة وصول WiFi الخاصة بك والتي يجب أن تدخلها في بداية الكود قبل البرمجة ، ويحصل على عنوان IP من خادم DHCP الخاص بالموجهات ، لمعرفة IP الذي ستحتاج إليه لاحقًا ، يمكنك التحقق من إعدادات DHCP لواجهة الويب الخاصة بالموجهات أو تعيينها علامة تصحيح الأخطاء في الرمز إلى 1 وسترى ما حصلت عليه IP ESP في الشاشة التسلسلية (يجب أن تحتفظ بهذا IP في إعدادات أجهزة التوجيه الخاصة بك حتى تحصل ESP دائمًا على نفس عنوان IP عند التشغيل).

عند تهيئة MCU دائمًا ما ينفذ نفس الإجراء إلى الأبد:

  1. تحقق مما إذا كنت لا تزال متصلاً بـ AP ، إذا لم تحاول إعادة الاتصال حتى تنجح.
  2. انتظر حتى يقوم العميل بإجراء طلب HTTP. عندما يحدث الطلب:

    1. تحقق من جهد الدخل.
    2. تحقق من حالة مصابيح LED.
    3. تطابق طلب HTTP مع حالات LED المعروفة (تشغيل أزرق ، تشغيل برتقالي ، كلاهما قيد التشغيل ، إيقاف التشغيل).
    4. قم بمحاكاة الكثير من ضغطات الأزرار حسب الحاجة لتحقيق الحالة المطلوبة.

سوف أصف بإيجاز تعليمات البرمجة ، إذا كانت هذه هي المرة الأولى التي تقوم فيها ببرمجة ESP8266 MCU ، فابحث عن مزيد من الإرشادات المتعمقة.

ستحتاج إلى Arduino IDE ومحول واجهة USB التسلسلي (على سبيل المثال FT232RL). لإعداد IDE ، اتبع هذه التعليمات.

اتبع مخطط الدائرة لتوصيل وحدة ESP-12E للبرمجة. بعض النصائح:

  • استخدام مصدر طاقة خارجي 3.3V@500mA (في معظم الحالات ، لا يكفي مصدر طاقة USB التسلسلي) ؛
  • تحقق مما إذا كان محول USB التسلسلي متوافقًا مع مستوى المنطق 3.3 فولت ؛
  • تحقق مما إذا كانت برامج تشغيل محول USB التسلسلي مثبتة بنجاح (من مدير جهاز Windows) ، كما يمكنك التحقق مما إذا كانت تعمل بشكل صحيح من IDE ، فقط دبابيس RX و TX قصيرة ، من منفذ COM المحدد من IDE ، افتح الشاشة التسلسلية واكتب شيئًا ، إذا كان كل شيء يعمل يجب أن ترى النص الذي ترسله يظهر في وحدة التحكم ؛
  • لسبب ما ، كنت قادرًا على برمجة ESP فقط عندما قمت بتوصيل محول USB التسلسلي لأول مرة بجهاز الكمبيوتر ثم تشغيله على ESP من مصدر خارجي 3.3 فولت ؛
  • بعد البرمجة الناجحة ، لا تنس رفع GPIO0 عند التمهيد التالي.

الخطوة 4: التخطيطي واللحام

التخطيطي واللحام
التخطيطي واللحام
التخطيطي واللحام
التخطيطي واللحام
التخطيطي واللحام
التخطيطي واللحام

اتبع التخطيطي لحام جميع المكونات إلى لوح الحماية. كما ذكرنا من قبل ، بعض المكونات اختيارية. لقد استخدمت KA78M33 3.3V LDO IC ولوحة محول المستوى المنطقي هذه من sparkfun ، بدلاً من ذلك ، يمكنك عمل المحول بنفسك كما هو موضح في التخطيطي (يمكنك استخدام أي قناة N-channel mosfet بدلاً من BSS138). في حالة التمسك باستخدام بطارية Li-ION ، ستكون شبكة طاقة + 5 فولت محطة بطارية موجبة. الجهد المرجعي ESP8266 ADC هو 1 فولت ، تسمح قيم مقسم المقاوم الذي اخترته بقياس جهد الدخل حتى 5.7 فولت.

يجب أن يكون هناك 5 توصيلات بمصباح ثنائي الفينيل متعدد الكلور الأصلي: + 5 فولت (أو + بطارية) ، GND ، زر ضغط ، إشارات PWM من مصابيح MCU للتحكم في المصابيح الزرقاء والبرتقالية. إذا كنت تقوم بتشغيل مصباح من مصدر 5 فولت ، كما فعلت ، فستحتاج إلى اختصار شاحن البطارية IC VCC pin مع OUTPUT pin ، وبهذه الطريقة سيتم تشغيل جميع الأجهزة الإلكترونية مباشرة من + 5V وليس من شاحن البطارية OUTPUT.

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

ملحوظات:

  1. إذا قررت اختصار + 5V مع خرج IC لشاحن البطارية ، فقم بإزالة البطارية تمامًا قبل القيام بذلك ، فأنت لا تريد توصيل + 5V مباشرة بالبطارية.
  2. انتبه إلى أي دبوس زر الضغط الذي قمت بإنتاجه ESP ، لأن دبابيس زر الضغط متصلة بالأرض ولا تريد أن تقصر الدائرة عندما يكون خرج ESP مرتفعًا ، والتحقق المزدوج بشكل أفضل باستخدام المتر المتعدد.

الخطوة 5: تطبيق Android

الروبوت التطبيق
الروبوت التطبيق
الروبوت التطبيق
الروبوت التطبيق
الروبوت التطبيق
الروبوت التطبيق

تم إنشاء تطبيق Android مع مخترع تطبيق MIT ، لتنزيل تطبيق و / أو استنساخ مشروع لنفسك ، انتقل إلى هذا الرابط (ستحتاج إلى حساب google للوصول إليه).

عند التشغيل الأول ، ستحتاج إلى فتح الإعدادات وإدخال عنوان IP الخاص بـ ESP8266. سيتم حفظ عنوان IP هذا ، لذا لا داعي لإدخاله مرة أخرى بعد إعادة تشغيل البرنامج.

تم اختبار التطبيق مع العديد من أجهزة Android 9 و android 7.

موصى به: