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