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

Не могу залить скрипты в NodeMCU (ESP-12)

Добрый день! Не могу отправить скрипты на ESP-12 (Lolin). Установлена прошивка NodeMCU, заданы параметры сети, устройство присутствует в сети.
На скорости 9600, 115200 выполняет отправляемые команды без проблем.
Но не могу залить 5 lua-скриптов, вообще никак. Менял платы - результат точно такой же.
Использую ESPlorer ver 0.2.0-rc5
Вот скрин экрана, попытка отправить (Save+Compile) скрипт возвращает информацию об использованной памяти, где файлов нет.

Кнопка Save&CompileAll не работает.
Что я делаю не так? Опыта особого нет, просто залить готовые скрипты для часов.
 

gaterkik

New member
при загрузке первым делом запускается файл init.lua. На его отсутствие и ругается.
 
при загрузке первым делом запускается файл init.lua. На его отсутствие и ругается.
Содержание init.lua
dofile("v2_main.lua")

я вручную запуская файл main, чтобы проверить на отсутствие циклической перезагрузки. Вот и боюсь, что это она и есть :)
Переключил скорость с 9600 на 115200, выскочило вот это
> dofile(«v2_main.lua»)

ets Jan 8 2013,rst cause:4, boot mode:(3,6)

wdt reset
load 0x40100000, len 28740, room 16
tail 4
chksum 0xcd
load 0x3ffe8000, len 2888, room 4
tail 4
chksum 0xbc
load 0x3ffe8b50, len 15252, room 4
tail 0
chksum 0x4f
csum 0x4f

Это значит, работает? Или не обязательно?
 

gaterkik

New member
Похоже что работает. Точнее скажу если содержимое скриптов посмотреть. А что за проект?
 
Не работает. Ребутится.
Вы у себя на железе уже проверили? Круто, я уже неделю с этим сижу :) Только с Вашей подсказки сегодня залил скрипты в плату. Жаль ,что не работает, связался с разработчиком, жду ответа.
 

gaterkik

New member
Не проверял у себя.
Wdt reset от того, что программа надолго выходит из основного цикла и чем-то занимается, либо от переполнения оперативной памяти, указатель может сбиться и вы не можете вернуться в основной цикл, чтобы сбросить сторожевой таймер. Всё это может происходить от кривых библиотек, кривого пользовательского кода, либо банально слишком навороченной программы, с которой ESP не справляется.
 
Не проверял у себя.
Wdt reset от того, что программа надолго выходит из основного цикла и чем-то занимается, либо от переполнения оперативной памяти, указатель может сбиться и вы не можете вернуться в основной цикл, чтобы сбросить сторожевой таймер. Всё это может происходить от кривых библиотек, кривого пользовательского кода, либо банально слишком навороченной программы, с которой ESP не справляется.
Все равно не выходит ничего. Через Upload файлы заливаются криво, скрипты не работают так, как надо.
Вот лог отправки скрипта через Upload
Uploader: chooser selected file:1
BinaryFileLoader: Try to load file v2_config.lua…
BinaryFileLoader: Load file v2_config.lua: Success, size:199
1. packets = 0
2. packets = 1
3. packet = 0
BinaryFileLoader: Prepare next packet for send, len=199
BinaryFileLoader: Total packets prepared=1
sendPackets=1
Uploader: Starting…
Uploader: Add EventListener: Success.
Uploader: Start
sending: _up=function(n,l,ll) local cs = 0 local i = 0 print(">".." ") uart.on(«data», l, function(b) i = i + 1 file.open(«v2_config.lua»,'a+') file.write(b) file.close() cs=0 for j=1, l do cs = cs + (b:byte(j)*20)%19 end

java.lang.NullPointerException
sending: uart.write(0,"~~~CRC-"..«START~~~»..cs.."~~~CRC-"..«END~~~») if i == n then uart.on(«data») end if i == n-1 and ll>0 then _up(1,ll,ll) end end,0) end file.remove(«v2_config.lua»)

java.lang.NullPointerException
sending:_up(1,199,199)

java.lang.NullPointerException
Uploader: receiving checksum 1/1 check: Success
java.lang.NullPointerException
sending:_up=nil

java.lang.NullPointerException
Uploader: Success
Operation done. Duration = 1375 ms
Мне кажется, файл не заливается должным образом и поэтому не работает.
Перепрошивал модуль начисто, заливал скрипты - результат ноль.
Ссылка на видео прошивки, заливки и результата - вот.
Результат одинаковый, что для ESP-01, что для NodeMCU v3 Lolin.
Кто-то может помочь? Что я делаю не так?
По итогу при выполнении main.lua в мониторе порта должно быть
> dofile("v2_main.lua")
на экране
> init sync 1539987328
22:16:00 show time
22:17:00 show time ....

а у меня какая-то ерунда,

Может кто-то залить скрипты на на свою ESP-шку и попробовать выполнить v2_main.lua?
Авто отвечает, что у него программа работает. Блин, я готов даже пару модулей почтой отправить кому-нибудь для прошивки, потому что часы собраны, не хватает только мозгов и у часов, и у меня.
Архив со скриптами
 
Если у Вас esp 12 ( e или f ?) то нужно выбирать 4 мб и dio при прошивке.
У меня 12e, просто на видео выше была попытка залить скрипты в ESP-01. Вот ВИДЕО тех же действий для ESP-12e, и нифига.
Что я делаю:
1. Заливаю blank для 4M через ESPFlashDownloadTool_v3, там все нормально.
2. Прошиваю NodeMCU Firmware Programmer-ом, дефолтные настройки (DIO, 4M)
3. Заливаю файлы скриптов в ESPlorer через кнопку Upload, все файлы отображаются при Reload
----------------------------
v2_config.lua : 199 bytes
v2_leddriver.lua : 599 bytes
v2_main.lua : 3169 bytes
v2_ntp.lua : 1015 bytes
v2_utime.lua : 996 bytes
----------------------------
Total file(s) : 5
Total size : 5978 bytes

4. Запускаю файл v2_main.lua
и вместо
> dofile("v2_main.lua")
на экране
> init sync 1539987328
22:16:00 show time
22:17:00 show time ....


получаю

> dofile("v2_main.lua")
?)ЌЋ„9яD‹МьЊ¦„О`¦ш

NodeMCU 0.9.5 build 20150318 powered by Lua 5.1.4
lua: cannot open init.lua
>

то есть, как Вы уже и писали ранее, плата ребутится.
Я не знаю, что делать и в чем причина.
 
Последнее редактирование:
можно попробовать это
LuaLoader for ESP8266
Большое спасибо за информацию! Я пытался загрузить SDK новой версии, но у меня ESP после загрузки SDK висла наглухо, это может быть потому, что начальный адрес я ставил 0х00000?
Попробую на обеде переделать по Вашему совету.
Да, параметры Wi-Fi нормально записываются, ESP-шка видна в сети (что 01, что 12е)
 
Большое спасибо за информацию! Я пытался загрузить SDK новой версии, но у меня ESP после загрузки SDK висла наглухо, это может быть потому, что начальный адрес я ставил 0х00000?
Попробую на обеде переделать по Вашему совету.
Да, параметры Wi-Fi нормально записываются, ESP-шка видна в сети (что 01, что 12е)

UDP: в общем. я все делал не так, похоже. Пошел курить Ютуб на предмет прошивки SDK2.2.0, если что-то пойдет не так, придется снова спрашивать :)
 

gaterkik

New member
Файлы заливаются корректно судя по видео. А какой прошивкой шьёте esp12?

В адрес 0x3fc000 не файл прошивки нужно писать а другой(во вложении)
 

Вложения

Файлы заливаются корректно судя по видео. А какой прошивкой шьёте esp12?

В адрес 0x3fc000 не файл прошивки нужно писать а другой(во вложении)
Шил и ESPFlashDownloadTool_v3, и NodeMCU Firmware Programmer, результат одинаковый.
Про адреса я уже понял, буду вечером пробовать обновить SDK
 
Не. Не какой программой запись делаете, а какой файл записываете?
Z gb
В результате двухчасовых мучений ничего не вышло. Мне удалось обновить SDK, в ESPlorer-e через AT-команды указать параметры сети, плату видно в сети Wi-Fi. Дальше заливаю прошивку NodeMCU (nodemcu-master-8-modules-2017-10-14-18-27-32-integer.bin), параметры прошивки в MCU флэшере 115200, 512kByte, 40MHz, QIO. Прошивается успешно.

В ESPlorer вижу такую картину:


Параметры сети исчезли, платы в сети не видно. Отправляю команды на подключение к сети
Получаю ответ
wifi.sta.config("имя сети","пароль")
wifi.sta.config("имя сети","пароль")
stdin:1: bad argument #1 to 'config' (config table not found!)
stack traceback:
[C]: in function 'config'
stdin:1: in main chunk

Если залить файлы, и запустить скрипт v2_main.lua, вылезает вот это
> dofile("v2_main.lua")
> Warning, deprecated API! net.createConnection with net.UDP type. It will be removed in next version. See documentation for details.
PANIC: unprotected error in call to Lua API (v2_ntp.lua:21: attempt to call method 'connect' (a nil value))

ets Jan 8 2013,rst cause:2, boot mode:(3,1)

load 0x40100000, len 26280, room 16
tail 8
chksum 0xaa
load 0x3ffe8000, len 2172, room 0
tail 12
chksum 0xc7
ho 0 tail 12 room 4
load 0x3ffe887c, len 136, room 12
tail 12
chksum 0x9a
csum 0x9a
Дгм‚'д“{Гуo<дДlЏ8{lb“џ|{’lЬnаѓoв

Всё, пипец, не могу уже.
Видимо, придется сдаться, не победить эту штуку. Жалко часы, уже спаяны, почти готовы. Есть кто из Вологды? Привез бы пару ESP-их, на прошивку...
 
Сверху Снизу