Мазмұны:

Arduino негізіндегі дауыспен басқарылатын IOT релелік қосқышы (Google Home және Alexa қолдауымен): 11 қадам
Arduino негізіндегі дауыспен басқарылатын IOT релелік қосқышы (Google Home және Alexa қолдауымен): 11 қадам

Бейне: Arduino негізіндегі дауыспен басқарылатын IOT релелік қосқышы (Google Home және Alexa қолдауымен): 11 қадам

Бейне: Arduino негізіндегі дауыспен басқарылатын IOT релелік қосқышы (Google Home және Alexa қолдауымен): 11 қадам
Бейне: Как сделать 2-канальное реле Wi-Fi ESP8266 ESP-01 | ESP-01 Домашняя автоматизация | УдаленныйXY 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 (Amazon -да бірнеше доллар)
  • Arduino/Raspberry Pi үшін 5В реле модулі
  • 2N2222 NPN транзисторы
  • 47К Ом резисторы
  • 1К Ом резисторы

1 -қадам: Схеманы құрыңыз

Циклды құрыңыз
Циклды құрыңыз
Циклды құрыңыз
Циклды құрыңыз
Циклды құрыңыз
Циклды құрыңыз

Бірінші қадам - тізбекті сымға қосу. Сіз үйреніп қалған нәрсеге байланысты схемалық және дәстүрлі сымдардың схемасын қостым. Мен бірінші схеманы прототиптеу тақтасында жасадым, содан кейін оны тұрақты түрде орнату үшін ПХД -ге ауыстырдым және оны 3D басып шығарылған жоба қорабына қойдым.

Реле-бұл оптикалық оқшауланған H/L 5V релесі, бұл біріншіден, триггер тізбегі реле активациясының өзінен оптикалық түрде оқшауланғанын білдіреді, бұл реле кері байланысы бар Wemos микроконтроллеріне кері байланысты кез келген ықтимал мәселені жояды. Керемет қауіпсіздік. Екіншіден, ол жоғары/төмен ауысады, яғни оны суретте көріп тұрған сары секіргішті жылжыту арқылы, сигнал жоғары болғанда (+5В) немесе сигнал төмен болғанда іске қосудан (0В) жылжыту арқылы реттеуге болады.. Wemos өзі цифрлық түйреуіштерден 3,3В жібереді және біз D1 -ді триггер көзі ретінде қолданамыз, демек біз релені іске қосу үшін +5В цифрлық сигналға жақындау үшін оны сәл күшейтуіміз қажет. Сонымен қатар, сіз 3,3 В релесін қолдана аласыз және тізбектегі транзисторлық күшейткіш компонентін алып тастай аласыз және тікелей D1 -ден реледегі сигнал түйреуішіне қарай жүре аласыз. Менде 3,3 В релесі болмады, сондықтан біз кең таралған 5В релесі мен күшейткіш тізбегін қолданамыз.

Реледегі DC+ және DC- реле жұмыс істеуге қажетті кернеуді қамтамасыз ететін Wemos 5V және GND түйреуіштеріне қосылады. Реле шағын кернеулерден кернеуге дейін есептеледі, бірақ мен оны төмен вольтты сымдарды басқару үшін қолданамын. Егер сіз мұны желі кернеуін бақылау үшін қолдансаңыз, не істеп жатқаныңызды, білікті екеніңізді және тиісті сақтық шараларын қолданғаныңызды тексеріңіз. Олай болмаса, оны желілік кернеуді бақылау үшін қолданбаңыз.

Wemos -тағы D1 түйреуіші NPN транзисторының базасына берілетін 47K Ом резисторына қосылады. Эмитент жерге қайта қосылады. Коллектор реледегі сигнал кірісіне қосылған. Реле төменде іске қосылады, сондықтан D1 сигнал бергенде, 3,3в сигнал шамамен 5В дейін күшейтіледі және реле ашық болады. D1 төмендеген кезде реле сигнал төмендейді және реле жабылады және тізбекті аяқтайды.

Мен прототиптеу тақтасындағы уақытша схеманы суретке түсіруді ұмытып кеттім, бірақ егер ол пайдалы болса, ол жоғарыдағы Фритзинг диаграммасына ұқсас болды. Мен өзімнің соңғы тұрақты тізбегімнің бірнеше суретін қостым, осылайша, егер сіз түсінікті қажет етсеңіз немесе мен қолданатын нақты компоненттер туралы көріністі қажет етсеңіз, оның қалай қосылғанын көре аласыз.

2 -қадам: Wemos бағдарламалау - шолу

Wemos -тың маған ұнайтын нәрселерінің бірі - оларды сол IDE көмегімен Arduino сияқты бағдарламалауға болады. Бұл жерде бірнеше қадамдар бар.

  1. Wemos драйверлерін компьютерге орнатыңыз, Wemos -пен сөйлесе аласыз
  2. Wemos тақтасы қол жетімді болатындай Arduino IDE жаңартыңыз
  3. Барлығы дұрыс жұмыс істейтініне көз жеткізу үшін жылдам «Көзді жұму» тестін жасаңыз
  4. Blynk -пен жұмыс жасаңыз (білемін, бұл шатастырады, бірақ бұл «жыпылықтау тестінен» өзгеше)
  5. Blynk -тен бағдарлама кодын алыңыз
  6. Wemos/Arduino кодын Blynk ақпаратымен жаңартыңыз
  7. Кодты Wemos қондырғысына жүктеңіз.

3 -қадам: Wemos бағдарламалау - драйверлерді орнату

Wemos бағдарламалау - драйверлерді орнату
Wemos бағдарламалау - драйверлерді орнату

Мұнда өтіңіз (бұл сілтеме мезгіл -мезгіл өзгеріп отырады, мен оны жаңартуға тырысамын):

www.wemos.cc/kz/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. Қосымша тақта менеджері 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 бағдарламалау - Blink тесті

Wemos бағдарламалау - Blink тесті
Wemos бағдарламалау - Blink тесті

Әрі қарай жүрмес бұрын, біз Wemos тақтасымен сөйлесе алатындығымызға сенімді болуымыз керек және бәрі жақсы сияқты. Мұны істеудің ең оңай жолы - USB кабелін қосу және Wemos -қа қарапайым бағдарламаны енгізу. Блинк - бұл ең қарапайым мысал және мен жаңа тақталармен жұмыс жасауда көп қиындықтардан құтқардым, мен мұны әрқашан бірінші орындаймын.

  1. Келіңіз: Файл> Мысалдар> ESP8266> Көзді жұмып, Wemos құрылғысының жыпылықтау нобайын жүктеңіз.
  2. Эскизді құрастырыңыз және жүктеңіз

Егер көк жарық диоды секундына бір рет жыпылықтай бастаса, келесі қадамға өту жақсы! Олай болмаған жағдайда, қайтадан өтіп, алдыңғы қадамдарды түзетіңіз. Драйверлер мен тақта менеджерінде мәселе бар -жоғын біліңіз. Менде 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. Осы кезде Blynk есептік жазбасын жасаған кезде сіз пайдаланған электрондық пошта мекенжайына растау белгісі жіберіледі. Оны кейінірек сақтаңыз, біз келесі қадамда эскизге мәндерді енгіземіз.
  7. Бос кенеп экранына жеткенде, солға қарай сырғытыңыз, сонда виджет мәзірі пайда болады. Жобаға «түйме» қосу үшін «Түйме» таңдаңыз
  8. Түймені таңдаңыз, содан кейін түйреуішті конфигурациялаңыз, оны басу арқылы «Сандық» пен «D1» параметрін pi ретінде таңдап, «Жарайды» басыңыз.
  9. Бұл кезде бәрі дайын болуы керек. Бұл әрекетті іске қосу үшін сіз жоғарғы оң жақтағы үшбұрыш белгішесін таңдағыңыз келеді, бірақ ол нобай жүктеліп, конфигурацияланғанша әзірше жұмыс істемейді, бұл келесі қадам!

7 -қадам: Wemos бағдарламалау - Blynk кітапханасын орнату

Blynk негізіндегі эскизді жүктеу үшін бізге олардың кітапханасын орнату қажет. Толық ақпаратты мына жерден табуға болады.

github.com/blynkkk/blynk-library/releases

Сондай-ақ, кейбір ақпарат алу үшін олардың негізгі веб-сайтын мына жерден қараңыз (https://blynk.io/kz/getting-started)

Бұл мен үшін бастапқыда түсініксіз болды, бірақ бұл менің ойлағаннан әлдеқайда жеңіл. Файлды Arduino каталогына ашыңыз. Мен үшін бұл / user / Documents / Arduino болды. Ол жерде «кітапханалар» деп аталатын папка бар еді. ZIP файлында «кітапхана» мен «құралдар» каталогы бар. Сіз оны Arduino каталогына ашқан кезде, ол мазмұнын кітапханаларға қосады және егер ол бұрын болмаған жағдайда құралдар жасайды.

8 -қадам: Wemos - эскизді бағдарламалау

Біз бұл сәтте дерлік аяқтадық. Эскиз өте қарапайым, ол Blynk -тен тікелей және Blynk қызметі мен тақтаны байланыстырады. Сіз олардың конструкторын мына жерде пайдалана аласыз:

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

Немесе сіз өзіңізге сәйкес келетін осы үлгіні пайдалана аласыз. Тек Wi -Fi желісінің авторизация белгісі мен тіркелгі деректерін ауыстырғаныңызға көз жеткізіңіз.

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

Blynk-тың соңғы кітапханасын мына жерден жүктеп алыңыз: https://github.com/blynkkk/blynk-library/releases/latest Blynk-бұл Arduino, Raspberry Pi және интернеттегі ұнатуларды басқаруға арналған iOS және Android қосымшалары бар платформа. Виджеттерді апарып тастау арқылы сіз барлық жобаларыңыз үшін графикалық интерфейстерді оңай құра аласыз. Жүктеулер, құжаттар, оқулықтар: https://www.blynk.cc Эскиз генераторы: https://examples.blynk.cc Blynk қауымдастығы: https://community.blynk.cc Бізді қадағалаңыз: https://www.fb. com/blynkapp Blynk кітапханасы MIT лицензиясымен лицензияланған Бұл мысал коды жалпыға қолжетімді. ************************************************ *********** Сіз кез келген деректерді WidgetTerminal объектісінің көмегімен жібере/ала аласыз. Қолданбалық жобаны орнату: V1 Virtual Pin -ге бекітілген терминал виджеті ************************************* **********************//*Басып шығаруды өшіру және кеңістікті үнемдеу үшін осыған түсініктеме беріңіз*/ #define BLYNK_PRINT Serial #include #include // Сізге авторизация қажет Blynk қосымшасындағы токен. // Жоба параметрлеріне өтіңіз (жаңғақ белгісі). char auth = «YourAuthToken»; // Сіздің WiFi тіркелгі деректеріңіз. // Ашық желілер үшін құпия сөзді «» қойыңыз. char ssid = «Сіздің желі атыңыз»; char pass = «YourPassword»; // Виртуалды 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 ()); terminal.println (); } // Барлығы terminal.flush () жіберілгеніне көз жеткізіңіз; } void setup () {// Отладка консолі 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 Software нұсқасын Терминал виджетіне басып шығарады, егер сіздің аппараттық құрал Blynk Server terminal.println (F («Blynk v» BLYNK_VERSION: Құрылғы іске қосылды)) қосылған болса; terminal.println (F («-------------»)); terminal.println (F («Марко» деп теріп, жауап алыңыз немесе теріңіз))); terminal.println (F («басқа нәрсе және оны қайта басып шығару»))); terminal.flush (); } void loop () {Blynk.run (); }

9 -қадам: Wemos бағдарламалау - соңғы қадам

Image
Image

Эскиз жүктелгеннен кейін, эскизді құрастырыңыз және жүктеңіз, сонда сіз орнатуды тексеруге дайын болуыңыз керек!

Blynk қосымшасын ашыңыз, Wemos жобасының жоғарғы оң жақ бұрышындағы үшбұрышты басыңыз

Содан кейін түймені басыңыз! Сіз релені басуды естуіңіз керек және реле тақтасындағы күй диодтары реле күйінің өзгергенін көрсетеді.

Енді сіз релені қарапайым қосқышты қажет ететін кез келген төмен вольтты қосымшаға қосуға және оны 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/XXXXYYYZZZZ/update/d5?value=1»

  6. Әдісті GET -ге, мазмұн түрін кодталған етіп орнатыңыз, сіз BODY -ді бос қалдырып, сақтай аласыз.

Бірнеше минут күтіңіз, содан кейін Google үй құрылғысымен сөйлемді тексеріңіз. Мен дайын болуға екі минут уақыт кететінін байқадым.

ЕСКЕРТУ: мұнда назар аударатын тағы бір жайт. Назар аударыңыз, мен API қоңырауында «d5» қолданамын, бірақ мен D1 түйреуішін тақтаға қостым. Маған GPIO PIN нөмірі мен тақтада басылған экран нөмірлеуінің бірдей еместігін түсіну үшін шамамен бір күн қажет болды. Тікелей URL қоңырауларымен мәндерді өзгерткеннен және вольт өлшегішпен әр түрлі түйреуіштердегі кернеуді тексергеннен кейін, мен API арқылы d1 -ге қоңырау кернеуді өзгерткенін байқадым, бірақ тақтадағы D1 емес. d5/GPIO 5 шынымен борттағы D1 -ге сәйкес келді. Мен бұл түзетуді жасағаннан кейін, бәрі керемет жұмыс істеді!

Alexa -ны қосу Google үйімен бірдей, оның орнына IFTTT -те Alexa қызметін пайдаланыңыз.

11 -қадам: Қорытынды

Бұл кезде сізде Wemos D1 mini lite көмегімен дауыспен басқарылатын IOT релесі болуы керек. Бақытты болыңыз және сәттілік!

Тағы да, электр қуаты қауіпті, сондықтан тиісті сақтық шараларын қолданыңыз, егер сіз білікті болмасаңыз, жасамаңыз.

Ұсынылған: