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

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

 

 

 

 

 

 

В настоящее время я пишу приложения на луа в nodeMCU и не имею никаких ограничений в памяти.
Попробую и Вас научить этому.
—————
Сначала пару слов без протокола.
———————
1) почему LUA?
потому,
что ничего не надо,
кроме редактора текста, платы devkit и кабеля USB-microUSB
—————————
потому, что самый короткий код программы.
————————-
потому, что когда все отладите и очень захочется ускорить работу, то перепишите готовый алгоритм с помощью API C в маленькую функцию на СИ.
————————-
2) почему devkit ?
потому что имеем 4Мбайт памяти , готовую плату с 10 пинов на ввод и вывод и кабель для подключения к любому компу.
Паяльник не треба.
———————

Теперь перейдем к правилам.
—————————
ПРАВИЛО 1:
любой проект состоит из главной программы,
которую называем main и модулей,
которые называем по вкусу(т е как нравится)
———————————
ПРАВИЛО 2:
(есть исключение, но о нем позже)
программа main.lc (или main.lua) имеет следующий вид:
—————————-
dofile(«start.lc»)
———————
function cb()
collectgarbage()
dofile(‘modul_1.lc’);
dofile(‘modul_2.lc’);

dofile(‘modul_n.lc’);
end
————————-
tmr.alarm(1,2000,1,cb)
————————-
где:
start.lc, modul_1.lc,
modul_2.lc,

modul_n.lc
— модули ( у меня они автоматом грузятся в ESP в бинарном коде, поэтому у них расширение lc)
если Вы грузите текстовые то будет расширение .lua и ПОТЕРЯ примерно половины свободной памяти.

наглядный пример:

esp_01_

 

 

 

 

 

 

Это беспроводной измеритель температуры и влажности для бани на ESp-01
передача информации по UDP
как видно из таблицы свободного heap осталось 16 k из 20k
т е истратили всего 4k.

 

 

 

 

 

11
Май

как включить ESP8266

Posted by: Kamynin   in Умные вещи

Различные дискуссии на тему что куда и как включать заставили меня обратиться снова к документации.
Вот какие знания из этих фолиантов следуют:
—————————-
Все цифровые контакты IO защищены от перенапряжения и допускает напряжение на выводах до 6В.
All digital IO pins are protected from over-voltage with a snap-back circuit connected between the
pad and ground. The snap back voltage is typically about 6V, and the holding voltage is 5.8V. This
provides protection from over-voltages and ESD. The output devices are also protected from
reversed voltages with diodes.
—————————
Reset — имеет внутренний подтягивающий и может свободно болтаться, когда чип работает.
There exists internal pull-up resistor in the reset pin, Pin32, which can be left dangled when it is not
used. When the chip is enabled, the reset pin is held low. In order to avoid reset caused by external
interference, the lead is generally required to be short, and no external pull-up resistor is necessary.
—————————
CN_EN -выбор кристалла не может свободно болтаться и не должен включатся напрямую к +.
Необходимо обеспечить небольшую задержку относительно включения питания.
Рекомендуется включать RC цепочку в 1к+100 nF
( Мои рекомендации (экспериментально)- можно включать лишь резистор от 4.7 до 24 к)
CN_EN может использоваться как сигнал сброса.
—————————-
есть еще внешний резистор в 12k, который уже подключен на плате к выводу 31 RES12K
—————————
Таким образом, никаких указаний относительно подтягивания еще каких-либо выходов к + я в документации не нашел.
А Вы?
————————-
Напряжение питания ESP — 3.0-3.6 v. т е 3.3 -рабочее. Аналоговые 1.8-3.3
Вне этого диапазона — это ваш риск.
К линиям аналогового питания (1, 3, 4, 28, 29) подключаются емкости в 10мкф (указания для дизайнеров плат модулей)
——————————-
В документации уделено внимание величине пульсаций при работе передатчика и даны рекомендации дизайнерам модулей (т е не нам)
Чип выдерживает пиковую температуру в 260 гр в течении 10 секунд

 ————————————
полагаю, что сказано правильно, именно защищены, а не допускают ,так как стоят ограничительные диоды, которые обрезают все что выше допустимого и максимальный ток через них допускает подачу до 6 v если выше то чип будет греться (макс рабочая темп 125 гр)
А далее, если отвод тепла не обеспечивается то сгорит, если есть — то будет работать горячим.
так вообще-то делают все нормальные разработчики (это не заслуга китайцев)
Поэтому 5 вольт на входы без проблем
Относительно питания в 5 вольт то будет следующее
стабилизатор питания внутренний будет стабилизировать его до 3.3 и далее по указанной выше схеме
если отвод тепла есть то будет работать иначе будет греться до момента равновесия или сгорания.