ESP8266. LUA.Произвольный датчик

12 мая, 2015

В предыдущей статье я привел текст основной программы

и байт-коды вспомогательных программ

Повторю основную программу 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’);
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)
————————

нетрудно заметить, что программа универсальная

и позволяет быстро создавать WIFI модули

для любых датчиков

путем замены одного модуля cb2302.lc на модуль нового датчика.

 

 

ESP8266. LUA.Измеритель температуры и влажности

12 мая, 2015

В данной заметке я расскажу об устройстве измерителя температуры и влажности, который вполне подойдет , например, для бани.

Это устройство можно сделать на любом модуле на основе чипа 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’)

получаем, например, такую картинку:

esp_01_