serghei писал(а):Olymp писал(а):.. очень понравилась nodeMCU, хотя пока кроме DHT22, bmp180, bme280, si7021 с отправкой по http и mqtt и для различных статусов (подключились к точке доступа, идет отправка и т.д.) светодиоды, больше ничего не цеплял, но то, что делал, делается на раз.
У Вас какая версия? С пинами подключения разобрались? Куда и что подключали? Поделитесь инфой. Я только начинаю подключать Node_mcu_v3,обозначения на плате и интернете не соответствуют друг другу.
Вы поймали меня не вовремя, через 10 минут я в отпуск, поэтому на вскидку накидаю вам, что вспомню прямо сейчас:
тут
http://esp8266.ru/esp8266-podkluchenie- ... proshivki/ отматайте до абзаца: Как правильно подключить ESP8266
для первого раза по первой картинке подключиться нормально!
тут
http://nodemcu-build.com/ вписываете 2 раза свою электропочту и проставляете нужные галочки на нужных модулях, интуитивно понятно (например если эксперимент на DHT22
то оставляйте галки которые по умолчанию и добавьте DHT).
после жмете кнопку старт, на почту прийдет письмо, что пошел процесс сборки или что-то в этом духе,
следом письмо с двумя прошивками, одна для целых, вторая для флоат, на тест можно и флоат

тут
http://nodemcu.readthedocs.io/en/master/ описание модулей и их функций, я не знаю буржуйского, но даже мне практически все понятно, там же есть ссылка на русское описание, но оно кусками и без навигации, капец это неудобно.
стыкуете есп с компом, gpio0 на землю.
тут
https://github.com/nodemcu/nodemcu-flasher качаете прошивалку, там 2 версии 32 и 64 разряда, запускаете свою разрядность, идете на вкладку адвансед, выставляете скорость 115200, на вкладке конфиг, в первой строке жмете шестеренку и выбираете прошивку полученную по почте, переходите на вкладку операция, выбираете порт, к которому подключена есп и жмете кнопку флеш! Если все хорошо, то появится штрихкод и попрет процесс прошивания.
После прошивки закрываете прошивалку, отрубаете есп от всего (ком порт, внешнее питалово), gpio0 отключаете от земли, снова подключаете ESP к компу и запускаете
http://esp8266.ru/esplorer-latest/?f=ESPlorer.zip эту прогу. Выбираете свой порт и скорость, я ставлю 9600. Жмете кнопку открыть порт! Если что-то не так, будут рисоваться точки, иначе сколь-то текста, всегда по разному, что за текст, постоянно все по разному, не разбирался основательно, но самый лучший вариант, который видел, распишут за прошивку и даже отпишут какие модули прошиты.
С левой стороны, на вкладке new пишите примерно так:
do
wifi.setmode(wifi.STATION)
wifi.sta.config("имя_точки_доступа","пароль_к_точке_доступа",1)
end
выделяете этот текст и в панели инструментов жмете кнопку block
теперь при включении модуля он сразу будет коннектится к точке и при разрыве связи переконнекчиваться.
При старте модуля, запускается файл init.lua, т.е. теперь его нужно создать и залить в модуль, в нем уже что хотите, загружайте другие файлы или читайте датчики, дергайте пины, единственное, люди советуют в начале файла init.lua стартануть таймер например секунд на 10-20 и пока он не отсчитает свое время ничего не делать, делают это на случай, если в скрипте будет косяк, чтобы после сброса модуля, можно было хоть как-то остановить выполнение косячного скрипта, т.е. остановить таймер. Вот один из моих вариантов (основное для понимания, т.е. вся замута вырезана не потому, что жалко, а потому, чтобы понятно было):
-- на шестой пин светодиод прицеплен, который светит когда мы подключены к вайфай
-- запускается таймер на 10 сек, т.е функция сработает тока через 10 сек
-- в которой мы проверим, есть вайфай или нет, если есть, зажигаем светик и стартуем функцию
-- в которой останавливаем этот таймер и запускаем свой с интервалом 20 сек, при срабатывании которого
-- ходим в функцию чтения датчиков и отправки данных, в той функции контролируем подключение вайфай
-- если есть читаем, отправляем, если сломалось, тормозим таймер и запускаем тот (нулевой) таймер, который
-- погасит светик и будет ждать подключения к вай фай, как дождется, все попрет заново
-- может и кривой алгоритм, тут сорри, как придумалось наскоряк )))
gpio.mode(6,gpio.OUTPUT)
gpio.write(6, gpio.LOW)
print("-- 10 сек. на остановку таймера --")
tmr.alarm(0, 10000, 1, function()
if wifi.sta.status() == 5 and wifi.sta.getip() ~= nil then
gpio.write(6, gpio.HIGH)
print("IP: "..wifi.sta.getip())
run_main()
else
gpio.write(6, gpio.LOW)
print("нет подключения wi-fi")
end
end)
function run_main()
print("-- Старт --")
tmr.stop(0)
-- здесь масса каких то действий
tmr.alarm(1, 20000, 1, publish_data )
publish_data()
end
function publish_data()
if wifi.sta.status() == 5 and wifi.sta.getip() ~= nil then
-- тут чтение датчиков и отправка куда нужно и каким способом нужно
-- к примеру тот же DHT22 смотрим в описании по выше приведенной ссылке
--
http://nodemcu.readthedocs.io/en/master/en/modules/dht/
else
tmr.stop(1)
tmr.start(0)
end
end
вот вкраце для старта вроде вообще все есть.
так делал с esp1,7,12e,12f
*** Сообщение запрещено. Сообщение похоже на спам. ***