Мазмуну:

Alexa жана Arduino аркылуу үн менен башкарылган которуу: 10 кадам (сүрөттөр менен)
Alexa жана Arduino аркылуу үн менен башкарылган которуу: 10 кадам (сүрөттөр менен)

Video: Alexa жана Arduino аркылуу үн менен башкарылган которуу: 10 кадам (сүрөттөр менен)

Video: Alexa жана Arduino аркылуу үн менен башкарылган которуу: 10 кадам (сүрөттөр менен)
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Июль
Anonim
Alexa жана Arduino аркылуу үн менен башкарылган которуу
Alexa жана Arduino аркылуу үн менен башкарылган которуу

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

Материалдардын тизмеси

  1. 12V реле модулу ==> $ 4.2
  2. Arduino uno ==> $ 8
  3. DHT11 температура сенсору ==> 3 доллар
  4. ESP8266 Module ==> $ 4.74
  5. N26 optocoupler ==> $ 0.60
  6. LM1117 чыңалуу жөндөгүч ==> $ 0.60
  7. Breadboard ==> $ 2.2
  8. Jumper зымдары ==> $ 2,5
  9. Баскычты басыңыз ==> $ 2,5

Долбоордун жалпы баасы болжол менен 30 доллар. Бул долбоор үч бөлүккө бөлүнгөн. Биринчиден, биз колдонмону түзүү үчүн heroku колдонобуз. Экинчиден, биз жумушубузду ишке ашыруу үчүн Amazon Alexa чеберчилигин курабыз (Эң маанилүү бөлүгү). Үчүнчүдөн, биз аппараттык жабдууларыбызды орнотобуз жана аны Arduino IDE аркылуу программалайбыз.

1 -кадам: Heroku GitHub менен байланыштыруу

Heroku GitHub менен байланыштыруу
Heroku GitHub менен байланыштыруу
Heroku GitHub менен байланыштыруу
Heroku GitHub менен байланыштыруу
Heroku GitHub менен байланыштыруу
Heroku GitHub менен байланыштыруу

Heroku - бул веб -тиркемени жайылтуу модели катары колдонулган бир нече программалоо тилдерин колдогон кызмат (PaaS) катары булут платформа. Биринчиден, heroku сайтына барып, жаңы каттоо эсебин түзүңүз же ошол жерге кириңиз. Шилтеме төмөндө берилген

Heroku сайты

Жаңы колдонмону түзүүдөн баштайлы. Колдонмону жайылтууда мен колдонмонун атын "iottempswitch" деп койгом, шилтеме пайда болот.

Колдонмо түзүлгөндөн кийин GitHub. GitHub/

Ошол жерге кириңиз же каттоо эсебиңиз жок болсо катталыңыз. Киргенден кийин жаңы репозиторийди түзүңүз. Тандоону каалаган ысымды бериңиз жана репозиторийди түзүү баскычын басыңыз. Кийинки бетте README дегенди басыңыз, бул бетте сиз башкалар менен бөлүшкүңүз келген сүрөттөмөнү бериңиз. Андан кийин, жаңы файлды жасоону чыкылдатыңыз. Андан кийин, жүктөө баскычын чыкылдатыңыз.

Папканы сүйрөп таштоо же файлды тандоодо эки вариант бар. Керектүү файлдарды төмөндөн жүктөп алыңыз. Файлдарды тандагандан кийин, өзгөрүүлөрдү жасаңыз. Heroku'да түзгөн колдонмону ачыңыз, андан кийин жайгаштыруу бөлүмүнө өтүңүз. Андан кийин GitHub тарабында түзүлгөн GitHub. Give репозиторийинин атын басыңыз. Менин учурда бул Smart-Relay. Муну көчүрүп, бул жерге чаптаңыз. Шилтемеңиз көрсөтүлгөндөн кийин туташууну басыңыз. Андан кийин, филиалды жайылтууну басыңыз (кол менен). Орнотуудан кийин сиз шилтемени курулуш журналынан көрө аласыз же шилтемени жөндөөлөрдөн көрө аласыз. Биз Amazon чеберчилигин жасап жатканда, бул шилтеме кийинчерээк керек.

2 -кадам: Amazon

Amazon
Amazon
Amazon
Amazon
Amazon
Amazon

Alexa чеберчилигинин акыркы сүрөттөрү

Amazon Developer сайтында биз температураны жана нымдуулукту орнотуу аркылуу которгучту иштетүү үчүн Amazon жөндөмүн колдонобуз.

Amazon Иштеп чыгуучу сайтына өтүңүз. Шилтеме төмөндө берилген.

Amazon Иштеп чыгуучунун сайты

  • I4 сүрөттө көрсөтүлгөндөй, жогорку оң жактагы Иштеп чыгуучунун консолуна өтүңүз
  • Alexa'га өтүңүз, андан кийин Alexa Skill Kitти тандап, андан кийин "Жаңы чеберчиликти кошуу" баскычын чыкылдатып жаңы жөндөмдү түзүңүз.

Жаңы чеберчиликти кошкондо сиз чеберчилик маалымат баракчасын көрөсүз.

1. Чеберчилик маалыматы (i7 сүрөттө көрсөтүлгөндөй)

биз көндүмдөрдүн түрүн, тилин, атын, чакыруу атын беришибиз керек.

Көндүм түрү ==> салттарды тандоо

  • Аты ==> каалаган атты тандаңыз.
  • Чакыруунун аты ==> сиз Alexa менен байланышып жатканда колдоносуз. Мисалы;
  • Тил ==> Англисче (Индия). Өлкөңүзгө жараша тандаңыз

сактоо жана андан кийинкисин басыңыз

2. Өз ара аракеттенүү модели

Бул жерде биз жөндөм куруучуну колдонобуз. Ошентип, Skill Builder'ди ишке киргизиңиз. i8 сүрөтүндө көрсөтүлгөндөй баракты көрөсүз.

Биринчиден, биз жаңы ниеттерди түзөбүз. Кошуу баскычын чыкылдатыңыз (сол жагында) жана мен каалаган "smartswitch" атын бер

  • I9 сүрөттө көрсөтүлгөндөй уячанын түрүнүн аталышын "өлчөө_түрү" жана уячалардын маанисин "температура" менен "нымдуулукту" бериңиз.
  • Андан кийин слоттун түрүнө "query" атын кошуп, слоттун мааниси i10 сүрөттө көрсөтүлгөндөй "эмне" жана "эмне" болуп саналат.

  • Андан кийин слоттун "switchstate" түрүн кошуңуз жана i11 сүрөтүндө көрсөтүлгөндөй уячалардын мааниси "күйүк" жана "өчүк".
  • "Tempscale" башка уячасынын түрүн кошуңуз жана уячалардын мааниси i12 сүрөттө көрсөтүлгөндөй "фаренгейт" жана "celcuis" болуп саналат.
  • Андан кийин бул жерде жаңы көзөнөк түрүн кошуу үчүн, биз бар болгон слоттун түрүн колдонобуз, ал үчүн бар слотту колдонууну басуу керек. Азыркы слоттон amazon.number издеп, муну тандап, кошуңуз. Аны кошкондон кийин, аны i13 сүрөтүндө көрсөтүлгөндөй слоттун түрлөрүндө көрөсүз.

Ошентип, биз колдонуп жаткан слоттун жалпы тиби 5 менен бүтүрүлдү. Эми, кийинки кадамга өтүңүз. Биз жараткан ниетке чыкылдатыңыз, менин учурда бул smartswitch. Оң жагында i14 сүрөттө көрсөтүлгөндөй ниеттин уячасын көрөсүз.

  • Жаңы уяча түзүңүз, ага "Switch_State" атын бериңиз жана i15 сүрөтүндө көрсөтүлгөндөй, ылдый түшүүчү баскычты колдонуу менен аны "switchstate" ге картаңыз.
  • Жаңы уячаны түзүңүз, ага "Sensor_Values" атын бериңиз жана i16 сүрөттө көрсөтүлгөндөй "ченемдин_түрүнө" картаңыз.
  • Жаңы уячаны түзүңүз, ага "query" атын бериңиз жана i17 сүрөттө көрсөтүлгөндөй "query" ге картаңыз.
  • Андан кийин "tmp_scale" жаңы уячасын түзүңүз жана i18 сүрөтүндө көрсөтүлгөндөй "tempscale" ге картаңыз.
  • I19 сүрөтүндө көрсөтүлгөндөй, "Сандар" жаңы уячасын түзүңүз жана аны "Amazon. Numbers" ге картаңыз.

Эми биз Intent уячалары менен бүттүк. Биз 5 ниет оюктарды колдонуп жатабыз. Ушундан кийин, i20 сүрөттө көрсөтүлгөндөй, Үлгү сөздөргө өтөлү.

Бул үлгүдөгү сөздөрдү кошуңуз.

которуу триггерин {Сандар} пайызга {tmp_scale} коюу

{query} - которулуу абалы

{Switch_State} которуштургуч

которгучту {Сандар} даражасына {tmp_scale} коюңуз

которуу {Switch_State}

{query} которуу {Switch_State}

{query} - учурдагы {Sensor_Values}

Бул моделди сактагандан кийин жана аны куруңуз. Кийин конфигурацияны чыкылдатыңыз.

3. Конфигурация

HTTPSти тандап, heroku колдонмосун түзүүдө түзүлгөн шилтемени кошуңуз. Менин учурда бул https://iottempswitch.herokuapp.com/. Шилтемени кошкондон кийин i23 сүрөтүндө көрсөтүлгөндөй кийинки баскычты басыңыз.

4. SSL тастыктамасы Экинчи вариантты тандап, i24 сүрөтүндө көрсөтүлгөндөй кийинки баскычты басыңыз.

биз жөндөмүбүздү ийгиликтүү түздүк.

3 -кадам: Arduino

Arduino
Arduino
Arduino
Arduino
Arduino
Arduino

Open Arduino IDE. Андан кийин File ==> Тандоого өтүңүз

Кошумча такталар менеджеринде URL'ди көчүрүп чаптаңыз жана i26 сүрөтүндө көрсөтүлгөндөй чыкылдатыңыз.

arduino.esp8266.com/versions/2.4.0/package_…

  • Куралдар менеджерин ачуу Tools ==> Board ==> Board Manager.
  • Такта менеджерин ачыңыз жана i27 сүрөтүндө көрсөтүлгөндөй nodemcu издеңиз.
  • Андан кийин ESP8266WiFi китепканасын жүктөп алыңыз. Китепкана башкаруучусун ачыңыз: Sketch ==> Китепкананы кошуу ==> Китепканаларды башкаруу.
  • ESP8266WiFi китепканасын издеп, аны орнотуңуз.
  • Тактаны тандоо ==> Жалпы ESP8266 модулу.
  • Кодду жүктөөдөн мурун бизге үч китепкана керек.

Керектүү китепканалар

Бул китепканаларды Arduino китепканалар папкасына жылдырыңыз

Сиз SSID, PWD жана heroku колдонмосунун шилтемесиндеги үч нерсени өзгөртүшүңүз керек. Андан кийин кодду жүктөңүз. ESP модулу үчүн кодду жүктөп жатканда флеш баскычын басуу керек, андан кийин кайра орнотуу баскычын бир жолу басуу керек, андан кийин флеш баскычын кое берүү керек. Кодду жүктөгөндөн кийин, терминалды ачыңыз. чыгарууну көрөсүз.

4 -кадам: Компоненттин Description

Компоненттин Description
Компоненттин Description
Компоненттин Description
Компоненттин Description
Компоненттин Description
Компоненттин Description
Компоненттин Description
Компоненттин Description

1. Эстафета деген эмне

Реле - бул электромагниттик түзүлүш, ал эки схеманы электрдик изоляциялоо жана аларды магниттик туташтыруу үчүн колдонулат. Алар абдан пайдалуу түзмөктөр жана толугу менен өзүнчө турганда бир схеманын экинчисине өтүшүнө мүмкүнчүлүк берет. Алар көбүнчө өтө чоң чыңалууда иштеген электрдик схемага электрондук схеманы (төмөн чыңалууда иштегенди) туташтыруу үчүн колдонулат. Мисалы, реле 230В AC электр схемасын которуш үчүн 5V DC батарея схемасын түзө алат.

Бул кантип иштейт

Релелик которгучту эки бөлүккө бөлүүгө болот: киргизүү жана чыгаруу. Киргизүү бөлүгүндө электрондук схемадан кичине чыңалуу колдонулганда магнит талаасын пайда кылуучу катушка бар. Бул чыңалуу жумушчу чыңалуу деп аталат. Адатта колдонулган реле 6V, 9V, 12V, 24V ж.б сыяктуу иштөө чыңалууларынын ар кандай конфигурациясында бар. Чыгуу бөлүмү механикалык түрдө туташкан же ажыратылган контакторлордон турат. Негизги реледе үч контактор бар: кадимкидей ачык (NO), адатта жабык (NC) жана жалпы (COM). Эч кандай киргизүү абалында, COM NCге туташкан. Иштөө чыңалуусу колдонулганда, реле катушкасы кубат алат жана COM байланышты NO деп өзгөртөт. Ар кандай релелик конфигурациялар SPST, SPDT, DPDT ж. Контакторлордун туура айкалышын колдонуу менен электрдик схеманы күйгүзүп -өчүрүүгө болот. Релелик которгучтун түзүлүшү жөнүндө ички маалыматтарды алыңыз.

COM терминалы жалпы терминал болуп саналат. Эгерде COIL терминалдары номиналдык чыңалуу менен иштесе, COM жана NO терминалдары үзгүлтүксүздүккө ээ. Эгерде COIL терминалдарына энергия берилбесе, анда COM жана NO терминалдарынын үзгүлтүксүздүгү болбойт.

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

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

2. DHT температура сенсору

DHT11 - бул нымдуулук жана температура сенсору, ал калибрленген санариптик чыгууну жаратат. DHT11 Arduino, Raspberry Pi жана башкалар сыяктуу каалаган микро контроллер менен интерфейс боло алат жана заматта натыйжаларды ала алат. DHT11 - бул жогорку ишенимдүүлүктү жана узак мөөнөттүү туруктуулукту камсыз кылган нымдуулуктун жана температуранын төмөн наркы.

3. ESP8266 Толук сүрөттөлүшү

ESP8266 WiFi модулу - бул TCP/IP протоколунун стеги бар өзүнчө камтылган SOC, ал сиздин WiFi тармагыңызга каалаган микроконтроллерге мүмкүнчүлүк берет. ESP8266 башка колдонмодон тиркеме тармактык функцияларын өткөрө алат Ар бир ESP8266 модулу AT буйругу менен алдын ала программаланган түрдө келет.

ESP8266 VoIP тиркемелери жана Bluetooth менен бирге иштөө интерфейстери үчүн APSDди колдойт, анын ичинде бардык иштөө шарттарында иштөөгө мүмкүндүк берген, өзү калибрленген RF бар жана тышкы RF бөлүктөрүн талап кылбайт.

Өзгөчөлүктөрү

  • 802.11 b/g/n
  • Wi-Fi Direct (P2P),
  • soft-AP Интеграцияланган TCP/IP протокол стеги
  • Интегралдык TR которгуч, balun, LNA, күчөткүч жана дал келген тармак
  • Интегралдык PLLлер, жөнгө салуучулар, DCXO жана энергияны башкаруу бөлүмдөрү
  • +19.5dBm чыгаруу күчү 802.11b режиминде
  • <10uA агып кетүүчү токту өчүрүү
  • 1МБ флеш -эс
  • Интегралдык аз кубаттуу 32 биттик CPU колдонмо процессору катары колдонулушу мүмкүн
  • SDIO 1.1 / 2.0, SPI, UART
  • STBC, 1 × 1 MIMO, 2 × 1 MIMOA-MPDU & A-MSDU агрегациясы жана 0.4ms күзөт интервалы
  • Ойгонуп, пакеттерди <2msден кийин жөнөтүңүз
  • Күтүү күчү <1.0mW (DTIM3)

I34 сүрөтүндө көрсөтүлгөн Pin Description.

ESP модулун Arduino UNO менен туташтыруу үчүн бизге Lm1117 3.3 чыңалуу жөндөгүчү же кандайдыр бир жөндөгүч керек, анткени Arduino ESP8266га 3.3 в камсыз кыла албайт.

Эскертүү:- Кодду жүктөөдө флеш баскычын басыңыз, андан кийин Reset баскычын бир жолу басыңыз жана i29 сүрөттө көрсөтүлгөндөй жарк баскычын коё бериңиз.

DHT11 сенсору менен релесин туташтыруу үчүн биз ESP8266 модулунун эки GPIO казыгын колдонобуз. Кодду жүктөгөндөн кийин RX, TX, GPIO0 төөнөгүчтөрүн ажыратсаңыз болот. Мен DHT11 сенсору үчүн GPIO0 жана реле үчүн GPIO2 колдондум. DHT11 сенсору ESP8266 менен жакшы иштейт, бирок реле үчүн бизге дагы бир кошумча нерсе керек, башкача айтканда, опто изолятору же опто кошкучу. I30, i31, i32 жана i33 сүрөтүн караңыз.

5 -кадам: Байланыштар

ESP8266 ===> DHT11GPIO0 ===> Чыкуучу пин

ESP8266 ===> RelayGPIO2 ===> Киргизүү

ARDUINO ===> ESP8266

Gnd ===> GndTX ===> TX

RX ===> RX

Кайра коюу баскычы ===> RST

Flash баскычы ===> GPIO0

6 -кадам: Бардык нерселерди текшерүү

Бардык нерселерди текшерүү
Бардык нерселерди текшерүү
Бардык нерселерди текшерүү
Бардык нерселерди текшерүү
Бардык нерселерди текшерүү
Бардык нерселерди текшерүү
Бардык нерселерди текшерүү
Бардык нерселерди текшерүү

Биз ийгиликтүү колдонмону, жөндөмүбүздү түздүк жана жабдыктарыбыз даяр. Ошентип, текшерүү убактысы келди.

Бул үчүн сиздин ESP8266 күйгүзүлгөн, анткени биздин сервер ESP8266 менен иштеп жатат. Бул жерде мен эч кандай сенсорду ESP8266га туташтырган жокмун, мен анын иштеп жаткандыгын же иштебей турганын текшерип жатам, бирок сенсорду, релени ESP8266га туташтыра аласың. Ал Heroku менен туташкандан кийин, сиз туташкан көрөсүз. Тестирлөө үчүн сиз түзгөн Amazon жөндөмүнө өтүңүз, анан тест баракчасын чыкылдатыңыз. Анын иштеши ырасталгандан кийин мен сенсорумду ESP8266га туташтырам. I35, i36, 37, 38, 39, 40 сүрөттөрүндө көрсөтүлгөндөй жыйынтыктарды көрө аласыз.

Эгерде сиз аны ESP8266 туташтырбастан колдонсоңуз, анда бул ката i41 сүрөттө көрсөтүлгөндөй болот.

Сиз колдоно турган сөздөрдү

которуу триггерин {Сандар} пайызга {tmp_scale} коюу

мис:- которгучту 50 пайыз нымдуулукка коюңуз

{query} - которулуу абалы

өчүрүү/өчүрүү күйгүзүү абалы

{Switch_State} которуштургуч

экс -өчүрүү/өчүрүү триггери

которгучту {Сандар} даражасына {tmp_scale} коюңуз

ex - которгучтун триггерин фаренгейт 76 градуска коюңуз

ex - которгучту 24 градуска чейин орнотуу

которуу {Switch_State}

ex - күйгүзүү/өчүрүү

Натыйжалар үчүн i41ден i46га чейинки сүрөттү караңыз.

AlexaAlexa менен сүйлөшүп жатканда, arduinoдон которгучту иштетүүнү/өчүрүүнү сураңыз

Alexa, arduinoдон которуштуруучу триггерди 24 градус Цельсийге коюуну сураныңыз.

Alexa, arduinoдон которгучту 50 пайыз нымдуулукка коюуну сураныңыз

Alexa, arduinoдон күйгүзүүнү/өчүрүүнү сураңыз

7 -кадам: VUI (Voice User Interface) диаграммасы

VUI (Voice User Interface) диаграммасы
VUI (Voice User Interface) диаграммасы

8 -кадам: Демо

Image
Image

Температура жана нымдуулук үчүн 1. Set триггер.

2. 20 градус Цельсийге триггерди коюңуз.

3. 80 пайыз нымдуулукка триггерди коюңуз.

9 -кадам: схемалык

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