תוכן עניינים:

מתג ממסר IOT המבוסס על Arduino המבוסס על קול (Google Home ותמיכה ב- Alexa): 11 שלבים
מתג ממסר IOT המבוסס על Arduino המבוסס על קול (Google Home ותמיכה ב- Alexa): 11 שלבים

וִידֵאוֹ: מתג ממסר IOT המבוסס על Arduino המבוסס על קול (Google Home ותמיכה ב- Alexa): 11 שלבים

וִידֵאוֹ: מתג ממסר IOT המבוסס על Arduino המבוסס על קול (Google Home ותמיכה ב- Alexa): 11 שלבים
וִידֵאוֹ: How to use 2 channel relay to control AC and DC loads in Arduino 2024, יוני
Anonim
מתג ממסר IOT נשלט קול מבוסס ארדואינו (דף הבית של Google ותמיכה ב- Alexa)
מתג ממסר IOT נשלט קול מבוסס ארדואינו (דף הבית של Google ותמיכה ב- Alexa)

פרויקט זה מתאר כיצד ליצור מתג ממסר IOT מבוסס Arduino, נשלט בקול. זהו ממסר שניתן להפעיל ולכבות מרחוק באמצעות אפליקציה ל- iOS ולאנדרואיד, וכן לקשור אותו ל- IFTTT ולשלוט בו באמצעות הקול שלך גם באמצעות Google Home ו/או Alexa. אנו נכסה את כל השלבים הדרושים ליצירת המכשיר, חיבור האפליקציה והתחברות גם בשירותי IOT השונים.

אספקה

  • Wemos D1 Mini Lite ESP8285 (כמה דולרים באמזון)
  • מודול ממסר 5V עבור Arduino/Raspberry Pi
  • טרנזיסטור NPN 2N2222
  • נגד 47K אוהם
  • נגד 1K אוהם

שלב 1: בנה את המעגל

בנה את המעגל
בנה את המעגל
בנה את המעגל
בנה את המעגל
בנה את המעגל
בנה את המעגל

השלב הראשון הוא חיבור המעגל. צירפתי תרשים חיווט סכמטי ומסורתי, תלוי למה אתה רגיל. עשיתי את המעגל הראשון שלי על לוח אבות -טיפוס ולאחר מכן העברתי אותו ל- PCB להתקנה קבועה יותר ושכנתי אותו בקופסת פרויקט מודפסת תלת -ממדית.

הממסר הוא ממסר H/L 5V מבודד אופטי, כלומר, ראשית, מעגל ההדק מבודד אופטית מהפעלת הממסר עצמו, המסיר כל בעיה פוטנציאלית עם משוב מהממסר בחזרה למיקרו הבקר של Wemos. בטיחות נחמדה שיש. שנית, הוא ניתן להחלפה גבוהה/נמוכה, כלומר ניתן להגדיר אותו על ידי הזזת המגשר הצהוב שאתה רואה בתמונות, מפעולה כאשר האות גבוה (+5V), או הפעלה כאשר האות נמוך (0V). ה- Wemos עצמו שולח 3.3V מהסיכות הדיגיטליות שלו ואנו משתמשים ב- D1 כמקור ההדק שלנו, מה שאומר שעלינו להגביר אותו מעט, כך שיתקרב לאות דיגיטלי +5V כדי להפעיל את הממסר. לחילופין תוכל להשתמש בממסר 3.3V ולחסל את רכיב מגבר הטרנזיסטור במעגל ולעבור ישר מ- D1 אל סיכת האות בממסר. לא היו לי ממסרים של 3.3V, אז אנחנו משתמשים בממסר 5V נפוץ יותר ובמעגל המגבר.

DC+ ו- DC- על הממסר מתחברים לסיכות 5V ו- GND של ה- Wemos, המספקות את המתח הדרוש להפעלת הממסר. הממסר מדורג ממתחים קטנים עד מתח הקווים, אך אני משתמש בזה כדי לשלוט ביישום חיווט במתח נמוך. אם אתה משתמש בזה כדי לשלוט במתח הקו, ודא שאתה יודע מה אתה עושה, אתה מוסמך ונוקט באמצעי הזהירות המתאימים. אם לא, אל תשתמש בזה כדי לשלוט ביישומי מתח קו.

פין D1 ב- Wemos מתחבר לנגד 47K אוהם שנכנס לבסיס על הטרנזיסטור NPN. הפולט מתחבר לאדמה. האספן מחובר לקלט האות בממסר. הממסר מוגדר להפעיל על נמוך, כך שכאשר D1 נותן אות, האות 3.3v מוגבר לכ- 5V והממסר פתוח. כאשר D1 יורד, האות אל הממסר יורד והממסר נסגר ומשלים מעגל.

שכחתי לצלם את המעגל הזמני שלי על לוח הלוח עם אב טיפוס, אבל זה נראה בדיוק כמו תרשים Fritzing למעלה, אם זה עוזר. כללתי מספר תמונות של המעגל הקבוע הסופי שלי, כך שתוכל לראות כיצד הוא מחובר, למקרה שתזדקק לתובנות כלשהן או שתצטרך נראות לגבי הרכיבים הספציפיים שבהם אני משתמש.

שלב 2: תכנות ה- Wemos - סקירה כללית

אחד הדברים שאני אוהב בוומוס הוא שניתן לתכנת אותם בדיוק כמו ארדואינו, באמצעות אותו IDE. יש כאן כמה צעדים.

  1. התקן את מנהלי ההתקן של Wemos למחשב יכול לדבר עם Wemos
  2. עדכן את Arduino IDE כך שלוח Wemos יהיה זמין
  3. בצע בדיקת "מהבהב" מהירה כדי לוודא שהכל פועל כראוי
  4. תתכונן עם בלינק (אני יודע שזה מבלבל, אבל זה בעצם שונה מ"בדיקת המצמוץ ")
  5. קבל קוד יישום מ- Blynk
  6. עדכן את קוד Wemos/Arduino עם המידע Blynk
  7. העלה את הקוד להגדרת Wemos שלך.

שלב 3: תכנות ה- Wemos - התקן דרייברים

תכנות ה- Wemos - התקן דרייברים
תכנות ה- Wemos - התקן דרייברים

עבור לכאן (נראה שהקישור משתנה מעת לעת, אנסה לעדכן אותו):

www.wemos.cc/en/latest/ch340_driver.html

והורד את חבילת מנהל ההתקן המתאימה למערכת ההפעלה שלך. לאחר מכן חלץ את ה- zip לספרייה והפעל את יישום "SETUP" כדי להתקין אותו.

כשעשיתי זאת בפעם הראשונה, קיבלתי שגיאה מוזרה על כך שלא התקנתי. ראיתי הערה של מישהו אחר על זה ועל הפתרון שלו, שעבד בשבילי. אז אם אתה מקבל שגיאה, נסה להשתמש בכפתור "הסר התקנה" ולאחר מכן השתמש שוב ב"התקנה ". אני מקווה שזה מנקה את הנושא כמו שזה עשה לי.

שלב 4: תכנות ה- Wemos - עדכן את Arduino IDE

תכנות ה- Wemos - עדכן את ה- Arduino IDE
תכנות ה- Wemos - עדכן את ה- Arduino IDE
תכנות ה- Wemos - עדכן את ה- Arduino IDE
תכנות ה- Wemos - עדכן את ה- Arduino IDE
תכנות ה- Wemos - עדכן את ה- Arduino IDE
תכנות ה- Wemos - עדכן את ה- Arduino IDE

אם לא התקנת את Arduino IDE, הגיע הזמן לעשות זאת כעת. אתה יכול להוריד אותו מ www.arduino.cc

להלן הפניה למה שאנחנו הולכים לעשות בשלב זה.

wiki.wemos.cc/tutorials:get_started:get_st…

  1. בוא נתקין את הלוח החדש כך שיופיע כאופציה ב- Arduino IDE. שלבים 2 - 4 מובאים ממדריך ההתקנה בדף github הבא.

    github.com/esp8266/Arduino

  2. הפעל את Arduino IDE ופתח את חלון העדפות.
  3. הזן "https://arduino.esp8266.com/stable/package_esp8266com_index.json" בשדה כתובות אתרים נוספות של מנהל הלוח. אתה יכול להוסיף מספר כתובות אתרים ולהפריד אותן באמצעות פסיקים.
  4. פתח את מנהל הלוחות מתוך כלים> לוח> מנהל לוחות (למעלה), חפש "esp8266" והתקן את הפלטפורמה של esp8266 הרשומה.
  5. בשלב זה תראה לוחות Wemos בכלי העבודה → לוח: xxx בחר את Wemos D1 Mini. במקרה שלי, כפי שניתן לראות מהתמונה, השם הספציפי היה "LOLIN (WEMOS) D1 R2 & mini"
  6. חבר כבל USB בין המחשב ל- Wemos
  7. ודא שה"יציאה "פעילה כעת בתפריט כלים ונראית נכונה.

שלב 5: תכנות ה- Wemos - מבחן הבזק

תכנות ה- Wemos - מבחן הבזק
תכנות ה- Wemos - מבחן הבזק

לפני שנמשיך הלאה, עלינו לוודא שנוכל לתקשר עם לוח Wemos והכל נראה בסדר. הדרך הקלה ביותר לעשות זאת היא לחבר כבל USB ולנסות לדחוף תוכנית פשוטה ל- Wemos. בלינק היא הדוגמה הקלה ביותר וחסכה לי הרבה טרחה בעבודה עם לוחות חדשים, שאני תמיד עושה את זה קודם.

  1. עבור אל: קובץ> דוגמאות> ESP8266> מהבהב וטען את סקיצת ההבהוב עבור מכשיר Wemos
  2. הידור והעלה את המערכון

אם הנורית הכחולה מתחילה להבהב בערך פעם בשנייה, אז אתה מוזמן להמשיך לשלב הבא! אם לא, חזור על הבעיה ופתור את השלבים הקודמים. בדוק אם יש בעיה עם הנהגים ומנהל הלוח. היו לי כמה בעיות בחבילת הלוח ל- ESP8266 והייתי צריך להסיר אותה לגמרי ולהתקין אותה מחדש בגלל משהו מוזר עם גרסאות שקורות. אל תוותרו, וחיפושים באינטרנט יכולים להיות החברים שלכם!

בהנחה שהכל טוב, המשך לשלב הבא.

שלב 6: תכנות ה- Wemos - הגדרת Blynk

תכנות הוומוס - הגדרת Blynk
תכנות הוומוס - הגדרת Blynk
תכנות הוומוס - הגדרת Blynk
תכנות הוומוס - הגדרת Blynk
תכנות הוומוס - הגדרת Blynk
תכנות הוומוס - הגדרת Blynk

בשלבים הבאים, עלינו להקים חשבון עם Blynk ולקבל אסימון שנוכל להשתמש בו כדי לשלוט במעגל שיצרנו.

  1. הורד את האפליקציה וצור חשבון (הוא בחינם)
  2. צור פרויקט חדש
  3. בחר Wemos D1 כחומרה תחת בחר התקן
  4. תן שם לפרויקט ושמור את סוג המחבר כ- WiFi
  5. לחץ על צור פרוייקט
  6. בשלב זה אסימון האימות יישלח בדוא"ל לכתובת הדוא"ל שבה השתמשת בעת יצירת חשבון Blynk שלך. שמור זאת להמשך, נוסיף את הערכים לסקיצה בשלב הבא.
  7. כשתגיע למסך הקנבס הריק, פשוט החלק שמאלה ותקבל את תפריט הווידג'ט. בחר "כפתור" כדי להוסיף "כפתור" לפרויקט
  8. בחר את הכפתור ולאחר מכן הגדר את הסיכה על ידי לחיצה עליו ובחר "דיגיטלי" ו- "D1" בתור ה- pi ולחץ על "אישור"
  9. בשלב זה, הכל צריך להיות מוכן. כדי להפוך את זה לפעיל תרצה לבחור את סמל המשולש בפינה השמאלית העליונה, אך זה עדיין לא יעבוד עד שלא נעלה את הסקיצה ותגדיר אותה, וזה השלב הבא!

שלב 7: תכנות ה- Wemos - התקנת ספריית Blynk

כדי שנוכל להעלות סקיצה מבוססת Blynk, עלינו להתקין את הספרייה שלהם. את הפרטים אפשר למצוא כאן.

github.com/blynkkk/blynk-library/releases

כמו כן, על רקע כלשהו, עיין באתר הראשי שלהם כאן (https://blynk.io/en/getting-started)

זה היה מבלבל אותי בהתחלה, אבל זה הרבה יותר קל ממה שזה נשמע. פשוט פתח את הקובץ לספריית ה- Arduino שלך. בשבילי זה היה ב- / user / Documents / Arduino. כבר הייתה שם תיקייה בשם "ספריות". קובץ ה- zip מכיל ספרייה "ספרייה" וספריית "כלים". כאשר אתה מפרק אותו לספריית Arduino, הוא מוסיף את תוכנו לספריות ויוצר כלים אם הוא לא היה קיים עדיין.

שלב 8: תכנות ה- Wemos - הסקיצה

כמעט סיימנו בשלב זה. הסקיצה די פשוטה, היא היישר מבלינק ובעצם מחברת את שירות בלינק והלוח. אתה יכול להשתמש בבנאי שלהם כאן:

examples.blynk.cc/?board=WeMos%20D1&shield=ESP8266%20WiFi&example=Widgets%2FTerminal

או שאתה יכול להשתמש במדגם זה שאמור לעבוד עבורך. רק וודא שאתה מחליף את הערכים עבור אסימון האימות והאישורים שלך לרשת ה- wifi שלך.

/*************************************************************

הורד את ספריית Blynk האחרונה כאן: https://github.com/blynkkk/blynk-library/releases/latest Blynk היא פלטפורמה עם יישומי iOS ואנדרואיד לשליטה בארדואינו, פטל פיי וכדומה באינטרנט. אתה יכול לבנות ממשקים גרפיים לכל הפרויקטים שלך פשוט על ידי גרירה ושחרור של ווידג'טים. הורדות, מסמכים, הדרכות: https://www.blynk.cc מחולל סקיצות: https://examples.blynk.cc קהילת בלינק: https://community.blynk.cc עקוב אחרינו: https://www.fb. com/blynkapp ספריית Blynk בעלת רישיון תחת רישיון MIT קוד דוגמה זה הינו נחלת הכלל. ********************************************** ************ ניתן לשלוח/לקבל נתונים באמצעות אובייקט WidgetTerminal. הגדרת פרויקט אפליקציות: ווידג'ט מסוף המצורף ל- Virtual Pin V1 ************************************** **********************//*הגיבו על כך כדי להשבית הדפסים ולחסוך מקום*/ #define BLYNK_PRINT Serial #include #include // אתה אמור לקבל אימות אסימון באפליקציית Blynk. // עבור אל הגדרות הפרויקט (סמל אגוז). char auth = "YourAuthToken"; // אישורי ה- WiFi שלך. // הגדר את הסיסמה ל- "" עבור רשתות פתוחות. char ssid = "שם הרשת שלך"; char pass = "סיסמת YourPassword"; // צרף מסוף סידורי וירטואלי למסוף Virtual Pin V1 WidgetTerminal (V1); // אתה יכול לשלוח פקודות מהמסוף לחומרה שלך. פשוט השתמש // באותו סיכה וירטואלית כמו יישומון הטרמינל שלך BLYNK_WRITE (V1) {// אם תקליד "מרקו" בווידג'ט הטרמינל - הוא יגיב: "פולו:" אם (מחרוזת ("מרקו") == param.asStr ()) {terminal.println ("אמרת: 'מרקו'"); terminal.println ("אמרתי: 'פולו'"); } אחר {// שלח אותו בחזרה terminal.print ("אמרת:"); terminal.write (param.getBuffer (), param.getLength ()); terminal.println (); } // ודא שהכל נשלח terminal.flush (); } הגדרת void () {// מסוף באגים Serial.begin (9600); Blynk.begin (auth, ssid, pass); // תוכל גם לציין שרת: //Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80); //Blynk.begin(auth, ssid, pass, IPAddress (192, 168, 1, 100), 8080); // פעולה זו תדפיס את גרסת תוכנת Blynk ל- Widget Terminal כאשר // החומרה שלך מתחברת ל- Blynk Server terminal.println (F ("Blynk v" BLYNK_VERSION ": ההתקן מופעל")); terminal.println (F ("-------------")); terminal.println (F ("הקלד 'מרקו' וקבל תשובה, או הקלד ')); terminal.println (F ("כל דבר אחר ותדפיס אותו בחזרה.")); terminal.flush (); } לולאת חלל () {Blynk.run (); }

שלב 9: תכנות ה- Wemos - שלב אחרון

Image
Image

לאחר הטעינה של הסקיצה, הידור והעלה את הסקיצה ואתה אמור להיות מוכן לבדוק את ההתקנה שלך!

פתח את אפליקציית Blynk, לחץ על המשולש בפינה השמאלית העליונה של פרויקט Wemos שלך

לאחר מכן לחץ על הכפתור! אתה צריך לשמוע את לחיצת הממסר ונוריות הסטטוס בלוח הממסרים מצביעות על כך שהממסר שינה את המצב.

כעת תוכל לחבר את הממסר לכל יישום מתח נמוך הדורש מתג פשוט ולשלוט בו מאפליקציית Blynk שלך. הדבר האחרון שעלינו לעשות הוא לקשור IFTTT ולהשתמש ב- Google או Alexa כדי לשלוט במערכת Blynk כך שלא נצטרך לעשות זאת מאפליקציית Blynk שלנו.

שלב 10: שליטה ב- Blynk באמצעות IFTTT ו- Google Home או Alexa

אני מניח שבשלב זה יש לך היכרות מסוימת עם IFTTT. אם לא, יש שם כמה הדרכות מצוינות שיעזרו לך ללמוד כיצד להשתמש במינוף IFTTT ולמנף אותו. זה מאוד חזק ומשהו שתרצה ללמוד אם אתה כבר לא מכיר.

  1. צור יישומון חדש ב- IFTTT
  2. בחר ב- Google Assistant כ"אם זה "והשתמש ב"ביטוי פשוט" כגורם המפעיל. מבחינתי, מכיוון שזה עומד להדליק או לכבות את האח שלי, הביטוי שלי היה "הפעל את האח"
  3. עבור החלק "ואז זה", חפש והשתמש ב- Webhooks
  4. בחר "בקש אינטרנט"
  5. עבור כתובת האתר שתרצה להשתמש בה:

    "https://blynk-cloud.com/XXXXYYYYZZZZ/update/d5?value=1"

  6. הגדר את השיטה ל- GET, סוג התוכן ל- urlencoded ותוכל להשאיר את ה- BODY ריק ולאחר מכן לשמור

המתן מספר דקות ואז בדוק את המשפט שלך עם מכשיר הבית הביתי שלך ב- Google. שמתי לב שלוקח כשתי דקות עד שהוא מוכן.

הערה: דבר אחד נוסף שיש לשים אליו לב כאן. שים לב שאני משתמש ב- "d5" בשיחת ה- API שלי, אך התחברתי לסיכה D1 בלוח. לקח לי בערך יום להבין שמספר סיכת ה- GPIO והמספר המודפס על הלוח אינם זהים. לאחר ששיניתי ערכים עם שיחות URL ישירות ובדקתי את המתחים בסיכות שונות בעזרת מד וולט, הצלחתי להבחין שקריאה ל- d1 באמצעות ה- API אכן שינתה את המתח, אך לא ב- D1 בלוח. d5/GPIO 5 תואם למעשה ל- D1 בלוח. ברגע שעשיתי את ההתאמה הזו, הכל עבד יפה!

חיבור אלקסה זהה לבית Google, רק באמצעות שירות Alexa ב- IFTTT במקום זאת.

שלב 11: סיכום

בשלב זה, אמור להיות לך ממסר IOT מתפקד באמצעות קול באמצעות Wemos D1 mini lite. תהנו ובהצלחה!

שוב, חשמל מסוכן, אז אנא קח אמצעי זהירות מתאימים ואם אינך מוסמך, אנא אל תעשה זאת.

מוּמלָץ: