Како направити паметни систем аутоматизације куће помоћу модула ЕСП32?

У овом модерном добу концепт кућне аутоматизације расте великом брзином. Паметни системи се инсталирају на готово сваком месту. Систем паметне куће је концепт у којем се свим електричним апаратима или уређајима управља помоћу једног даљинског управљача. У овим системима је даљински управљач најчешће мобилна апликација. Како је андроид мобилни телефон најчешћи међу људима, тако је андроид апликација најбоља опција за контролу свих ових уређаја.



Кућне аутоматизације

Дакле, у овом пројекту ћемо повезати неке електричне уређаје куће на релејни модул и управљати њима преко ЕСП32 микроконтролера. Направићемо Фиребасе базу података у реалном времену и повезати је из андроид апликације. Ова апликација за Андроид ће послати податке у облак, а затим ће их послати микроконтролеру за укључивање или искључивање електричног уређаја. Најбоље је то што можете имати потпуну контролу над пребацивањем уређаја са било ког места на свету. Само вам је потребна интернетска веза за управљање андроид апликацијом.



Како управљати кућним апаратима путем ВиФи-а?

Системи кућне аутоматизације који су већ доступни на тржишту су врло скупи. ЕСП32 плочу можемо да користимо за повезивање различитих кућних апарата и управљање њима помоћу Андроид апликације. Ово ће бити врло јефтино и ефикасан начин аутоматизације куће. Кренимо сада корак напред и започните са прикупљањем информација за почетак пројекта.



Корак 1: Прикупљање компонената

Најбољи приступ за започињање било ког пројекта је састављање листе компонената и пролазак кроз кратку студију ових компонената, јер нико неће желети да се задржи усред пројекта само због недостајуће компоненте. Списак компонената које ћемо користити у овом пројекту дат је у наставку:



  • ЕСП32
  • Бреадбоард
  • Повезивање жица

Корак 2: Проучавање компонената

Сада када знамо сажетак овог пројекта, померимо се корак напред и прођите кроз кратку студију о раду главних компонената које ћемо користити.

ЕСП32 је плоча микроконтролера мале снаге и јефтина која има уграђени ВиФи и Блуетоотх модул у двојном режиму. Ову плочу микроконтролера је креирао и развио Еспрессиф Системс . Ова плоча има уграђена појачала снаге, појачала ниског нивоа пријама, филтере и антенске прекидаче. Напаја се андроид дата каблом и може пружити до 3.3В на излазу. ЕСП32 извршава ТЦП / ИП, пуне 802.11 б / г / н / е / И ВЛАН МАЦ конвенције и посебно Ви-Фи Дирецт. То значи да ЕСП 32 може да се обраћа великом делу ВиФи рутера вани када се користи у станичном (клијентском) режиму. Исто тако, може да направи приступну тачку са пуних 802.11 б / г / н / е / И. ЕСП32 не подржава једноставно најновији БЛЕ Блуетоотх 4.2, већ додатно појачава сјајан Блуетоотх. У основи подразумева да се може обратити старим и новим Блуетоотх телефонима / столовима. Ако немате ЕСП32 модул, можете да користите и ЕСП8266 или Ноде МЦУ. Ове плоче могу да се користе за обављање истог задатка ако су повезане на ВиФи.

ЕСП32



Релејни модул је склопни уређај. Ради у два режима, Нормално отворен (НЕ) и Нормално Затворено (НЦ) . У НО режиму, струјни круг је увек прекинут осим ако преко Ардуина не пошаљете ВИСОКИ сигнал на релеј. НЦ режим брине обрнуто, круг је увек потпун ако не укључите релејни модул. Обавезно спојите позитивну жицу вашег електричног уређаја на релејни модул на начин приказан доле.

Састављање круга модула релеја

Корак 3: Блок дијаграм

Блок дијаграм

У горњем блок дијаграму приказан је ток овог пројекта. Релеји су повезани са кућним електричним апаратима или уређајима. Мобилна апликација ће послати на или ВАН наредба за базу података. Овај облак је повезан на плочу микроконтролера ЕСП32 преко ВиФи мреже. Да бисмо укључили електронски уређај, послаћемо „1“ у базу података, а да бисмо га искључили послаћемо „0“ у базу података. Микроконтролер ће тада дохватити ову наредбу јер је такође повезана са базом података. На основу ових 0 или 1, микроконтролер ће укључити или искључити релејни модул што ће на крају резултирати укључивањем електричних уређаја.

Дакле, овде, у овом чланку, користићу два релејна модула да вам покажем целу процедуру. Али можете повећати број релеја и додати исти део кода у свој програм ако желите да контролишете већи број електричних кућних апарата.

Корак 4: Састављање компонената

Сад кад имамо јасну визију шта желимо да радимо у овом пројекту, не губимо више времена и започните са састављањем компонената.

  1. Узмите плочу за поплочавање и поправите у њој микроконтролер ЕСП32. Сада узмите два релејна модула и паралелно повежите Вцц и масу модула са Вин и масом плоче ЕСП32 микроконтролера. Повежите у-пин релејних модула на пин34 и пин35 плоче ЕСП32. Видећете да су релеји сада укључени.
  2. Кућне апарате прикључите на релејни модул. Уверите се да се ваше везе подударају са везама приказаним на слици у кораку 2.

Сад кад смо повезали хардверски део нашег система. Развићемо андроид апликацију која ће бити повезана са Фиребасе базом података. Базу података и андроид апликацију направићемо у делу 2 овог чланка.

Корак 5: Први кораци са ЕСП32

Ако раније нисте радили на Ардуино ИДЕ-у, не брините јер је корак по корак за подешавање Ардуино ИДЕ-а приказан у наставку.

  1. Преузмите најновију верзију Ардуино ИДЕ са Ардуино.
  2. Повежите своју Ардуино плочу са рачунаром и отворите контролну таблу. Кликните на Хардвер и звук. Отворен Уређаји и штампач и пронађите порт на који је повезана ваша плоча. У мом случају јесте ЦОМ14 али је различито код различитих рачунара.

    Проналажење луке

  3. Кликните на Филе, а затим на Преференцес. Копирајте следећу везу у Додатни УРЛ управника одбора. „ хттпс://дл.еспрессиф.цом/дл/пацкаге_есп32_индек.јсон '

    Поставке

  4. Сада, да бисмо користили ЕСП32 са Ардуино ИДЕ, морамо да увежемо посебне библиотеке које ће нам омогућити да нарежемо код на ЕСП32 и да га користимо. ове две библиотеке су у прилогу у доњем линку. Да бисте укључили библиотеку, идите на Скица> Укључи библиотеку> Додај ЗИП библиотеку . Појавиће се оквир. Пронађите ЗИП мапу на рачунару и кликните ОК да бисте укључили мапе.

    Укључи библиотеку

  5. Сада иди Скица> Укључи библиотеку> Управљање библиотекама.

    Управљање библиотекама

  6. Отвориће се мени. У траку за претрагу откуцајте Ардуино ЈСОН. Појавиће се листа. Инсталирај Ардуино ЈСОН Беноа Бланцхона.

    Ардуино ЈСОН

  7. Сада кликните на Алати. Појавиће се падајући мени. Поставите плочу на ЕСП Дев модул.

    Одбор за постављање

  8. Поново кликните на мени Алат и подесите порт који сте раније видели на контролној табли.

    Подешавање порта

  9. Сада отпремите код који је приложен у доњој вези и кликните на дугме за отпремање да бисте нарезали код на ЕСП32 микроконтролеру.

    Отпремити

Дакле, сада када учитате код, може доћи до грешке. Ово је најчешћа грешка која се може догодити ако користите нову верзију Ардуино ИДЕ-а и Ардуино ЈСОН-а. Следе грешке које се могу видети на екрану.

У датотеци укљученој из Ц:  Усерс  Про  Доцументс  Ардуино  либрариес  ИОКСхоп_ФиребасеЕСП32-мастер / ИОКСхоп_ФиребасеЕСП32.х: 8: 0, из Ц:  Усерс  Про  Десктоп  смартХоме  цоде  цоде.ино: 2: Ц :  Усерс  Про  Доцументс  Ардуино  либрариес  ИОКСхоп_ФиребасеЕСП32-мастер / ИОКСхоп_ФиребасеСтреам.х: 14: 11: еррор: СтатицЈсонБуффер је класа из АрдуиноЈсона 5. Погледајте ардуинојсон.орг/упграде да бисте сазнали како да надоградите свој програм на АрдуиноЈсон верзија 6 СтатицЈсонБуффер јсонБуффер; ^ У датотеци укљученој из Ц:  Усерс  Про  Доцументс  Ардуино  либрариес  ИОКСхоп_ФиребасеЕСП32-мастер / ИОКСхоп_ФиребасеЕСП32.х: 8: 0, из Ц:  Усерс  Про  Десктоп  смартХоме  цоде  цоде.ино: 2: Ц:  Усерс  Про  Доцументс  Ардуино  либрариес  ИОКСхоп_ФиребасеЕСП32-мастер / ИОКСхоп_ФиребасеСтреам.х: 65: 11: еррор: СтатицЈсонБуффер је класа из АрдуиноЈсона 5. Погледајте ардуинојсон.орг/упграде да бисте сазнали како да надоградите свој програм на АрдуиноЈсон верзија 6 враћа СтатицЈсонБуффер (). ПарсеОбјецт (_дата); ^ Пронађено је више библиотека за „ВиФи.х“ Коришћено: Ц:  Усерс  Про  АппДата  Лоцал  Ардуино15  пацкаге  есп32  хардваре  есп32  1.0.2  либрариес  ВиФи Не користи се: Ц:  Програмске датотеке ( к86)  Ардуино  либрариес  ВиФи Коришћење библиотеке ВиФи верзије 1.0 у директоријуму: Ц:  Усерс  Про  АппДата  Лоцал  Ардуино15  Пацкагес  есп32  хардваре  есп32  1.0.2  либрариес  ВиФи Коришћење библиотеке ИОКСхоп_ФиребасеЕСП32-мастер у директоријуму: Ц:  Усерс  Про  Доцументс  Ардуино  либрариес  ИОКСхоп_ФиребасеЕСП32-мастер (легаци) Коришћење библиотеке ХТТПЦлиент верзије 1.2 у директоријуму: Ц:  Усерс  Про  АппДата  Лоцал  Ардуино15  пацкаге  есп32  хардваре  есп32  1.0.2  либрариес  ХТТПЦлиент Коришћење библиотеке ВиФиЦлиентСецуре на верзији 1.0 у директоријуму: Ц:  Усерс  Про  АппДата  Лоцал  Ардуино15  Пацкагес  есп32  хардваре  есп32  1.0.2  либрариес  ВиФиЦлиентСецуре Коришћење библиотеке АрдуиноЈсон на верзија 6.12.0 у директоријуму: Ц:  Усерс  Про  Доцументс  Ардуино  либрариес  АрдуиноЈсон статус излаза 1 Грешка при компајлирању за модул ЕСП32 Дев.

Нема разлога за бригу јер ове грешке можемо уклонити следећи неколико једноставних корака. Ове грешке настају јер нова верзија Ардуино ЈСОН-а има другу класу уместо СтатицЈсонБуффер. Ово је класа ЈСОН 5. Тако да ову грешку можемо једноставно уклонити надоградњом верзије Ардуино ЈСОН нашег Ардуино ИДЕ-а. Једноставно идите на Скица> Укључи библиотеку> Управљање библиотекама. Тражити Ардуино ЈСОН Беноа Бланцхона које сте раније инсталирали. Прво га деинсталирајте, а затим подесите његову верзију на 5.13.5. Сада када смо поставили стару верзију Ардуино ЈСОН, инсталирајте је поново и прекомпајлирајте код. Овај пут ће се ваш код успешно саставити.

Да бисте преузели код, кликни овде.

Корак 6: Разумевање кодекса

Код овог пројекта је врло једноставан и добро коментарисан. Али ипак, шифра је укратко објашњена у наставку.

1. У почетку су укључене библиотеке тако да се плоча ЕСП32 може повезати са локалном ВиФи везом у кући или канцеларији. Након тога дефинишу се веза до вашег Фиребасе пројекта и потврда идентитета вашег Фиребасе пројекта. Тада се дефинишу име и лозинка ваше локалне вифи везе како би се ЕСП32 могао повезати на Вифи. Неки пинови ЕСП32 су дефинисани за повезивање са релејним модулима. и на крају се декларише променљива која ће чувати неке привремене податке који ће доћи из фиребасе облака.

#инцлуде // укључи библиотеку за повезивање са локалном Вифи везом #инцлуде // Укључи библиотеку за повезивање са Фиребасе датабсе #дефине ФИРЕБАСЕ_ХОСТ 'цома-патиент.фиребасеио.цом' // укључи везу вашег фиребасе пројекта #дефине ФИРЕБАСЕ_АУТХ 'УрзлДЗКСМБНРхНдц5Ф9АНДР8ВМЗВФЗЕ8ДР8В8ДВ5ФЕ9ДР8Ф8Е9ДР8Ф8Е9ДР8В8В8В8ДВ5ФЕ9ДР8Ф8Е9ДР8Е8ДД5Ф9ДВЕЕЕЕЕЕЕЕЕ '// Укључите потврду идентитета вашег фиребасе пројекта #дефине ВИФИ_ССИД' абцд '// име ВиФи везе вашег дома или канцеларије #дефине ВИФИ_ПАССВОРД' абцд '// лозинка ВиФи везе вашег дома или канцеларије инт р1 = 34; // пин за повезивање релеја 1 инт р2 = 35; // пин за повезивање релеја 2 инт темп; // променљива за пренос података

2. воид сетуп () је функција у којој иницијализујемо ИНПУТ или ОУТПУТ пинове. Ова функција такође поставља брзину преноса података помоћу Сериал.бегин () команда. Брзина преноса је брзина комуникације микроконтролера. Овде су додате неке линије кода за повезивање ЕСП32 са локалном вифи везом. Плоча ће се покушати повезати са локалном вифи везом и исписат ће „веза“. у серијском монитору. Исписат ће „Цоннецтед“ када је веза успостављена. Дакле, да бисте ово надзирали, боље је отворити серијски монитор и тамо проверити његово стање.

воид сетуп () {Сериал.бегин (115200); // подешавање брзине преноса // повезивање на вифи. ВиФи.бегин (ВИФИ_ССИД, ВИФИ_ПАССВОРД); Сериал.принтлн ('повезивање'); вхиле (ВиФи.статус ()! = ВЛ_ЦОННЕЦТЕД) {Сериал.принт ('.'); кашњење (500); } Сериал.принтлн (); Сериал.принт ('повезано:'); Сериал.принтлн (ВиФи.лоцалИП ()); Фиребасе.бегин (ФИРЕБАСЕ_ХОСТ, ФИРЕБАСЕ_АУТХ); }

3 воид лооп () је функција која се понавља у петљи. У ову петљу напишемо код који микроконтролеру говори које задатке и како треба извршити. Преузели смо податке светло и АЦ из базе података и чува се у две привремене променљиве. Тада се примењују четири услова за пребацивање два уређаја у складу са дохваћеним 0 или 1 из базе података.

воид лооп () {// добије вредност темп1 = Сериал.принтлн (Фиребасе.гетФлоат ('лигхт')); // добијемо вредност за пребацивање светла темп2 = Сериал.принтлн (Фиребасе.гетФлоат ('АЦ')); // добијемо вредност за пребацивање кашњења вентилатора (1000); иф (темп1 == 1 && темп2 == 1) {// Укључивање светла и вентилатор дигиталВрите (р1, ХИГХ); дигиталВрите (р2, ВИСОКО); } иф (темп1 == 0 && темп2 == 1) {// Укључивање вентилатора и искључивање светла дигиталВрите (р1, ЛОВ); дигиталВрите (р2, ВИСОКО); } иф (темп1 == 1 && темп2 == 0) {// За искључивање вентилатора и укључивање светла дигиталВрите (р1, ХИГХ); дигиталВрите (р2, ЛОВ); } иф (темп1 == 0 && темп2 == 0) {// За искључивање вентилатора и искључивање светла дигиталВрите (р1, ЛОВ); дигиталВрите (р2, ЛОВ); }}

Ово је био први део „Како направити систем паметне куће помоћу ЕСП32?“. Можете додати више релејних модула ако желите да контролишете још неке кућне уређаје, једино што ћете морати да прочитате податке из фиребасе-а и додате још неке услове за пребацивање. У следећем чланку ћу објаснити како развити андроид апликацију и Фиребасе базу података. Објаснићу корак по корак поступак повезивања андроид апликације са фиребасе-ом и слања података у њу.

Да бисте прешли на следећи водич Кликните овде