Влажност и температура су врло уобичајени параметри за мерење на многим местима као што су фарме, стакленици, медицина, индустријске куће и канцеларије. Већ смо покрили мерење влажности и температуре помоћу Ардуина и приказали податке на ЛЦД-у.
У овом ИоТ пројекту ћемо надгледати влажност и температуру путем Интернета помоћу ТхингСпеак-а, где ћемо приказати тренутне податке о влажности и температури преко Интернета користећи ТхингСпеак сервер. То се постиже комуникацијом података између Ардуина, сензорског модула ДХТ11, ВИФИ модула ЕСП8266 и ЛЦД-а. Термометар Целзијусове скале и мерач влажности процентуалне скале приказује температуру и влажност околине путем ЛЦД екрана и такође их шаље серверу ТхингСпеак за праћење уживо са било ког места у свету.
Радно и ТхингСпеак подешавање:
Овај ИоТ пројекат заснован на четири секције, прво сензор влажности и температуре ДХТ11, препознаје податке о влажности и температури . Као друго, Ардуино Уно издваја податке сензора ДХТ11 као одговарајући број у процентима и Целзијусовој скали и шаље их на Ви-Фи модул. Треће, Ви-Фи модул ЕСП8266 шаље податке на ТхингСпеак-ов Север. И на крају ТхингСпеак анализира податке и приказује их у графичком облику. Опционални ЛЦД се такође користи за приказ температуре и влажности.
ТхингСпеак пружа веома добар алат за пројекте засноване на ИоТ-у за Ардуино. Коришћењем ТхингСпеак странице можемо да надгледамо своје податке преко Интернета са било ког места, а такође можемо и да контролишемо наш систем преко Интернета, користећи канале и веб странице које пружа ТхингСпеак. ТхингСпеак „прикупља“ податке од сензора, „анализира и визуализује“ податке и „делује“ покретањем реакције. Овде објашњавамо како послати податке на ТхингСпеак сервер помоћу ЕСП8266 ВИФИ модула:
1. Пре свега, корисник треба да отвори налог на ТхингСпеак.цом, затим се пријави и кликне на Гет Стартед.
2. Сада идите на мени 'Канали' и кликните опцију Нови канал на истој страници за даљи поступак.
3. Сада ћете видети образац за креирање канала, попуните Име и Опис према вашем избору. Затим попуните „Влажност“ и „Температура“ у ознакама поља 1 и поља 2, означите поља за потврду за оба поља. Такође означите поље за потврду за опцију „Учини јавно“ испод у обрасцу и на крају Сачувај канал. Сада је створен ваш нови канал.
4. Сада кликните на картицу „АПИ кључеви“ и сачувајте АПИ и кључеве Врите анд Реад АПИ, овде користимо само тастер Врите. Овај кључ морате копирати у цхар * апи_кеи у коду.
5. Након тога, кликните на „Увоз / извоз података“ и копирајте УРЛ ажурирања канала ГЕТ Захтев, а то је:
хттпс://апи.тхингспеак.цом/упдате?апи_кеи=СИВОИБКС26ОКСК1ВМС&фиелд1=0
6. Сада корисник треба да отвори „апи.тхингспеак.цом“ користећи функцију хттпГет са постУрл као „упдате? Апи_кеи = СИВОИБКС26ОКСК1ВМС & фиелд1 = 0“, а затим пошаље податке користећи феед података или адресу захтева за ажурирање.
Пре слања података, корисник треба да измени овај упит или постУрл са пољима података о температури и влажности, као што је приказано доле. Овде смо додали оба параметра у низ који треба да пошаљемо помоћу ГЕТ захтева на сервер, након чега смо користили хттпГет за слање података на сервер. Проверите комплетан код испод.
Спринтф (постУрл, "упдате? Апи_кеи =% с & фиелд1 =% с & фиелд2 =% с", апи_кеи, хумидСтр, темпСтр); хттпГет ("апи.тхингспеак.цом", постУрл, 80);
Читав процес је приказан у одељку Видео, на крају овог чланка.
Рад овог пројекта заснован је на једножичној серијској комуникацији за преузимање података са ДХТ11. Прво Ардуино шаље сигнал за покретање ДХТ модулу, а затим ДХТ даје сигнал одзива који садржи податке. Ардуино прикупља и вади податке у два дела, први је влажност, а други температура, а затим их шаље на ЛЦД екран 16к2 и сервер ТхингСпеак. ТхингСпеак приказује податке у облику графикона како је приказано испод:
Овде можете сазнати више о сензору ДХТ11 и његовом повезивању са Ардуином.
Опис кола:
Везе за овај ТхингСпеак пројекат праћења температуре и влажности су врло једноставне. Овде се користи екран са течним кристалима за приказ температуре и влажности, који је директно повезан са Ардуином у 4-битном режиму. Прибадаче ЛЦД-а, тачније РС, ЕН, Д4, Д5, Д6 и Д7, повезане су са Ардуино дигиталним пиновима 14, 15, 16, 17, 18 и 19. Овај ЛЦД је опциони.
ДХТ11 сензорски модул повезан је на дигитални пин 12 Ардуина. Вцц и ГНД пинови Ви-Фи модула ЕСП8266 су директно повезани са 3,3 В, а ГНД Ардуина и ЦХ_ПД је такође повезан са 3,3 В. Тк и Рк пинови ЕСП8266 су директно повезани на пин 2 и 3 Ардуина. Овде се користи и софтверска серијска библиотека која омогућава серијску комуникацију на пин 2 и 3 Ардуина. Већ смо детаљно обрадили повезивање Ви-Фи модула ЕСП8266 са Ардуином.
Програмски део:
Програмски део овог пројекта игра веома важну улогу за извођење свих операција. Пре свега укључујемо потребне библиотеке и иницијализујемо променљиве.
#инцлуде "дхт.х" // Укључујући библиотеку за дхт #инцлуде
Након тога унесите свој АПИ АПИ кључ и узмите неке жице.
цхар * апи_кеи = "СИВОИБКС26ОКСК1ВМС"; // Унесите свој АПИ АПИ кључ из ТхингСпеак статиц цхар постУрл; инт хуми, тем; воид хттпГет (Стринг ип, Стринг патх, инт порт = 80);
У воид лооп () функцији очитавамо температуру и влажност, а затим приказујемо та очитавања на ЛЦД-у.
воид сенд2сервер () функција се користи за слање података на сервер. Функција Сенд2сервер је рутинска услуга прекида тајмера, која се позива сваких 20 секунди. Када позовемо функцију ажурирања, позива се рутина услуге прекида тајмера.
воид сенд2сервер () {цхар темпСтр; цхар хумидСтр; дтострф (тем, 5, 3, темпСтр); дтострф (хуми, 5, 3, хумидСтр); спринтф (постУрл, "упдате? апи_кеи =% с & фиелд1 =% с & фиелд2 =% с", апи_кеи, хумидСтр, темпСтр); хттпГет ("апи.тхингспеак.цом", постУрл, 80); }