- Хардверски захтеви
- Пројектни ток за Алека контролисану гласом Алека
- Постављање Адафруит рачуна за комуникацију
- Повежите Алека са Адафруит ИО користећи ИФТТТ
- Објашњење ЕСП12 кода
- Рад:
У претходним водичима видели смо како можемо да направимо Амазон Ецхо звучник и како онда можемо да контролишемо било који Распберри Пи ГПИО користећи Алека Воице. Сада радимо ИоТ пројекат за контролу кућних апарата са било ког места у свету користећи АлекаПи и ЕСП-12Е (или било коју ЕСП плочу).
Хардверски захтеви
- Распберри Пи са инсталираним АВС-ом
- УСБ 2.0 микрофон / веб камера
- ЕСП-12Е
- Релејни модул
- ЛЕД / АЦ сијалица
Требали бисте припремити Распберри Пи са инсталираном Алека гласовном услугом са правилно конфигурисаним рачуном Амазон Девелопер Аццоунт. Дакле, прођите кроз доњи водич да бисте припремили Алека услуге.
- Направите свој Амазон Ецхо користећи Распберри Пи
Пројектни ток за Алека контролисану гласом Алека
Пратићемо овај дијаграм тока за овај ЛЕД пројекат који контролише ИоТ:
Дакле, процес је отприлике овакав. Прво се даје улаз Распберри Пи преко УСБ микрофона. Сада се овај снимак шаље Алека говорним службама, а након препознавања гласа АВС је податке послао ИФТТТ-у и то покреће стање у ИФТТТ-у. Према рецепту, ИФТТТ ће послати команду компанији Адафруит ИО, која је посредник МКТТ-а за извођење радње. Тада ће ЕСП 12е примити податке од Адафруит ИО преко МКТТ протокола и ЛЕД ће се УКЉУЧИТИ / ИСКЉУЧИТИ у складу са наредбом.
Овде смо користили УСБ веб камеру за микрофон. Већ смо користили услугу Алека Воице за укључивање сијалице, али може да ради само са уређајима који су повезани локално.
Како претпостављамо да већ имате Распберри Пи са инсталираним услугама Алека Воице, остајемо са испод два корака која ћемо објаснити један по један:
- Постављање Адафруит рачуна за комуникацију
- Повежите Алека са Адафруит ИО користећи ИФТТТ
- Отпремите код у ЕСП12
Постављање Адафруит рачуна за комуникацију
Прво ћемо направити феед у Адафруит ИО. Феед чува податке које шаље ИФТТТ. Да бисте направили фид, следите ове кораке:
Корак 1: - Пријавите се на Адафруит ИО са својим акредитивима или се региструјте ако немате налог.
Корак 2: - Кликните на Мој налог -> Контролна табла
Корак 3: - Кликните на „ Акције“ и направите нову контролну таблу .
Корак 4: - Дајте име и опис фиду и кликните на Креирај .
Корак 5: - Притисните дугме Кључ и забележите АИО тастере, ми ћемо користити овај кључ у нашем коду.
Корак 6: - Кликните на дугме „+“ да бисте креирали нови блок и кликните на дугме за пребацивање.
Корак 7: - Унесите име фида и кликните на Цреате . Затим одаберите феед и кликните на Нект степ.
Корак 8: - У поставкама блока упишите '1' у поље за текст дугмета ОН и '0' у поље за текст дугмета ОФФ .
9. корак: - Ваш фид је успешно направљен.
Повежите Алека са Адафруит ИО користећи ИФТТТ
Следите ове кораке да бисте направили аплет / рецепт у ИФТТТ:
Корак 1: - Пријава на ифттт са акредитивима или Регистрација ако немате налог на њега.
Корак 2: - На Ми Апплетс, кликните Нев Апплет
Корак 3: - Кликните на + ово
Корак 4: - Претражите Амазон Алека и кликните на њу, пријавите се са детаљима свог налога програмера за Амазон.
Корак 5: - Изаберите покретач, изговорите одређену фразу
Корак 6: - Наведите „ укључи светло“ као фразу, кликните на Креирај окидач.
Корак 7: - Кликните на + то
Корак 8: - Претражите Адафруит и кликните на њега.
Корак 9: - Пријавите се на рачун Адафруит користећи своје акредитиве. Кликните на Сенд дата то Адафруит .
Изаберите име фида које сте управо креирали у Адафруит ИО. Сада дајте '1' у податке да бисте их сачували, то значи да ће ЛЕД бити укључен. Кликните на Цреате Ацтион .
Корак 10: - Слиједите исте кораке за израду аплета за искључивање ЛЕД диоде . Само ставите '0' у поље Подаци за спремање. Сви кораци остају исти.
Урадили сте пола свог посла. Сада је време да програмирате свој ЕСП-12Е.
Објашњење ЕСП12 кода
Програмираћемо ЕСП12 са Ардуино ИДЕ. Комплетни код је дат на крају овог водича.
Прво, потребна нам је библиотека Адафруит Мктт коју можемо преузети са ове везе. Само отворите Ардуино ИДЕ. Идите на примере -> библиотека адафруит мктт -> мктт_есп8266
Ми ћемо изменити овај код у складу са нашим кључевима АИО и Ви-Фи акредитива.
Прво смо укључили све библиотеке за ЕСП8266ВИФИ и Адафруит МКТТ .
#инцлуде
Ми смо дефинисали ССИД и лозинку за Ви-Фи, из којег желите да повежете ЕСП-12Е.
#дефине ВЛАН_ССИД "кккккккк" #дефине ВЛАН_ПАСС "кккккккккк"
Овај одељак дефинише Адафруит сервер и сервер порт који је фиксиран као „ ио.адафруит.цом “ односно „ 1883 “.
#дефине АИО_СЕРВЕР "ио.адафруит.цом" #дефине АИО_СЕРВЕРПОРТ 1883
Замените доња поља својим корисничким именом и АИО кључевима које сте копирали са сајта Адафруит док сте правили фид.
#дефине АИО_УСЕРНАМЕ "********" #дефине АИО_КЕИ "******************************"
Затим креирајте класу ЕСП8266 ВиФиЦлиент да бисте се повезали са МКТТ сервером.
ВиФиЦлиент клијент;
Подесите класу МКТТ клијента уношењем ВиФи клијента и МКТТ сервера и детаља за пријаву.
Адафруит_МКТТ_Цлиент мктт (& клијент, АИО_СЕРВЕР, АИО_СЕРВЕРПОРТ, АИО_УСЕРНАМЕ, АИО_КЕИ);
Подесите феед под називом „светло“ за претплату на промене.
Адафруит_МКТТ_Субсцрибе лигхт = Адафруит_МКТТ_Субсцрибе (& мктт, АИО_УСЕРНАМЕ "/ феедс / лигхт");
У функцији подешавања проглашавамо ПИН ЕСП-12е на којем желите да добијете излаз. Користим Д0 пин као излаз. Затим повезујемо ЕСП-12е са Ви-Фи приступном тачком.
воид сетуп () { Сериал.бегин (115200); кашњење (10); пинМоде (Д0, ИЗЛАЗ); Сериал.принтлн (Ф („Демофруит МКТТ демонстрација“)); // Повезивање са ВиФи приступном тачком. Сериал.принтлн (); Сериал.принтлн (); Сериал.принт ("Повезивање са"); Сериал.принтлн (ВЛАН_ССИД); ВиФи.бегин (ВЛАН_ССИД, ВЛАН_ПАСС); док је (ВиФи.статус ()! = ВЛ_ЦОННЕЦТЕД) { …. … …
Подесите претплату на МКТТ за лагано напајање.
мктт.субсцрибе (& лигхт); }
У функцији петље , постараћемо се да веза са МКТТ сервером буде жива користећи МКТТ_цоннецт (); функцију.
петља воид () { МКТТ_цоннецт ();
Сада се претплаћујемо на нашу „лагану“ фиду и добијамо стринг из адафруит ИО и претварамо овај низ у број помоћу атои (); функционисати и записати овај број на ПИНД0 помоћу дигиталВрите (); функцију.
Адафруит_МКТТ_Субсцрибе * претплата; вхиле ((субсцриптион = мктт.реадСубсцриптион (5000))) { иф (субсцриптион == & лигхт) { Сериал.принт (Ф ("Гот_лигхт:")); Сериал.принтлн ((цхар *) лигхт.ластреад); уинт16_т нум = атои ((цхар *) лигхт.ластреад); дигиталВрите (16, број); }
Рад:
Повежите свој ЕСП-12Е са преносним рачунаром и отпремите доњи код (не заборавите да уредите своје акредитиве у коду).
Прикључите ЛЕД или релеј на пин Д0. Сада се уверите да је ваша услуга Алека покренута на вашем РПи-у.
Да бисте дали било коју команду, потребно је да пробудите Алека услугу позивањем „Алека“ сваки пут када желите да пошаљете команду. Зачућете звучни сигнал. Кад зачујете звучни сигнал, реците „ Алека Триггер Турн тхе Лигхт. ”Можете да видите како се светло укључује за тренутак. А онда ако кажете „ Алека Триггер Турн офф тхе Лигхт “ ( Светло искључи) , светло би требало да се ИСКЉУЧИ.
То је то…. У горњи код можете додати још уређаја додавањем ГПИО пинова ЕСП-12Е и прављењем различитих Апплета са различитим фразама у ИФТТТ.
Проверите комплетан код и демонстрациони видео испод. Овде погледајте и све наше пројекте аутоматизације куће