Мазмұны:
- 1 -қадам: материалдарды жинау
- 2 -қадам: Arduino мен ESP8266 бағдарламалау
- 3 -қадам: Thingspeak.com сайтын теңшеу
- 4 -қадам: Бағдарлама
- 5 -қадам: Linkit Smart 7688 Duo мен веб -камераны конфигурациялау
- 6 -қадам: PushingBox конфигурациясы
- 7 -қадам: Backendless қолдану арқылы Alexa дағдысын қалыптастыру
- 8 -қадам: Amazon Developer Console -да Alexa дағдыларын конфигурациялау:
- 9 -қадам: түпкілікті орнату және аяқтау
Бейне: Alexa мен Arduino көмегімен үйді ақылды бақылау: 9 қадам (суреттермен)
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:27
Қазіргі әлемде адамдар көп уақытты үйде емес, жұмыс орнында өткізеді. Сондықтан адамдар жұмыс кезінде үйдің жағдайымен таныса алатын үй мониторингі жүйесі қажет. Жұмыс уақытында «біреуден» үйі туралы сұраса, одан да жақсы болар еді. Бұған Amazon Alexa -ны көмекші ретінде пайдалану арқылы қол жеткізуге болады, ол пайдаланушыға өз үйі туралы қажетті ақпаратты бере алады.
Пайдаланушылар тек жұмыс орнында ғана емес, интернет байланысы мен Amazon Alexa болса, әлемнің кез келген жеріндегі үйдің жағдайымен таныса алады.
Бұл жобада келесі функциялар орындалады:
1) Тұрмыстық құрылғыларды желдеткіш пен жарық сияқты басқарыңыз
2) Құрылғылардың күйін айтады
3) үйдің ауа райы жағдайын айтады (температура мен ылғалдылық)
4) Қажет болған жағдайда үйдің ішкі көрінісін пайдаланушыға Gmail арқылы жібереді.
5) мына жағдайларда хабарлама жібереді:
* Кіруші (фото жібереді)
* Өрт
* Қонақ (фото жібереді)
1 -қадам: материалдарды жинау
Қажетті материалдар
Ардуино Уно
ESP8266 Wifi модулі
Linkit Smart 7688 Duo
DHT11
Эстафеталар
IR кедергі сенсоры
Веб-камера
Amazon жаңғырығы
Нан тақтасы мен секіргіш сымдар
Бағдарламалық қамтамасыз ету және онлайн қызметтері:
Thingspeak.com
Arduino IDE
Amazon Alexa дағдылар жиынтығы
Amazon Alexa Echosim.io (дағдыларды тексеру үшін)
Ақысыз
PushingBox
2 -қадам: Arduino мен ESP8266 бағдарламалау
Arduino IDE бағдарламасын ресми сайттан жүктеп алыңыз:
Arduino IDE бағдарламасын ашыңыз және қосымша тақта менеджерінің URL түріндегі file-> Preferences-> тармағына өтіңіз-https://arduino.esp8266.com/stable/package_esp8266…
Құралдар -> тақталар -> Тақтай менеджеріне өтіп, соңында табылған esp8266 бумасын орнатыңыз.
Arduino бағдарламалау үшін USB кабелін arduino-дан компьютерге жалғап, құралдар тақтасынан Arduino/Genuino UNO таңдаңыз. Сондай -ақ, Құралдарда COM порттарының құқықтарын таңдағаныңызға көз жеткізіңіз (COM портының нөмірін Құрылғы менеджерінен табуға болады). Қажетті бағдарламаны жазыңыз, оны құрастырыңыз және қателер болмаса жүктеуді басыңыз.
ESP8266 бағдарламасын қосу үшін диаграммада көрсетілгендей қосылыңыз. usdu -ны arduino -дан компьютерге қосыңыз. Құралдарда-> тақтада-> Жалпы ESP8266 таңдаңыз, сонымен қатар COM портының оң жақ бөлігін таңдаңыз. Қажетті бағдарламаны жазыңыз, оны құрастырыңыз және қателер болмаса жүктеуді басыңыз. Arduino RST -ті GND -ге қосқаныңызға көз жеткізіңіз (arduino ESP8266 бағдарламашысы ретінде әрекет етеді).
Бұл жобада алдымен ESP8266 бағдарламаланады, содан кейін тізбекті қосылымдар жойылады. Содан кейін схема «Схемалық қосылымдар» деп аталатын суретте көрсетілгендей қайта қосылады. Содан кейін arduino бағдарламаланған.
3 -қадам: Thingspeak.com сайтын теңшеу
Thingspeak.com сайтында тіркелгі жасаңыз.
Біз құрылғыларды басқару ақпаратын сақтау және arduino/alexa -ға бағыттау үшін нәрселерді сөйлейтін арналарды қолданамыз. біз сонымен қатар температура мен ылғалдылықты арналарда сақтаймыз. Бұл ақпаратты сақтау орны сияқты.
Сөйлесуге кіріңіз, менің арналарыма өтіп, жаңа арна жасаңыз. Арналарыңызға атау мен сипаттаманы беріңіз. Біздің жобада бізге 8 арна қажет (сіз жұмысты аз арналармен жасай аласыз, бірақ бағдарламалау кезінде біраз қиын болады). Thingspeak арнаны жаңарту кезінде уақытты шектейді. Белгілі бір арнаны жаңарту арасында 10-15 секундтық алшақтық болуы керек.
Төменде олардың мәні мен мағынасы бар сегіз арна берілген
арна атауы (мән1 мәні, мән2 мәні және т.б.):
1) Құрылғыны басқару (0-жарық, 1- жарық өшірулі, 2- желдеткіш ҚОСУ, 3- желдеткіш өшіру)
2) жарық күйі (0- жарық өшірулі, 1- жарық қосулы)
3) желдеткіш күйі (0- желдеткіш өшірулі, 1- желдеткіш қосулы)
4) ылғалдылық (ылғалдылық мәні)
5) температура (температураның мәні)
6) зиянкестер туралы хабарлама (1- зиянкестер туралы ескерту)
7) өрт туралы хабарлама (1- өрт туралы ескерту)
8) қонақтар туралы хабарлама (1- қонақтарға ескерту)
кез келген арнаны басқан кезде сіз оның идентификаторын көре аласыз және API кілттер қойындысында API кілттерін жаза аласыз. арнадағы ақпаратты/ мәнді алу үшін арна идентификаторы қажет. Мәнді арнада сақтау үшін жазу кілті қажет.
Арнаны жаңартуға арналған http сұрауы:
api.thingspeak.com/update?api_key=&field1=
арнаның тиісті жазу пернелерімен ауыстырылады және ол болуы мүмкін (құрылғыны басқару немесе температура/ылғалдылық мәндері жағдайында 0/1)
Арнадан мәнді оқуға арналған http сұрауы:
api.thingspeak.com/channels//field/field1/last.html
біз оқығымыз келетін арна идентификаторымен ауыстырылады.
4 -қадам: Бағдарлама
Бағдарлама 3 бөлімге бөлінеді:
A) Arduino бағдарламасы: arduino бағдарламасы өте қарапайым. Ол ESP8266 -дан деректерді дәйекті түрде алады және алынған мәліметтер негізінде құрылғылар басқарылады. Бағдарлама туралы қосымша ақпаратты бағдарламаның өзіндегі түсініктемелерден табуға болады.
B) ESP8266 бағдарламасы: ESP8266 бағдарламасы 3 нәрсені қамтиды
1) http сұранысы арқылы температура мен ылғалдылықты жаңарту
client.print (String («GET») + «/update? key = & field1 =» + ылғалдылық + «HTTP/1.1 / r / n» + «Хост:» + хост + «\ r / n» + «Байланыс: жабу / r / n / r / n «); // ылғалдылықты жаңарту
client.print (Жол («GET») + «/update? key = & field1 =» + температура + «HTTP/1.1 / r / n» + «Хост:» + хост + «\ r / n» + «Байланыс: жабу / r / n / r / n «); // температураны жаңарту
сәйкесінше ылғалдылық пен температура үшін дыбыс шығару арнасында орналасқан сәйкес жазу кілтімен ауыстырылады. және хост - api.thingspeak.com.
dht кітапханасын жүктеу:
2) алынған мәндерге сүйене отырып, сөйлеу және бақылау құрылғысының сәйкес арналарынан оқу: client.print (String («GET») + «/арналар//field/field1/last.html HTTP/1.1 / r / n» + « Хост: « + хост +» / r / n « +» Байланыс: жабу / r / n / r / n «);
мұндағы нәрселер тілінде табылған сәйкес арна идентификаторы.
3) жоғары температура жағдайында дабыл қорабы арқылы жіберу
String host1 = «api.pushingbox.com»;
client.print (String («GET») + «/pushingbox? devid = HTTP/1.1 / r / n» + «Host:» + host1 + «\ r / n» + «Connection: close / r / n / r / n «);
pushingbox ішіндегі сіздің құрылғыңыздың идентификаторымен ауыстырылады.
5 -қадам: Linkit Smart 7688 Duo мен веб -камераны конфигурациялау
Бұл жобада веб -камера мен linkit smart 7688 дуэті қажетті фотосуретті түсіріп, оны пайдаланушыға жіберу үшін қолданылады. Сіз сондай -ақ arduino камера модулін қолдана аласыз және оны arduino -мен байланыстыра аласыз немесе кез келген IP -камераны қолдана аласыз.
Тақтаны қалпына келтіру үшін smartit 7688 сілтемесіндегі wifi түймесін 20 секунд басып тұрыңыз. Wi -Fi параметрлерін қалпына келтіргеннен кейін, сіз сымсыз желі қосылымдарында оның кіру нүктесінің атауын көре аласыз. Енді компьютерді сол желіге қосыңыз. қосқаннан кейін шолғышты ашып, мекенжай жолағына 192.168.100.1 теріңіз. Сіз оның порталын көре аласыз. порталға кіру үшін пароль орнатыңыз.
Сіз кіргеннен кейін желі қойындысына өтіп, станция режимін таңдаңыз (Интернетке кіру үшін бізге қажет (linkit smart 7688 duo)) және оны Wi -Fi желісіне қосыңыз және конфигурациялау және қайта бастау түймесін басыңыз.
Тақта қайта іске қосылғаннан кейін оған жергілікті IP -адрес беріледі. Кез келген IP құралдарын немесе маршрутизатор порталын пайдаланып мекенжайды біліңіз. Менің жағдайда бұл 192.168.1.4 болды. Енді браузердің мекенжай жолағына жергілікті IP мекенжайын енгізіңіз. компьютердің linkit smart сияқты бір желіге қосылғанына көз жеткізіңіз. Сізден қайта кіру сұралады.
Веб-камерадан ағынды қосу үшін-j.webp
Кіргеннен кейін қызмет қойындысына өтіңіз және-j.webp
Веб -камераны OTG кабелі арқылы linkit smart 7688 duo usb хостына қосуға болатыннан кейін, ағынды көру үшін браузерді ашып, мекенжай жолағына теріңіз. менің жағдайда бұл 192.168.1.4:4400
суретке түсіру үшін пәрменді теріңіз:? action = snapshot
Енді бұл сурет жергілікті жерде қол жетімді, бірақ біз оны итергіш қорап қызметіне қол жетімді етуіміз керек. Бұған жету үшін бізге порт жіберу керек. Портты бағыттау маршрутизатор порталында жасалуы мүмкін. Әр түрлі маршрутизаторлар үшін процесс әр түрлі болады. Нақты маршрутизаторды қалай жіберу керектігін білу үшін Google -ге хабарласыңыз. Ол әдетте NAT қызметі бойынша қол жетімді. Портты жібергеннен кейін бұл портқа (яғни, 4440) сыртқы IP -ден кіруге болады. Сыртқы IP -ді google -де «whats my ip» байланыстыру арқылы табуға болады.
Сіз бұл мекенжайды енгізуіңіз керек
яғни.. https://::? action = snapshot
pushing жәшігінде (келесі қадамда түсіндіріледі), сондықтан pushingbox бұл суретке қол жеткізе алады және оны поштаға тіркейді және қажет болған кезде сізге жібереді.
Сіз сондай -ақ суретті sd картасында сақтай аласыз, өйткені Linkit smart 7688 дуэті ақпаратты сақтауға арналған SD картасының ұяшығымен бірге келеді. Бұл туралы қосымша ақпаратты мына жерден алуға болады:
docs.labs.mediatek.com/resource/linkit-sm…
6 -қадам: PushingBox конфигурациясы
pushingbox gmail -ге жобадағы әр түрлі ескертулер туралы хабарлама жіберу үшін қолданылады.
Google есептік жазбасын пайдаланып pushingbox -қа кіріңіз:
менің қызметтерге өтіңіз, қызмет қосыңыз. Gmail, twitter, андроид үшін push хабарландыру сияқты көптеген қызметтерді таңдауға болады …
Gmail таңдаңыз (суретті тіркеме ретінде жіберу керек) және ескерту жіберілуі керек пайдаланушының gmail атауының конфигурациясын және gmail идентификаторын толтырыңыз.
менің сценарийлеріме өтіп, жаңа сценарий жасаңыз. сценарийге атау беріңіз (мысалы: ALERT) бұрын құрылған қызметті қосыңыз.
поштаның тиісті тақырыбы мен мәтінін жазыңыз және фотосуретті тіркеу үшін веб -камераның скриншотын алу үшін URL мекенжайын енгізіңіз. Түртіндінің сценарийін орындау үшін әр түрлі alerts.api үшін әр түрлі сценарийлерді жасаңыз:
7 -қадам: Backendless қолдану арқылы Alexa дағдысын қалыптастыру
alexa дағдысын жасау үшін backendless қолданылады. Бұл қарапайым API көмегімен қол жеткізуге болатын alexa дағдыларын (немесе кез келген бағдарламаларды) жасау үшін қолданылатын қарапайым апарып тастау бағдарламалауы.
артқы жағында тіркелгі жасаңыз:
- Артқы шотта тіркелгіңізге кіріңіз. Қолданба жасау түймесін басып, қолданбаға атау беріңіз
- Сол жақтағы белгішелер тақтасында орналасқан Business Logic белгішесін нұқыңыз. Сіз API SERVICES экранын көресіз.
- Жаңа қызметті құру үшін «+» белгісін басыңыз. «Жаңа қызмет» қалқымалы терезесінде CODELESS таңдаңыз. Қызмет атауы үшін «AlexaService» енгізіңіз. САҚТАУ түймесін басыңыз:
- Backendless API қызметін жасайды және сізге қызметтің әдісін жасауды ұсынады. Бұл Alexa сұрауларын өңдейтін әдіс. Әдіс атауы үшін «handleRequest» енгізіңіз. REST операциясы үшін POST таңдаңыз және «req» атымен аргумент жариялаңыз және көрсетілгендей «Кез келген объект» теріңіз:
- Backendless әдісі кодсыз логика үшін толтырғыш жасайды. Кодсыз логикалық дизайнерге ауысуды бастау үшін EDIT түймесін басыңыз. Жасалған функцияның толтырғыш блогында «doSomething» деп аталатын аймақты нұқыңыз және оны «sendAlexaResponse» етіп өзгертіңіз. Бұл функция алексаны аргумент ретінде беруге болатын нәрсені айтуға мәжбүрлеу үшін қолданылады. Сақтау түймесін басыңыз, сонда функция сақталады.
- «Функция» сөзінің жанындағы күлгін блокта орналасқан беріліс белгісін нұқыңыз. Төмендегі суретте көрсетілгендей енгізу блоктарын сүйреп екі аргумент қосыңыз. Аргументтердің аттарын «whatToSay» және «waitForResponse» ретінде тағайындаңыз. Назар аударыңыз, аргументтерді қосқанда, мәтінмәндік блоктар аймағы аргумент мәндерін білдіретін блоктармен автоматты түрде толтырылады.
- Функция логикасын суреттегідей өзгертіңіз. «Объектілерді құру» блоктары үшін беріліс белгішесін қолданып, объект қасиеттерінің атауын өзгертіңіз. Сақтау түймесін басу арқылы жұмысыңызды сақтауды ұмытпаңыз.
- Енді реттелетін функция құрылды, AlexaService қызметінің handleRequest әдісіне қайта оралыңыз. Сол жақтағы құралдар тақтасындағы «Қолданбалы функциялар» санатын шертіңіз және қызмет көрсету әдісінің қайтару қосқышымен байланысу үшін sendAlexaResponse блогын сүйреңіз.
- Жоғарыда көрсетілген қадамдарды олардың веб-сайтынан табуға болады:
- BROWSER бөліміндегі Функциялар астындағы «Жаңа қосу» түйінін нұқыңыз. Жасалған функция толтырғыш блогында «doSomething» деп аталатын аймақты нұқыңыз және оны «getIntentName» етіп өзгертіңіз, бұл функция көрсетілген кескінге ұқсайтын етіп блоктарды өзгертіңіз. үлгі атауларға негізделген ниет атауын алады. Api services-> шолғыш бөлімінде сұранысты өңдеу дегенге қайта оралыңыз. Айнымалылар мен логика жүйелік бөлімнен құрылады. Суретте көрсетілген келесі айнымалыларды жасаңыз.
- Содан кейін біз айнымалыны сұрау ниетінің атын сақтаймыз. Содан кейін ниетпен салыстырыңыз. мысалы, егер сұрау «кіріспе» болса, жауап айнымалы мәні «сәлем! Мен басқара аламын …» деп орнатылады. және бұл жауапты ақырында alexa дауыстап оқиды. көрсетілгендей блокты өзгертіңіз.
- егер сұраныс LightsOn ниеті болса, онда біз http get сұранысын қолдана отырып, жылдам сөйлейтін арнаны '0' деңгейіне дейін жаңартамыз және сонымен бірге құрылғының күйін жаңартамыз (Қосу/Өшіруге байланысты 1/0). LightsOff, FanOn және FanOff үшін де дәл солай қайталанады.
- Ауа райы үшін біз температура мен ылғалдылық арнасынан оқимыз және нәтижені жауап айнымалысында сақтаймыз. Арна тек мән беретіндіктен, біз жауапты мағыналы ету үшін мәтіндерді қосамыз
- қонақ бөлменің суретін түсіру үшін біз pushingbox сценарийін іске қосамыз
- құрылғының күйі үшін біз сөйлеу күйінің арнасынан ақпаратты оқимыз:
- хабарландыру мен ескертулер үшін біз ескерту арналарынан оқимыз (өрт, зиянкестер мен қонақтар):
- хабарландыру өрісінен алатын мәндерге сүйене отырып, тиісті ескерту хабарлары answer0 айнымалысында сақталады. егер хабарландыру болмаса, онда ешқандай хабарлама сақталмайды.
- хабарлама оқылғаннан кейін, «0» хабарландыру арналарында жаңартылады, осылайша alexa сол хабарламаны қайта оқымайды. Соңында сұраудың негізінде answer0/answer айнымалысы дауыстап оқылады.
8 -қадам: Amazon Developer Console -да Alexa дағдыларын конфигурациялау:
amazon әзірлеуші консоліне өтіп, Amazon есептік жазбасын пайдаланып кіріңіз.
әзірлеуші консоліне өтіп, ALEXA қойындысын нұқыңыз. Жұмысты бастау үшін alexa дағдылар жинағын басыңыз.
дағдылардың жеке түрін жасаңыз, дағдыға атау мен шақыру атауын беріңіз. тиісті ниеттер мен үлгі айтылымдар кодта берілген.
конфигурация қойындысында HTTPS таңдаңыз қызмет көрсету нүктесі түрі ретінде әдепкі URL мекенжайын API URL мекенжайымен толтырыңыз. SSL сертификатындағы әдепкі соңғы нүкте үшін Сертификаттағы 2 -ші опцияны таңдаңыз. Сіз тестілеу тренажеры арқылы дағдыларды тексере аласыз.
Тест аяқталғаннан кейін сіз қажетті ақпаратты жариялау дағдысын жариялай аласыз.
9 -қадам: түпкілікті орнату және аяқтау
Тізбекті қосылымды суретте көрсетілгендей жасаңыз.
Кейде ток жеткіліксіз болғандықтан ESP8266 ақаулы болады. Осылайша, тізбекте айтылмағанмен, ESP8266 -ны бөлек 3.3В көзінен қосу ұсынылады. Егер сіз қуат банкін пайдалансаңыз, кернеуді 3,3 вольтты реттегіш көмегімен 5 вольттан 3,3 в дейін төмендеткеніңізге көз жеткізіңіз. Бағдарламаны ESP8266 мен arduino жүйесіне жүктеңіз. Мен шамға қосылуды көрсеттім, дәл сол нәрсені желдеткішке немесе кез келген құрылғыларға қосуға болады. Соңында сіздің шеберлігіңізді тексеру үшін amazon echo немесе echosim.io пайдаланыңыз.
Сіз шеберлікті шақыру атауын қолдана отырып белсендіруіңіз керек (менің жағдайым бойынша - «менің үйім»). Кейде егер ол бейнеде бірнеше рет көрсеткендей, шақырусыз қолданылса, ол жұмыс істемейді
Оқулық сізге ұнады деп үміттенемін!
Рақмет сізге!
Ұсынылған:
NODE MCU мен BLYNK көмегімен температура мен ылғалдылықты бақылау: 5 қадам
NODE MCU мен BLYNK көмегімен температура мен ылғалдылықтың мониторингі: Сәлеметсіздер ме, балалар, бұл нұсқаулықта MCU мен BLYNK түйінінің көмегімен DHT11-Температура мен ылғалдылық сенсоры көмегімен атмосфераның температурасы мен ылғалдылығын алуды үйренейік
Arduino басқару релесі модулін пайдаланып ақылды үйді қалай жасауға болады - Үйді автоматтандыру идеялары: 15 қадам (суреттермен)
Arduino басқару релесі модулін пайдаланып ақылды үйді қалай жасауға болады | Үйді автоматтандыру идеялары: Бұл үйді автоматтандыру жобасында біз 5 тұрмыстық техниканы басқара алатын ақылды үй реле модулін жасаймыз. Бұл реле модулін Мобильді телефоннан немесе смартфоннан, ИҚ қашықтан басқару пультінен немесе теледидардың қашықтан басқару пульті, Қолмен қосқыштан басқаруға болады. Бұл ақылды эстафета сонымен қатар сезеді
SMS хабарландыруы мен Thingspeak деректерді жүктеу, GPS жүйесі бар автокөлікті бақылау, Arduino негізіндегі, үйді автоматтандыру: 5 қадам (суреттермен)
GPS Car Tracker бірге SMS хабарлама және Thingspeak деректер жүктеу, Arduino негізделген, Басты автоматтандыру: Мен өткен жылы осы GPS Бақылаушы жасады және ол жақсы жұмыс істейді, өйткені Мен Instructable қазір оны жариялауға. Ол магистральдық керек -жарақтарға қосылады, GPS трекері мобильді деректер арқылы көліктің орнын, жылдамдығын, бағытын және өлшенген температураны жүктейді
NodeMCU көмегімен IoT негізіндегі топырақ ылғалдылығын бақылау мен бақылау жүйесі: 6 қадам
NodeMCU көмегімен IoT негізіндегі топырақтағы ылғалдылықты бақылау мен бақылау жүйесі: Бұл оқулықта біз ESP8266 WiFi модулін, яғни NodeMCU көмегімен IoT негізіндегі топырақ ылғалдылығын бақылау мен бақылау жүйесін енгізетін боламыз. Бұл жобаға қажет компоненттер: ESP8266 WiFi модулі- Amazon (334/- INR) реле модулі- Amazon (130/- INR
ESP8266 мен Google Home Mini көмегімен DIY дауысы/интернетпен басқарылатын үйді автоматтандыру және бақылау: 6 қадам
ESP8266 мен Google Home Mini көмегімен DIY дауысы/интернетпен басқарылатын үйді автоматтандыру және бақылау: Эй !! Ұзақ үзілістен кейін мен осындамын, өйткені біз бәріміз ақша табу үшін қызықсыз нәрсе (жұмыс) жасауымыз керек. BLUETOOTH, IR, Local WIFI, Cloud, яғни қиын мақалалардан жазған барлық үйдегі Автоматтандыру мақалаларынан кейін * ҚАЗІР * келеді. ең қарапайым, бірақ ең тиімдісі