Мазмуну:

Arduino негизделген үн менен башкарылган IOT релелик которгуч (Google Home & Alexa колдоого алынат): 11 кадам
Arduino негизделген үн менен башкарылган IOT релелик которгуч (Google Home & Alexa колдоого алынат): 11 кадам

Video: Arduino негизделген үн менен башкарылган IOT релелик которгуч (Google Home & Alexa колдоого алынат): 11 кадам

Video: Arduino негизделген үн менен башкарылган IOT релелик которгуч (Google Home & Alexa колдоого алынат): 11 кадам
Video: Контроллер температуры мобильного телефона с модулем WIFI DT 06 | Программирование LDmicro-Roboremo 2024, Июнь
Anonim
Ардуиного негизделген үн менен башкарылган IOT релелик которгуч (Google Home жана Alexa колдоого алынат)
Ардуиного негизделген үн менен башкарылган IOT релелик которгуч (Google Home жана Alexa колдоого алынат)

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

Жабдуулар

  • Wemos D1 Mini Lite ESP8285 (Amazonдо бир нече доллар)
  • Arduino/Raspberry Pi үчүн 5V Relay Module
  • 2N2222 NPN транзистору
  • 47K Ом каршылыгы
  • 1K ом каршылыгы

1 -кадам: Районду куруу

Circuit куруу
Circuit куруу
Circuit куруу
Circuit куруу
Circuit куруу
Circuit куруу

Биринчи кадам - бул зымдын зымын туташтыруу. Сиз көнгөн нерсеге жараша схемалык жана салттуу зымдардын схемасын коштум. Мен биринчи схемамды прототиптелген нан тактасында кылдым, андан кийин аны туруктуу орнотуу үчүн ПХБга өткөрүп, 3D басылган проект кутусуна жайгаштырдым.

Реле-бул оптикалык изоляцияланган H/L 5V релеси, бул биринчиден, триггердин схемасы реленин активдешүүсүнөн оптикалык түрдө обочолонот, бул релени кайтаруу менен болгон көйгөйлөрдү Wemos микроконтроллерине кайтарат. Жакшы коопсуздук бар. Экинчиден, бул жогорку/төмөн которулуучу, бул сүрөттө көргөн сары секиргичти жылдыруу менен, сигнал жогору болгондо (+5V), же сигнал төмөн болгондо иштетилет (0V). Wemos өзү санарип казыктарынан 3.3V жөнөтөт жана биз D1ди триггер булагы катары колдонобуз, демек биз релени иштетүү үчүн +5V санариптик сигналга жакындайбыз. Же болбосо, 3.3V релесин колдонуп, схемада транзистордук күчөткүч компонентти жок кылып, D1ден реледеги сигналдын пинине чейин түз кете аласыз. Менде 3.3V релеси жок болчу, ошондуктан биз кеңири таралган 5В релесин жана күчөткүч схемасын колдонуп жатабыз.

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

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

Прототиптелген нан тактасында менин убактылуу схемамды сүрөткө тартууну унутуп койдум, бирок бул пайдалуу болсо, жогорудагы Фритзинг диаграммасына окшош экен. Мен акыркы туруктуу схемамдын бир нече сүрөттөрүн киргиздим, андыктан анын кандайча туташып калганын көрө аласыз, эгер сизге кандайдыр бир түшүнүк керек болсо же мен колдонгон конкреттүү компоненттер боюнча көрүнүү керек болсо.

2 -кадам: Wemos программалоо - Сереп

Wemos мага жаккан нерселердин бири, аларды ошол эле IDEди колдонуп, Arduino сыяктуу программалоого болот. Бул жерде бир нече кадамдар бар.

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

3 -кадам: Wemos программалоо - Драйверлерди орнотуу

Wemos программалоо - драйверлерди орнотуу
Wemos программалоо - драйверлерди орнотуу

Бул жакка барыңыз (бул шилтеме маал -маалы менен өзгөрүп турат окшойт, мен аны жаңыртып турууга аракет кылам):

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

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

5 -кадам: Wemos программалоо - Blink Test

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ти орнотуу

Бул кийинки кадамдарда, биз Блинк менен эсеп ачып, биз жараткан схеманы башкаруу үчүн колдонуу үчүн токен алуубуз керек.

  1. Колдонмону жүктөп алып, аккаунт түзүңүз (бекер)
  2. Жаңы долбоор түзүү
  3. Түзмөктү тандоо астындагы жабдык катары Wemos D1ди тандаңыз
  4. Долбоорго ат бериңиз жана туташтыргычтын түрүн WiFi катары сактаңыз
  5. Долбоор түзүү чыкылдатыңыз
  6. Бул жерде Auth Token сиз Blynk каттоо эсебиңизди түзгөндө колдонулган электрондук почта дарегине жөнөтүлөт. Муну кийинчерээк сактаңыз, биз кийинки кадамда баалуулуктарды эскизге киргизебиз.
  7. Бош кенеп экранына келгенде, жөн гана солго серпип, виджет менюсун аласыз. Долбоорго "баскычты" кошуу үчүн "Баскычты" тандаңыз
  8. Баскычты тандап, анан пинти конфигурациялап, аны чыкылдатыңыз жана "Санарип" жана "D1" ди pi катары тандап, "Ok" баскычын басыңыз.
  9. Бул учурда, баары даяр болушу керек. Бул активдүү кылуу үчүн жогорку оң бурчтагы үч бурчтуктун сөлөкөтүн тандап алгыңыз келет, бирок биз эскиз жүктөлүп, конфигурацияланганга чейин иштебейт, бул кийинки кадам!

7 -кадам: Wemos программалоо - Blynk китепканасын орнотуу

Блинкке негизделген эскизди жүктөө үчүн, алардын китепканасын орнотушубуз керек. Чоо -жайын бул жерден тапса болот.

github.com/blynkkk/blynk-library/releases

Ошондой эле, кандайдыр бир маалымат үчүн, алардын негизги веб-сайтын бул жерден караңыз (https://blynk.io/en/getting-started)

Бул адегенде мен үчүн баш аламан болчу, бирок угулгандан алда канча жеңил. Файлды Arduino каталогуна ачыңыз. Мен үчүн бул / user / Documents / Arduino ичинде болгон. Ал жерде буга чейин "китепканалар" деген папка бар болчу. ZIP файлында "китепкана" жана "инструменттер" каталогу бар. Сиз аны Arduino каталогуна ачканыңызда, ал анын мазмунун китепканаларга кошот жана эгерде ал жок болсо куралдарды түзөт.

8 -кадам: Wemos программалоо - Эскиз

Биз бул учурда дээрлик бүттүк. Эскиз абдан жөнөкөй, ал Блинктен түздөн -түз жана негизинен Blynk кызматын жана тактайын байланыштырат. Бул жерде алардын куруучусун колдоно аласыз:

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 Эскиз генератору: https://examples.blynk.cc Blynk жамааты: 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) {//, эгер сиз Терминал Виджетине "Марко" деп жазсаңыз - ал жооп берет: "Поло:" if (Стринг ("Марко") == param.asStr ()) {terminal.println ("Сиз айттыңыз: 'Марко'"); terminal.println ("Мен айттым: 'Поло'"); } else {// Аны кайра жөнөтүү terminal.print ("Сиз айттыңыз:"); terminal.write (param.getBuffer (), param.getLength ()); terminal.println (); } // Баарынын terminal.flush () жөнөтүлгөнүн текшериңиз. } void setup () {// Debug console 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 Программасынын версиясын Терминал Виджетине басып чыгарат, качан // жабдууларыңыз 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ге байлануу жана Blynk тутумун башкаруу үчүн Google же Alexaны колдонуу, ошондуктан биз муну Blynk колдонмосунан жасабашыбыз керек.

10 -кадам: IFTTT жана Google Home же Alexa менен Blynkти көзөмөлдөө

Мен сизди IFTTT менен тааныштыгыңыз бар деп ойлоп жатам. Болбосо, IFTTTди кантип колдонууну жана колдонууну үйрөнүүгө жардам бере турган сонун окуу куралдары бар. Бул абдан күчтүү жана сиз буга чейин тааныш эмес болсоңуз, үйрөнгүңүз келет.

  1. IFTTTде жаңы апплет түзүңүз
  2. Google Жардамчыны "Эгерде бул" катары тандап, триггер катары "Жөнөкөй фразаны" колдонуңуз. Мен үчүн, бул менин очогумду күйгүзүп же өчүрө тургандыктан, менин сөзүм "очокту күйгүзүү" болчу.
  3. "Андан кийин" бөлүгү үчүн Webhooksту издеңиз жана колдонуңуз
  4. "Веб сурам жасоо" тандаңыз
  5. Сиз колдонгуңуз келген URL үчүн:

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

  6. Методду GETке, мазмундун түрүн urlencodedге коюңуз жана BODY бош калтырып, анан сактай аласыз

Бир нече мүнөт күтө туруңуз, андан кийин Google Home түзмөгүңүз менен фразаңызды сынап көрүңүз. Мен анын даяр болушуна эки мүнөттөй убакыт кетерин байкадым.

ЭСКЕРТҮҮ: бул жерде дагы бир нерсеге көңүл буруу керек. Байкаңыз, мен API чалууда "d5" колдонуп жатам, бирок тактадагы D1 пинине туташтым. Тактадагы GPIO пин номери менен экрандын басылган номери бирдей эместигин түшүнүү үчүн мага бир күндөй убакыт кетти. Түз URL чалуулары менен баалуулуктарды өзгөртүп, вольт өлчөгүч менен ар кандай казыктарда чыңалууну текшергенден кийин, API аркылуу d1ге чалуу чыңалууну өзгөрткөнүн байкадым, бирок тактадагы D1де эмес. d5/GPIO 5 чындыгында тактадагы D1ге туура келген. Мен ошол тууралоону киргизгенден кийин, баары сонун иштеди!

Alexa -ны туташтыруу Google үйүнө окшош, анын ордуна IFTTT боюнча Alexa кызматын колдонуңуз.

11 -кадам: Жыйынтык

Бул жерде сизде Wemos D1 mini lite колдонулган иштей турган үн менен башкарылуучу IOT релеси болушу керек. Ырахат жана ийгилик!

Дагы, электр коркунучу бар, андыктан тийиштүү чараларды көрүңүз жана эгер квалификацияңыз жок болсо, сураныч.

Сунушталууда: