Агуулгын хүснэгт:

Arduino дээр суурилсан дуут удирдлагатай IOT реле шилжүүлэгч (Google Home ба Alexa дэмждэг): 11 алхам
Arduino дээр суурилсан дуут удирдлагатай IOT реле шилжүүлэгч (Google Home ба Alexa дэмждэг): 11 алхам

Видео: Arduino дээр суурилсан дуут удирдлагатай IOT реле шилжүүлэгч (Google Home ба Alexa дэмждэг): 11 алхам

Видео: Arduino дээр суурилсан дуут удирдлагатай IOT реле шилжүүлэгч (Google Home ба Alexa дэмждэг): 11 алхам
Видео: Как запрограммировать модуль реле Wi-Fi ESP8266 ESP-01 2024, Оны зургадугаар сарын
Anonim
Arduino дээр суурилсан дуут удирдлагатай IOT реле шилжүүлэгч (Google Home & Alexa дэмждэг)
Arduino дээр суурилсан дуут удирдлагатай IOT реле шилжүүлэгч (Google Home & Alexa дэмждэг)

Энэхүү төсөл нь Arduino дээр суурилсан, дуу хоолойгоор удирддаг, IOT реле шилжүүлэгчийг хэрхэн яаж хийхийг тайлбарласан болно. Энэ бол реле бөгөөд та iOS болон Android -д зориулсан програмыг ашиглан алсаас асааж, унтрааж, IFTTT -д холбож, Google Home болон/эсвэл Alexa ашиглан дуу хоолойгоороо удирдах боломжтой. Бид төхөөрөмжийг бүтээх, програмыг холбох, IOT -ийн янз бүрийн үйлчилгээнд холбогдоход шаардлагатай бүх алхмуудыг авч үзэх болно.

Хангамж

  • Wemos D1 Mini Lite ESP8285 (Амазон дээр хэдэн доллар)
  • Arduino/Raspberry Pi -д зориулсан 5V релей модуль
  • 2N2222 NPN транзистор
  • 47K ом эсэргүүцэл
  • 1K ом эсэргүүцэл

Алхам 1: Хэлхээг бий болгох

Цахилгаан хэлхээг бий болгох
Цахилгаан хэлхээг бий болгох
Цахилгаан хэлхээг бий болгох
Цахилгаан хэлхээг бий болгох
Цахилгаан хэлхээг бий болгох
Цахилгаан хэлхээг бий болгох

Эхний алхам бол хэлхээг утсаар холбох явдал юм. Таны ашиглаж байсан зүйлээс шалтгаалан би схем болон уламжлалт утсан холболтын схемийг оруулсан болно. Би анхны схемээ талхны загвар дээр хийж, дараа нь PCB руу шилжүүлж, илүү тогтвортой тохируулга хийж, 3D хэвлэмэл төслийн хайрцагт байрлуулсан.

Реле нь opto-тусгаарлагдсан H/L 5V реле бөгөөд энэ нь эхлээд реле идэвхжүүлэлтээс гох хэлхээг оптик байдлаар тусгаарладаг бөгөөд энэ нь Wemos микроконтроллер руу буцах релеээс ирсэн аливаа асуудлыг арилгадаг. Байж болох сайхан аюулгүй байдал. Хоёрдугаарт, энэ нь өндөр/нам сэлгэн залгах боломжтой бөгөөд энэ нь зураг дээр харж буй шар холбогчийг хөдөлгөж, дохио өндөр байх үед (+5V) асаахаас, эсвэл дохио бага үед асаах (0V) тохируулах боломжтой гэсэн үг юм.. Wemos өөрөө дижитал тээглүүрээсээ 3.3V дамжуулдаг бөгөөд бид D1 -ийг гох эх үүсвэр болгон ашигладаг бөгөөд энэ нь бид бага зэрэг өсгөх шаардлагатай бөгөөд ингэснээр бид релейг ажиллуулахын тулд +5V дижитал дохиог ойртуулдаг. Эсвэл та 3.3V реле ашиглаж, хэлхээний транзистор өсгөгчийн бүрэлдэхүүн хэсгийг арилгаж, D1 -ээс релей дээрх дохионы зүү рүү шууд очиж болно. Надад 3.3V реле байгаагүй, тиймээс бид илүү түгээмэл 5V реле болон өсгөгчийн хэлхээг ашиглаж байна.

Реле дээрх DC+ ба DC- нь Wemos-ийн 5V ба GND зүүтэй холбогддог бөгөөд энэ нь реле ажиллуулахад шаардлагатай хүчдэлийг өгдөг. Реле нь жижиг хүчдэлээс шугамын хүчдэл хүртэл үнэлэгддэг, гэхдээ би үүнийг бага хүчдэлийн утсыг удирдахад ашигладаг. Хэрэв та үүнийг шугамын хүчдэлийг хянахын тулд ашиглаж байгаа бол юу хийж байгаагаа мэдэж, мэргэшсэн, зохих урьдчилан сэргийлэх арга хэмжээг авсан эсэхээ шалгаарай. Хэрэв тийм биш бол үүнийг шугамын хүчдэлийн хэрэглээг хянахад бүү ашигла.

Wemos дээрх D1 зүү нь NPN транзисторын сууринд тэжээгддэг 47K ом эсэргүүцэлтэй холбогддог. Ялгаруулагч газар руугаа буцаж холбогддог. Коллектор нь реле дээрх дохионы оролттой холбогдсон байна. Реле нь хамгийн багадаа асахаар тохируулагдсан тул D1 дохио өгөх үед 3.3v дохиог ойролцоогоор 5В хүртэл өсгөж, реле нээлттэй байна. D1 буурахад релений дохио буурч реле хаагдаж хэлхээг дуусгана.

Би түр зуурын хэлхээнийхээ зургийг талхны самбар дээр авахаа мартсан боловч энэ нь тустай бол дээрх Fritzing диаграмтай яг адилхан харагдаж байв. Би өөрийн эцсийн байнгын хэлхээний хэд хэдэн зургийг оруулсан бөгөөд ингэснээр танд ашиглаж буй тодорхой бүрэлдэхүүн хэсгүүдийн талаар ойлголт хэрэгтэй эсвэл харагдах шаардлагатай байгаа бол хэрхэн яаж холбогдож байгааг харах боломжтой болно.

Алхам 2: Wemos програмчлах - Тойм

Wemos -ийн надад таалагддаг нэг зүйл бол тэдгээрийг яг ижил IDE ашиглан Arduino шиг програмчилж болно. Гэсэн хэдий ч энд хэд хэдэн алхам байна.

  1. Wemos драйверуудыг компьютерт суулгаснаар Wemos -той ярилцаж болно
  2. Arduino IDE -ийг шинэчлээрэй, ингэснээр Wemos самбар бэлэн болно
  3. Бүх зүйл зөв ажиллаж байгаа эсэхийг шалгахын тулд хурдан "Blink" тест хий
  4. Блинкийг тохируулаарай (энэ нь ойлгомжгүй байдгийг би мэднэ, гэхдээ энэ нь "анивчих тест" -ээс өөр юм)
  5. Blynk -аас програмын код авах
  6. Wemos/Arduino кодыг Blynk мэдээллээр шинэчилнэ үү
  7. Кодыг өөрийн Wemos тохиргоонд байршуулна уу.

Алхам 3: Wemos програмчлах - Драйверуудыг суулгах

Wemos програмчлах - Драйверуудыг суулгах
Wemos програмчлах - Драйверуудыг суулгах

Энд очих (энэ холбоос үе үе өөрчлөгдөж байх шиг байна, би үүнийг байнга шинэчилж байхыг хичээх болно):

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

Мөн таны OS -д тохирох драйверын багцыг татаж аваарай. Дараа нь зипийг директор руу задалж "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 -г ажиллуулаад Preferences цонхыг нээнэ үү.
  3. Нэмэлт зөвлөлийн менежерийн URL талбарт "https://arduino.esp8266.com/stable/package_esp8266com_index.json" гэж оруулна уу. Та олон URL нэмж, тэдгээрийг таслалаар тусгаарлаж болно.
  4. Багаж хэрэгсэл> Удирдах зөвлөл> Самбар менежер (дээд талд) самбарын менежерийг нээж, "esp8266" гэж хайж, жагсаасан esp8266 платформыг суулгана уу.
  5. Энэ үед та Tools → Board: xxx хэсэгт Wemos самбарыг харах болно. Wemos D1 Mini -ийг сонгоно уу. Миний хувьд, зурагнаас харахад тодорхой нэр нь "LOLIN (WEMOS) D1 R2 & mini" байсан.
  6. Компьютер болон Wemos хооронд USB кабель холбоно уу
  7. Багаж хэрэгслийн цэсэнд "Порт" идэвхжсэн бөгөөд зөв харагдаж байгаа эсэхийг баталгаажуулна уу.

Алхам 5: Wemos програмчлах - анивчих тест

Wemos програмчлах - Blink Test
Wemos програмчлах - Blink Test

Цааш явахаасаа өмнө бид Wemos зөвлөлтэй холбоо барьж, бүх зүйл хэвийн байгаа эсэхийг шалгах хэрэгтэй. Үүнийг хийх хамгийн хялбар арга бол USB кабель залгаж, энгийн програмыг Wemos руу оруулах явдал юм. Blink бол хамгийн хялбар жишээ бөгөөд шинэ самбартай ажиллахад надад маш их бэрхшээл учруулж, би үүнийг үргэлж түрүүлж хийдэг.

  1. Явна уу: Файл> Жишээ> ESP8266> Нүдээ аниад Wemos төхөөрөмжийн анивчсан зургийг нээнэ үү.
  2. Ноорогоо эмхэтгэн байршуулах

Хэрэв цэнхэр LED секундэд нэг удаа анивчиж эхлэх юм бол дараагийн алхам руу шилжихэд таатай байна! Үгүй бол буцаж очоод өмнөх алхмуудыг засна уу. Жолооч, удирдах зөвлөлтэй холбоотой асуудал байгаа эсэхийг шалгаарай. Би ESP8266 -ийн самбарын багцтай холбоотой зарим асуудалтай тулгарч байсан бөгөөд хачирхалтай зүйл тохиолдож байгаа тул үүнийг бүрмөсөн устгаад дахин суулгах шаардлагатай болсон. Бүү бууж өг, интернет хайлт таны найз болж чадна!

Бүгдийг сайн гэж үзээд дараагийн алхам руу орно уу.

Алхам 6: Wemos програмчлах - Blynk -ийг тохируулах

Wemos програмчлах - Blynk -ийг тохируулах
Wemos програмчлах - Blynk -ийг тохируулах
Wemos програмчлах - Blynk -ийг тохируулах
Wemos програмчлах - Blynk -ийг тохируулах
Wemos програмчлах - Blynk -ийг тохируулах
Wemos програмчлах - Blynk -ийг тохируулах

Дараагийн алхамуудад бид Blynk -тэй данс нээж, бидний үүсгэсэн хэлхээг хянахын тулд токен авах шаардлагатай болно.

  1. Апп татаж аваад данс үүсгээрэй (үнэгүй)
  2. Шинэ төсөл бий болгох
  3. Төхөөрөмжийг сонгох хэсэгт Wemos D1 -ийг Тоног төхөөрөмж болгон сонгоно уу
  4. Төсөлд нэр өгч, холбогчийн төрлийг WiFi гэж хадгална уу
  5. Төсөл үүсгэх дээр дарна уу
  6. Энэ үед Auth Token -ийг таны Blynk данс үүсгэхэд ашигласан имэйл хаягаар имэйлээр илгээх болно. Үүнийг дараа нь хадгалахын тулд бид дараагийн алхамд утгыг тоймд оруулах болно.
  7. Зотон даавууны хоосон дэлгэц рүү очиход зүүн тийш шудрахад л виджетийн цэс гарч ирэх болно. Төсөлд "товчлуур" нэмэхийн тулд "Товчлуур" -ыг сонгоно уу
  8. Товчлуурыг сонгоод Pin товчлуурыг дарж "Digital" ба "D1" -ийг pi болгож сонгоод "Ok" дээр дарна уу.
  9. Энэ үед бүх зүйл бэлэн байх ёстой. Үүнийг идэвхжүүлэхийн тулд та баруун дээд буланд байгаа гурвалжны дүрсийг сонгохыг хүсч байна, гэхдээ ноорогоо байршуулж тохируулах хүртэл энэ нь ажиллахгүй байна.

Алхам 7: Wemos програмчлах - Блинк номын санг суулгах

Blynk дээр суурилсан ноорог байршуулахын тулд бид тэдний номын санг суулгах хэрэгтэй. Дэлгэрэнгүй мэдээллийг эндээс авах боломжтой.

github.com/blynkkk/blynk-library/releases

Мөн тодорхой мэдээлэл авахын тулд тэдний үндсэн вэбсайтыг эндээс үзээрэй (https://blynk.io/en/getting-started)

Энэ нь эхэндээ надад ойлгомжгүй байсан ч сонсогдож байснаас хамаагүй хялбар юм. Файлыг Arduino директор руу задлахад л болно. Миний хувьд энэ нь / user / Documents / Arduino -д байсан. Тэнд аль хэдийн "номын сан" нэртэй хавтас байсан. Зип файл нь "номын сан" ба "хэрэгсэл" лавлахыг агуулдаг. Та үүнийг 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 болон Android аппликэйшн бүхий платформ бөгөөд Arduino, Raspberry Pi болон интернет дээр дуртай зүйлсийг удирдах боломжтой. Та виджетүүдийг чирж, буулгах замаар бүх төслүүдийнхээ график интерфэйсийг хялбархан бүтээх боломжтой. Татаж авах, баримт бичиг, заавар: https://www.blynk.cc Sketch үүсгэгч: https://examples.blynk.cc Blynk хамт олон: https://community.blynk.cc Биднийг дагаарай: https://www.fb. com/blynkapp Blynk номын сан нь MIT лицензийн дагуу лицензтэй байдаг Энэ жишээ код нь нийтийн домэйнд байдаг. ************************************************ *********** Та WidgetTerminal объектыг ашиглан ямар ч өгөгдөл илгээх/хүлээн авах боломжтой. Апп төслийн тохиргоо: Virtual Pin V1 -д хавсаргасан терминалын виджет ************************************* ************** Blynk апп дахь токен. // Төслийн тохиргоо руу очно уу (самар дүрс). char auth = "YourAuthToken"; // Таны WiFi итгэмжлэлүүд. // Нээлттэй сүлжээнд нууц үгээ "" болгож тохируулна уу. char ssid = "Таны сүлжээний нэр"; char pass = "YourPassword"; // Виртуал цуваа терминалыг Virtual Pin V1 WidgetTerminal терминал (V1) -д хавсаргах; // Та Терминалаас техник хангамж руу тушаал илгээх боломжтой. Зүгээр л // терминалын виджет BLYNK_WRITE (V1) {// Виртуал Пинээ ашиглаарай, хэрэв та терминалын виджетэд "Марко" гэж бичвэл - "Поло:" if (String ("Marco") == param.asStr) ()) {terminal.println ("Та хэлсэн: 'Марко'"); terminal.println ("Би хэлсэн: 'Поло'"); } else {// Буцааж илгээнэ үү terminal.print ("Та хэлсэн:"); terminal.write (param.getBuffer (), param.getLength ()); терминал.println (); } // Бүгдийг terminal.flush () илгээсэн эсэхийг шалгаарай. } void setup () {// Debug консол 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 Server terminal.println (F ("Blynk v" BLYNK_VERSION ": Төхөөрөмж эхэлсэн")) холбогдсон үед энэ нь Blynk Програм хангамжийн хувилбарыг Терминал Виджет дээр хэвлэх болно. terminal.println (F ("-------------")); terminal.println (F ("'Марко' гэж бичээд хариулт авах эсвэл бичнэ үү))); terminal.println (F ("өөр юу ч байсан, буцааж хэвлэж аваарай."))); терминал.flush (); } void loop () {Blynk.run (); }

Алхам 9: Wemos програмчлах - Эцсийн алхам

Image
Image

Ноорогыг ачаалж дууссаны дараа ноорогоо эмхэтгэн байршуулаарай, та тохиргоогоо шалгахад бэлэн байх ёстой!

Blynk програмыг нээгээд Wemos төслийнхөө баруун дээд буланд байгаа гурвалжин дээр дарна уу

Дараа нь товчлуур дээр дарна уу! Та буухиа товшилтыг сонсох ёстой бөгөөд реле самбар дээрх статусын LED нь реле өөрчлөгдөж байгааг харуулж байна.

Одоо та релеийг энгийн унтраалга шаарддаг аливаа бага хүчдэлийн програмд холбож, Blynk програмаасаа хянах боломжтой. Бидний хийх ёстой хамгийн сүүлийн зүйл бол IFTTT -тэй тэнцэх, Google эсвэл Alexa ашиглан Blynk системийг удирдах явдал юм, ингэснээр бид үүнийг Blynk програмаасаа хийх шаардлагагүй болно.

Алхам 10: IFTTT болон Google Home эсвэл Alexa ашиглан Blynk -ийг хянах

Энэ үед та IFTTT -ийг сайн мэддэг байх гэж бодож байна. Үгүй бол IFTTT -ийг хэрхэн ашиглах, ашиглах талаар сурахад туслах маш сайн хичээлүүд байдаг. Энэ бол маш хүчирхэг бөгөөд хэрэв та сайн мэдэхгүй бол сурахыг хүсч байгаа зүйл юм.

  1. IFTTT дээр шинэ апплет үүсгээрэй
  2. Google Assistant -ийг "Хэрэв энэ бол" гэж сонгоод "энгийн хэллэг" -ийг өдөөгч болгон ашиглана уу. Миний хувьд энэ нь миний задгай зуухыг асаах эсвэл унтраах гэж байгаа тул миний хэллэг бол "задгай зуухыг асаах" байсан.
  3. "Дараа нь" хэсгийн хувьд Webhooks -ийг хайж олоорой
  4. "Вэб хүсэлт гаргах" -ыг сонгоно уу.
  5. Та ашиглахыг хүсч буй URL -ийн хувьд:

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

  6. Арга хэмжээг GET болгож, агуулгын төрлийг urlcoded болгон тохируулаарай, та BODY -ийг хоосон орхиж, дараа нь хадгалах боломжтой.

Хэдэн минут хүлээгээд дараа нь google гэрийн төхөөрөмжөөрөө хэллэгээ туршиж үзээрэй. Бэлэн болоход хоёр минут орчим хугацаа шаардагддаг болохыг би анзаарсан.

ТАЙЛБАР: Энд бас нэг зүйлийг анхаарч үзэх хэрэгтэй. Би API дуудлагадаа "d5" ашиглаж байгаа боловч самбар дээрх D1 зүүтэй холбогдсон болохыг анхаарна уу. Самбар дээрх GPIO зүү болон дэлгэц дээр хэвлэсэн дугаарлалт нь ижил биш болохыг олж мэдэхэд нэг өдөр орчим хугацаа зарцууллаа. Шууд URL дуудлагаар утгыг өөрчилж, хүчдэлийг вольт тоолуураар өөр өөр тээглүүрээр шалгасны дараа d1 рүү API -ээр дуудсан нь хүчдэлийг өөрчилсөн боловч самбар дээрх D1 дээр биш болохыг би анзаарсан. d5/GPIO 5 нь самбар дээрх D1 -тэй нийцдэг. Би энэ тохиргоог хийсний дараа бүх зүйл сайхан болсон!

Alexa -г холбох нь Google home -тэй адилхан бөгөөд оронд нь IFTTT дээрх Alexa үйлчилгээг ашигладаг.

Алхам 11: Дүгнэлт

Энэ үед та Wemos D1 mini lite ашиглан дуут удирдлагатай IOT релетэй байх ёстой. Аз жаргал, амжилт хүсье!

Дахин хэлэхэд цахилгаан нь аюултай тул зохих урьдчилан сэргийлэх арга хэмжээ авч, хэрэв мэргэшээгүй бол бүү хий.

Зөвлөмж болгож буй: