• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Nodemcu

brig

New member
"Чем дальше в лес, тем толще партизаны" (с)

Вышла новая прошивка NodeMcu 0.9.5 build 20150106.
Как сообщается, основана она на SDK 0.9.5, улучшена работа с ОЗУ, прошивка стала единой для разной флеш-памяти (512K, 1M, 2M, 4M), размер которой должен определяться автоматически.
Размер свободного ОЗУ действительно увеличился (с 18 до 22 Кбайт). А вот работа с файлами стала хуже и без того нехорошей прежде.
 

Vasiks

Member
Чёт много чего не работает с 0,9,5. Например код:
Код:
srv=net.createServer(net.TCP)
srv:listen(80,function(conn)
    conn:on("receive",function(conn,payload)
    print(payload)
    conn:send("<h1> Hello</h1>")
    conn:send("<h1>world</h1>")
    conn:on("sent",function(conn) conn:close() end)
    end)
end)
Выводит только первое сообщение "Hello", а "world" и все последующие нет. А в 0,9,2 выводит всё.
Или я что-то косячу?
 

Victor

Administrator
Команда форума
Чёт много чего не работает с 0,9,5. Например код:
Код:
srv=net.createServer(net.TCP)
srv:listen(80,function(conn)
    conn:on("receive",function(conn,payload)
    print(payload)
    conn:send("<h1> Hello</h1>")
    conn:send("<h1>world</h1>")
    conn:on("sent",function(conn) conn:close() end)
    end)
end)
Выводит только первое сообщение "Hello", а "world" и все последующие нет. А в 0,9,2 выводит всё.
Или я что-то косячу?
Вы вроде соединение сами закрываете после успешной отправки, как тогда вторая строка улетит?
 

NeoroN

Member
вместо
conn:оn("sent",function(conn) conn:close() end)

должно быть просто.
conn:close()

отправили свою бяку и в конце закрываете соединение, если не хотите его для WebSocket использовать.
 

NeoroN

Member
Да я смотрел что там поменялось - косяк там реальный был - устанавливалась длина для отправки по длине сообщения. Переделали чтобы добавлялась длина сообщения к длине отправки.
 

SkyRzn

New member
Всем привет.
Что-то никак у меня не получается заставить модуль работать с NodeMCU.
Прошиваю командой
./esptool.py --port /dev/ttyUSB0 write_flash nodemcu_20150123.bin
Прошивается без ошибок, но на команды по UART ответа нет. Пробовал подключаться в ESPlorer на 9600. luatool сработала один раз, вроде как без ошибок все залилось, но больше не работает, пишет No proper answer from MCU.
Пробовал разные версии прошивок. Оригинальные прошивки заливаются и работают нормально.
Модуль подключен через бридж USB-UART на CP2102.
GPIO0 от земли отключать не забываю. Модуль ESP-03, СH_PD подтянут к плюсу, GPIO15 - к земле.
Все это делал под Linux.
Есть какие-нибудь идеи?
 

Victor

Administrator
Команда форума
Всем привет.
Что-то никак у меня не получается заставить модуль работать с NodeMCU.
Прошиваю командой
./esptool.py --port /dev/ttyUSB0 write_flash nodemcu_20150123.bin
Прошивается без ошибок, но на команды по UART ответа нет. Пробовал подключаться в ESPlorer на 9600. luatool сработала один раз, вроде как без ошибок все залилось, но больше не работает, пишет No proper answer from MCU.
Пробовал разные версии прошивок. Оригинальные прошивки заливаются и работают нормально.
Модуль подключен через бридж USB-UART на CP2102.
GPIO0 от земли отключать не забываю. Модуль ESP-03, СЕ подтянут к плюсу, GPIO15 - к земле.
Все это делал под Linux.
Есть какие-нибудь идеи?
попробуйте любым терминалом "=node.heap()" (CR+LF в конце, без кавычек) должно выдать доступную память (около 22000)
 

SkyRzn

New member
попробуйте любым терминалом "=node.heap()" (CR+LF в конце, без кавычек) должно выдать доступную память (около 22000)
Пробовал в minicom и ESPlorer. Ответа нет. В minicom не уверен, что посылается именно CR+LF, пробовал разные настройки, перевод строки по ^M. В ESPlorer точно такое окончание строки.
 
Последнее редактирование:

Victor

Administrator
Команда форума
В ESPlorer включите DumbMode (без проверки ответа чипа), подключитесь к порту и на чипе передерните питание - должен быть виден лог загрузки
 

SkyRzn

New member
В ESPlorer включите DumbMode (без проверки ответа чипа), подключитесь к порту и на чипе передерните питание - должен быть виден лог загрузки
При передергивании питания ничего не вижу, а при передергивании CH_PD в консоли мусор.
 

Victor

Administrator
Команда форума
А разве после мусора нет заставки NodeMCU ?
Попробуйте разные скорости. На 9600 должно быть все ок
 

SkyRzn

New member
А разве после мусора нет заставки NodeMCU ?
Попробуйте разные скорости. На 9600 должно быть все ок
О, после N передергиваний в Dumb mode заработало! Похоже, или с питанием проблемы, или с наводками - пока все на соплях висит.
Спасибо большое!
 

Victor

Administrator
Команда форума
555
О, после N передергиваний в Dumb mode заработало! Похоже, или с питанием проблемы, или с наводками - пока все на соплях висит.
Спасибо большое!
У меня есть такой бракованный модуль, который стартует через раз, но это на всех прошивках.
 

SkyRzn

New member
Проблема исчезла после того, как напаял модуль на плату с конденсаторами на питании. Теперь определяется с первого раза.
 

SkyRzn

New member
Теперь другая проблема вылезла.
Написал скрипт, который подключается к точке доступа, опрашивает датчик SHT10, отправляет данные UDP-пакетом на сервер и уходит в deepsleep на две минуты.
После пары-тройки десятков итераций модуль перестает загружаться, даже после передергивания питания. В консоли мусор, как при начальной загрузке, но до заголовка NodeMCU не доходит.
Лечится только перепрошивкой, но потом все по новой.
Такое чувство, что после какого-то события затирается прошивка.

Upd:
Кажется, помог откат на прошивку от 2015-01-08.
 
Последнее редактирование:

Roman

New member
Добрый день. У меня почти такая же проблема как и у SkyRzn. Модуль на обычной прошивке работает отлично, могу слать at команды и создавать сеть. После прошивки на nodemcu - не стартует. Когда подаю питание или сбрасываю, модуль просто плюет пару символов в порт(скорость 9600) и на этом все. Ни одна команда не проходит. Пробовал перешивать на разные версии - безрезультатно. Если опять залить обычную прошивку, все работает. Как можно диагностировать проблему? У меня модуль вообще на отладочной плате http://www.aliexpress.com/item/ESP8...xistence-Module-AP-STA-AP-CZ/32265640325.html . Даже пробовал добавлять пару конденсаторов по питанию - не помогает
 

TRO

Member
Кто нибудь пытался выяснить с какой максимальной частотой можно считывать из АЦП?
Что нибудь типа осцилографа с отображением в браузере замутить получится?
 

Sergey Ochkasov

New member
Добрый день. У меня почти такая же проблема как и у SkyRzn. Модуль на обычной прошивке работает отлично, могу слать at команды и создавать сеть. После прошивки на nodemcu - не стартует. Когда подаю питание или сбрасываю, модуль просто плюет пару символов в порт(скорость 9600) и на этом все. Ни одна команда не проходит. Пробовал перешивать на разные версии - безрезультатно. Если опять залить обычную прошивку, все работает. Как можно диагностировать проблему? У меня модуль вообще на отладочной плате http://www.aliexpress.com/item/ESP8...xistence-Module-AP-STA-AP-CZ/32265640325.html . Даже пробовал добавлять пару конденсаторов по питанию - не помогает
Роман, а в каком положении на плате находятся переключатели?
 
Сверху Снизу