- Различите методе за смањење потрошње енергије
- Компоненте потребне
- Типови режима спавања у ЕСП8266
- ЕСП8266 Програмирање дубоког спавања
- Тестирање дубоког спавања у ЕСП8266
Како ИоТ револуција свакодневно цвета, број повезаних уређаја расте врло брзо. У будућности ће већина уређаја бити повезана једни с другима и комуницираће у реалном времену. Један од проблема са којим се суочавају ови уређаји је потрошња енергије. Овај фактор потрошње енергије један је од критичних и пресудних фактора за било који ИоТ уређај и ИоТ пројекте.
Као што знамо да је ЕСП8266 један од најпопуларнијих модула за изградњу било ког ИоТ пројекта, тако да у овом чланку учимо о уштеди енергије док користимо ЕСП8266 у било којој ИоТ апликацији. Овде преносимо податке о температурном сензору ЛМ35 на облак ТхингСпеак у интервалу од 15 секунди и током тих 15 секунди ЕСП8266 остаје у режиму дубоког спавања ради уштеде енергије
Различите методе за смањење потрошње енергије
Постоји неколико начина за оптимизацију потрошње енергије у уграђеним и ИоТ уређајима. Оптимизација се може извршити на хардверу и софтверу. Понекад не можемо да оптимизујемо хардверске компоненте како бисмо смањили потрошњу енергије, али то сигурно можемо учинити на софтверској страни променом и оптимизацијом упутстава и функција кода. И не само то, програмери могу и да прилагоде фреквенцију такта како би смањили потрошњу енергије микроконтролера.Можемо да напишемо фирмвер да бисмо хардвер успавали када нема размене података и извршили дефинисани задатак у одређеном интервалу. У режиму спавања, повезани хардвер троши веома мање енергије и стога батерија може дуго да траје. Такође можете прочитати Минимизирање потрошње енергије у микроконтролерима ако желите да сазнате више о техникама потрошње енергије.
Модули ЕСП8266 су најчешће коришћени Ви-Фи модули који имају мноштво карактеристика мале величине са различитим режимима, укључујући режим спавања, а тим режимима се може приступити коришћењем неких модификација у хардверу и софтверу. Да бисте сазнали више о ЕСП8266, можете да проверите наше ИоТ пројекте засноване на ЕСП826 Ви-Фи модулу, неки од њих су наведени у наставку:
- Повезивање ЕСП8266 НодеМЦУ са Атмега16 микроконтролером за слање е-поште
- Слање података сензора температуре и влажности у Фиребасе базу података у реалном времену помоћу НодеМЦУ ЕСП8266
- ИоТ контролисана ЛЕД помоћу Гоогле Фиребасе конзоле и ЕСП8266 НодеМЦУ
Овде ћемо објаснити различите режиме спавања доступне у ЕСП8266 и демонстрирати их слањем података о температури на Тхингспеак сервер у редовном интервалу користећи режим дубоког спавања.
Компоненте потребне
- ЕСП8266 Ви-Фи модул
- ЛМ35 сензор температуре
- Жице краткоспојника
Типови режима спавања у ЕСП8266
Модул Есп8266 ради у следећим режимима:
- Активни режим: У овом режиму се укључује читав чип и чип може да прима и преноси податке. Очигледно је да је ово начин рада који највише троши енергију.
- Режим спавања модема: У овом режиму ЦПУ ради, а Ви-Фи радио станице су онемогућене. Овај режим се може користити у апликацијама које захтевају да ЦПУ ради, као у ПВМ-у. Омогућава искључивање кола Ви-Фи модема док је повезан са Ви-Фи АП (приступном тачком) без преноса података ради оптимизације потрошње енергије.
- Лагани режим спавања: У овом режиму су ЦПУ и све периферне јединице паузиране. Свако буђење, попут спољних прекида, пробудиће чип. Без преноса података, коло Ви-Фи модема може се искључити и суспендовати ЦПУ ради уштеде енергије.
- Режим дубоког спавања: У овом режиму функционалан је само РТЦ, а све остале компоненте чипа су искључене. Овај режим је користан када се подаци преносе након дужих временских интервала.
Повежите ЛМ35 температурни сензор са А0 пином НодеМЦУ.
Када ЕСП модул има ХИГХ на РСТ пину, он је у радном стању. Чим прими НИЗКИ сигнал на РСТ пину, ЕСП се поново покреће.
Подесите тајмер помоћу режима дубоког спавања, када се тајмер заврши, Д0 пин шаље ЛОВ сигнал на РСТ пин и модул ће се пробудити поновним покретањем.
Сада је хардвер спреман и добро конфигурисан. Очитања температуре ће бити послата на Тхингспеак сервер. За то направите налог на тхингспеак.цом и направите канал пролазећи кроз кораке у наставку.
Сада копирајте АПИ АПИ кључ. Који ће се користити у ЕСП коду.
ЕСП8266 Програмирање дубоког спавања
Лако доступан Ардуино ИДЕ користиће се за програмирање модула ЕСП8266. Обавезно инсталирајте све датотеке плоче ЕСП8266.
Почните са укључивањем свих важних потребних библиотека.
#инцлуде
Једном када су све библиотеке укључене за приступ функцијама, доделите АПИ кључ за писање, конфигуришите своје Ви-Фи име и лозинку. Затим пријавите све променљиве за даљу употребу тамо где ће се подаци чувати.
Стринг апиВритекеи = "*************"; // замените својим кључем ТХИНГСПЕАК ВРИТЕАПИ овде цхар ссид = "******"; // ваше вифи ССИД име цхар лозинка = "******"; // вифи лозинка
Сада направите функцију за повезивање модула са Ви-Фи мрежом помоћу функције вифи.бегин (), а затим непрекидно проверавајте док модул није повезан на Ви-Фи помоћу вхиле петље.
воид цоннецт1 () { ВиФи.дисцоннецт (); кашњење (10); ВиФи.бегин (ссид, лозинка); док (ВиФи.статус ()! = ВЛ_ЦОННЕЦТЕД) {
Направите другу функцију за слање података на тхингспеак сервер. Овде ће се послати низ који садржи АПИ кључ за писање, број поља и податке који се морају послати. Затим пошаљите овај низ помоћу функције цлиент.принт ().
воид дата () { иф (цлиент.цоннецт (сервер, 80)) { Стринг тсДата = апиВритекеи; тсДата + = "& фиелд1 ="; тсДата + = Стринг (темпФ); тсДата + = "\ р \ н \ р \ н"; цлиент.принт ("ПОСТ / упдате ХТТП / 1.1 \ н"); цлиент.принт ("Хост: апи.тхингспеак.цом \ н");
Позовите функцију цоннецт1 која ће позвати функцију за повезивање Ви-Фи-ја, а затим снимите очитања температуре и претворите их у Целзијус.
воид сетуп () { Сериал.бегин (115200); Сериал.принтлн („уређај је у режиму буђења“); цоннецт1 (); инт вредност = аналогРеад (А0); плутајући волти = (вредност / 1024,0) * 5,0; темпЦ = волти * 100,0;
Сада позовите функцију дата () да бисте отпремили податке на тхингспеак цлоуд. Коначно, важна функција коју треба позвати је ЕСП.деепСлееп (); ово ће модул успавати током дефинисаног интервала који је у микросекундама.
подаци (); Сериал.принтлн („дубоко спавање 15 секунди“); ЕСП.деепСлееп (15е6);
Функција петље остаће празна јер се сав задатак мора извршити једном, а затим ресетовати модул након дефинисаног временског интервала.
Радни видео и пуни код дати су на крају овог водича. Отпремите код у модул ЕСП8266. Уклоните РСТ и Д0 спојену жицу пре отпремања програма, у супротном ће се појавити грешка.
Тестирање дубоког спавања у ЕСП8266
Након отпремања програма видећете да се очитавања температуре преносе на ТхингСпеак облак након сваких 15 секунди, а затим модул прелази у режим дубоког спавања.
Овим је завршен водич о коришћењу дубоког спавања у модулу ЕСП8266. Дубоко спавање је веома важна карактеристика и укључено је у већину уређаја. Можете се обратити овом упутству и применити овај метод за различите пројекте. У случају било каквих недоумица или сугестија, молимо напишите и коментаришите доле. Такође можете контактирати наш форум.