Правила создания приложений на LUA для ESP8266

11 мая, 2015

В настоящее время я пишу приложения на луа в 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.

 

 

 

 

 

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

11 мая, 2015

Различные дискуссии на тему что куда и как включать заставили меня обратиться снова к документации.
Вот какие знания из этих фолиантов следуют:
—————————-
Все цифровые контакты 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 и далее по указанной выше схеме
если отвод тепла есть то будет работать иначе будет греться до момента равновесия или сгорания.