В данной заметке я расскажу об устройстве измерителя температуры и влажности, который вполне подойдет , например, для бани.
Это устройство можно сделать на любом модуле на основе чипа ESP8266.
Я расскажу, как сделать на самом простейшем ESP-01.
Кроме этого, необходим источник питания на 3.3 v.
Я использовал блок питания для зарядки телефона напряжением 5.5 v
и регулируемый преобразователь DC-DC, который установил на выходное напряжение 3.3v. Можно применить любой источник с напряжением в диапазоне 3.0-3.6 v и максимальным током до 300 ma.
Кроме этого, нужен датчик температуры и влажности AM2302
Резистор на 1..2 к и конденсатор на 100..300 пф.
кнопка -1 шт
тумблер -1 шт
3-х жильный кабель для подключения датчика.
———————————
кроме этого, необходимо иметь возможность подключить данный модуль к компьютеру, чтобы его запрограммировать.
———————————
Программа модуля написана на LUA.
Для того, чтобы модуль мог ее исполнитель в него надо залить прошивку NODEMCU.
основная программа main.lua:
T0=0; TD={2,0,0}; pam=4;
lg,pw=’XXXX’,’YYYYY';
dofile(‘start.lc’);
function cb()
collectgarbage()
if cu==nil then
dofile(‘wifi.lc’)
end
T0=T0+1;
m=2; dofile(‘cb2302.lc’);
— a udp client
local s=T0..';’..table.concat(TD,';’)
if cu then
cu:connect(9992,’192.168.0.108′); cu:send(s);
else print(s);
end
end
tmr.alarm(1,2000,1,cb)
—————————-
где XXXX,YYYYY — имя и пароль Вашей точки доступа.
9992 -номер порта вашего UDP сервера
192.168.0.108 — ip адрес вашего UDP сервера
Кроме основной программы есть три дополнительных модуля:
start.lc,wifi.lc,cb2302.lc.
Эти модули в формате байт-кода можно взять здесь nk_ESP:
В последнем операторе число 2000 задает интервал опроса датчика в mc.
Установлено 2 секунды, меньше 1 секунды не рекомендую ставить.
В результате , модуль отправляет на UDP сервер (Вам его надо сделать на вашем компе или смартфоне) строку в виде:
номер отсчета;температура;влажность
файл init.lua:
dofile(‘main.lc’)
получаем, например, такую картинку: