- مكونات الأجهزة المستخدمة:
- وحدة البرمجة ESP-01 باستخدام محول CP2102 USB-TTL:
- توصيل ESP-01 بوحدة CP2102:
- برمجة وحدة ESP-01 لأتمتة المنازل من Alexa
- مخطط الرسم البياني
- قم بإعداد تطبيق Amazon Alexa لأتمتة المنزل
أصبحت مكبرات الصوت الذكية مثل Amazon Echo أو Google home شائعة الآن أيامًا وكلاهما لديه القدرة على دمج مهارة أو إجراء مخصص للتحكم في أي جهاز باستخدام تلك السماعات الذكية. لقد قمنا سابقًا ببناء مكبر الصوت الذكي الخاص بنا باستخدام Raspberry Pi و Alexa ، وكذلك التحكم في الأجهزة المنزلية باستخدام مكبر الصوت الذكي Raspberry Pi.
أصبحت أتمتة المنزل شائعة جدًا في أيامنا هذه ، ويستخدم الناس إنترنت الأشياء لأتمتة كل شيء في منازلهم. هنا في هذا البرنامج التعليمي ، سنستخدم مكبر صوت نقطي Real Amazon Echo وننشئ مهارة مخصصة للتحكم في الأجهزة المنزلية التي تعمل بالتيار المتردد مثل الأضواء والمراوح وأجهزة التلفزيون والمآخذ باستخدام مكبر صوت Amazon Echo dot. هنا سوف نستخدم Arduino UNO ووحدة ESP8266-01 Wi-Fi لتوصيل مكبر صوت Echo dot بأجهزة التيار المتردد. بعد هذا البرنامج التعليمي ، ستتمكن من التحكم في أي جهاز من خلال Alexa.
مكونات الأجهزة المستخدمة:
- اردوينو UNO
- وحدة ESP-01
- نقطة صدى أمازون أليكسا
- محول CP2102 USB-TTL
- اللوح
- وحدة التتابع 5 فولت
- أجهزة التكييف
- صداري
وحدة البرمجة ESP-01 باستخدام محول CP2102 USB-TTL:
هنا يتم برمجة ESP-01 باستخدام محول CP2102 USB-TTL ؛ يمكن أيضًا برمجتها باستخدام لوحة Arduino UNO. هنا في حالتي ، لقد استخدمت وحدة CP2102 والخطوات للقيام بذلك موضحة أدناه.
وحدة ESP-01
ESP8266 ESP-01 عبارة عن وحدة Wi-Fi شائعة جدًا في تصميم تطبيقات إنترنت الأشياء ويتم استخدامها للسماح لوحدات التحكم الدقيقة مثل Arduino UNO بالاتصال بالإنترنت. هذه الوحدة عبارة عن نظام قائم بذاته على شريحة (SOC) يمكن أن يعمل كجهاز كمبيوتر صغير. يأتي مع برنامج ثابت AT مثبت مسبقًا ، وبالتالي يمكننا برمجته باستخدام Arduino IDE. يمكنك معرفة المزيد حول جهاز الإرسال والاستقبال ESP-01 Wi-Fi وبرمجته باستخدام Arduino IDE باتباع الرابط.
دبوس الوصف:
VCC: دبوس إمداد الطاقة ESP-01 والذي يمكن تزويده بجهد 3.3 فولت تيار مستمر
GND: دبوس مرجعي أرضي لـ ESP-01
TXD: يستخدم كدبوس UART Transmitter
RXD: يُستخدم كدبوس استقبال UART
إعادة الضبط: يتم استخدامه لإعادة ضبط الوحدة وهو دبوس منخفض نشط.
CH_PD: إنه دبوس تمكين الشريحة وهو دبوس عالي نشط.
GPIO0: يخدم هذا الدبوس غرضين. أحدهما هو إدخال / إخراج للأغراض العامة والآخر لتمكين وضع البرمجة لـ ESP-01
GPIO2: هذا هو إدخال / إخراج دبوس للأغراض العامة.
توصيل ESP-01 بوحدة CP2102:
يوضح الشكل أدناه مخطط pinout لمحول CP2102 USB-TTL. قم بتوصيل وحدة ESP-01 بوحدة محول CP2102 USB-TTL وفقًا للجدول أدناه.
وحدة ESP-01 |
وحدة CP2102 |
VCC |
3.3 فولت |
GND |
GND |
RXD |
TXD |
TXD |
RXD |
CH_PD |
3.3 فولت |
إعادة تعيين |
لا يوجد اتصال |
GPIO0 |
GND |
GPIO2 |
لا يوجد اتصال |
بعد اكتمال الاتصال أعلاه بنجاح ، يجب أن تبدو الدائرة كما يلي:
ثم قم بتوصيل وحدة CP2102 بجهاز الكمبيوتر الخاص بنا للبرمجة. قبل تحميل الرمز إلى ESP-01 ، تحقق أولاً من منفذ الاتصال. لهذا انتقل إلى البدء> وابحث عن مدير الجهاز. ثم انقر فوق COMs and Ports. بموجب هذا الخيار ، يجب أن نحصل على منفذ COM مع اسم محول USB-TTL مثل " Silicon labs CP21xx USB-UART Bridge " كما هو موضح في الصورة أدناه:
بعد الانتهاء بنجاح من الخطوات المذكورة أعلاه ، افتح Arduino IDE وحدد اللوحة كـ " Generic ESP8266 Module " من قائمة الأدوات وحدد منفذ COM الذي حصلنا عليه في المرحلة السابقة.
برمجة وحدة ESP-01 لأتمتة المنازل من Alexa
يتم إعطاء رمز كامل في نهاية هذا المشروع. إليك الشرح التدريجي للكود الذي سيتم تحميله على وحدة ESP-01. الخطوة الأولى هي تضمين جميع المكتبات الضرورية. يمكنك تنزيل مكتبة "fauxmoESP.h" من الرابط هنا.
# تضمين # تضمين
في هذه الخطوة ، يتعين علينا تحديد جميع بيانات الاعتماد المطلوبة لتوصيل ESP-01 بالإنترنت. قم بتحديث بيانات SSID وكلمة المرور الخاصة بشبكتك في البرنامج.
#define SSID "*******" #define pass "*******"
بعد ذلك ، حدد اسم الأجهزة التي نحتاج إلى التحكم فيها من Alexa. في حالتي ، اتخذت أسماء أجهزتي على أنها " إضاءة غرفة النوم " و " مروحة غرفة النوم " و " مقبس ذكي " .
#define device1 "bedroom light" #define device2 "bedroom fan" #define device3 "smart socket"
يتم استخدام وظيفة WiFi.mode لإعداد وحدة ESP-01 كوضع المحطة ويتم استخدام الوظيفة WiFi.begin لتوصيل وحدة ESP-01 بالإنترنت والتي تأخذ SSID وكلمة المرور للشبكة كوسيطين لها.
WiFi.mode (WIFI_STA) ؛ WiFi.begin (ssid ، تمرير) ؛
الجزء التالي هو تهيئة جميع وظائف فئة Fauxmo مثل إنشاء الخادم ، وتمكين رقم المنفذ لجهاز Alexa ، وتمكين الجهاز ، وما إلى ذلك ، ثم إضافة جميع الأجهزة باستخدام fauxmo.addDevice الذي أنشأناه سابقًا.
fauxmo.createServer (صحيح) ؛ fauxmo.setPort (80) ؛ fauxmo.enable (صحيح) ؛ fauxmo.addDevice (device1) ؛ fauxmo.addDevice (device2) ؛ fauxmo.addDevice (device3) ؛
بعد ذلك ، اكتب وظيفة لمقارنة أوامرنا الصوتية بأسماء الأجهزة المحددة مسبقًا. إذا تطابق الأمر ، فأرسل حرفًا إلى محطات Arduino التسلسلية باستخدام Serial.print.
fauxmo.onSetState ((char device_id ، const char * device_name ، الحالة المنطقية ، قيمة char غير الموقعة) {if (strcmp (device_name ، device1) == 0) {if (state) Serial.print ("1") ؛ وإلا مسلسل.print ("2") ؛}}
في وظيفة الحلقة الفارغة () ، ستقوم وظيفة fauxmo.handle بالتحقق من البيانات الواردة من Alexa وستتخذ إجراءات باستخدام وظيفة onSetstate () .
حلقة باطلة () {fauxmo.handle () ، }
الآن قم بتحميل الكود الكامل المعطى في نهاية وحدة ESP-01 وتأكد من التحميل الناجح.
كود اردوينو:
بعد ذلك ، حان الوقت لتحميل الكود في Arduino. رمز Arduino بسيط للغاية. يتلقى فقط الأحرف المرسلة من وحدات ESP-01 من خلال محطات UART الخاصة به ويقارنها لإرسال إشارة التشغيل / الإيقاف إلى المرحل. البرنامج الكامل لاردوينو موضح أدناه:
بيانات شار إعداد باطل () {Serial.begin (115200) ؛ pinMode (7 ، الإخراج) ؛ pinMode (6 ، الإخراج) ؛ pinMode (5 ، الإخراج) ؛ digitalWrite (7 ، منخفض) ؛ digitalWrite (6 ، منخفض) ؛ digitalWrite (5 ، منخفض) ؛ } void loop () {if (Serial.available ()> 0) {data = Serial.read ()؛ Serial.print (بيانات) ؛ Serial.print ("\ n") ؛ إذا كانت (البيانات == '1') digitalWrite (7 ، عالية) ؛ وإلا إذا كانت (data == '2') digitalWrite (7، LOW) ؛ وإلا إذا كانت (data == '3') digitalWrite (6، HIGH) ؛ وإلا إذا كانت (data == '4') digitalWrite (6، LOW) ؛ وإلا إذا كانت (data == '5') digitalWrite (5، HIGH) ؛ وإلا إذا كانت (data == '6') digitalWrite (5، LOW) ؛ }}
بعد التحميل الناجح ، يقوم الكود بـ Arduino ، بعد ذلك بتوصيل الجهاز وفقًا للخطط الموضحة أدناه.
مخطط الرسم البياني
يظهر الرسم البياني لدائرة أتمتة المنزل باستخدام Alexa أدناه:
لقد قمنا هنا بلحام جميع المكونات الموجودة على Perfboard بحيث تعمل كدرع Arduino.
وبالمثل ، قمنا أيضًا ببناء وحدة ترحيل على لوحة Perfboard:
قم بإعداد تطبيق Amazon Alexa لأتمتة المنزل
بعد الانتهاء بنجاح من إعداد الأجهزة والترميز ، حان الوقت الآن لإعداد تطبيق Alexa Android. أولاً ، نحتاج إلى البحث عن أي أجهزة ذكية قريبة من خلال هذا التطبيق. للقيام بذلك ، قم بتشغيل جهاز Alexa الخاص بك ، ثم افتح تطبيق Alexa الخاص بك وانقر فوق الخيار " الأجهزة " ثم انقر فوق علامة "+" التي تطلب منك " إضافة جهاز ". ثم انقر فوق " إضافة جهاز " ، في نوع الجهاز انقر فوق " أخرى " ثم حدد اكتشاف الأجهزة. ثم يجب أن يبحث تطبيق Alexa عن الجهاز الذي قد يستغرق ما يصل إلى 45 ثانية.
ملاحظة: بدلاً من ذلك ، يمكننا أيضًا اكتشاف الأجهزة باستخدام الأمر الصوتي " Alexa ، اكتشف الأجهزة "
بعد الانتهاء من اكتشاف الجهاز ، يجب أن تحصل على 3 أجهزة جديدة بالاسم التي قدمناها في الكود. في حالتي، وهذه هي ضوء غرفة النوم ، مروحة غرفة النوم، و مقبس الذكية . الآن الإعداد جاهز للاختبار ، ما عليك سوى الاختبار بقول " Alexa ، قم بتشغيل ضوء غرفة النوم " ويجب أن يعيد ملاحظاتك قائلاً "حسنًا" ، ويجب أن يتم تشغيل الضوء. وبالمثل ، يمكننا اختبار جميع الأوامر الأخرى.
هكذا سيبدو الإعداد الكامل للأجهزة المنزلية التي يتم التحكم فيها بواسطة نقطة Amazon Echo:
يتم توفير رمز كامل لـ ESP-01 مع فيديو توضيحي أدناه.