• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Nodemcu

Victor

Administrator
Команда форума
У нее и своих проблем хватает :)
А если серъезно, то по поводу, busy - решает частично (в boot loop вроде не вываливается). Насколько я понял, проблема busy не в коде АТ, а в коде SDK, так что надеемся, что в SDK 9.3 это уже пофиксено. Я сам еще не успел попробовать.
 

Evgen

New member
Спасибо за ответ. И еще вопросик, а что такое SDK? Это типа среда программирования что-ли, как Atmel Studio для AVR-ок?
 

Victor

Administrator
Команда форума
Спасибо за ответ. И еще вопросик, а что такое SDK? Это типа среда программирования что-ли, как Atmel Studio для AVR-ок?
Частично. Это набор библиотек без исходных кодов и без графического интерфейса с примерами (примеры с кодом), скажем как WinAVR. А аналог Atmel Studio это скорее Extensa Xplorer, от производителя процессоров lx106 (ESP8266EX - SoC, т.е. в чипе (не в модуле) ESP8266EX стоит процессор lx106 другого производителя) но это платная штуковина. Если интересует - ищите ESP-IOT-SDK-NOVM.
 

Evgen

New member
Посмотрел я этот SDK93 ну ничего не понятно. И чего с этими файлами делать? Надо их как-то в модуль залить? Если не сложно просветите плиз. Вдруг там и в самом деле глюк с busy...s профиксили.
 

Victor

Administrator
Команда форума
Посмотрел я этот SDK93 ну ничего не понятно. И чего с этими файлами делать? Надо их как-то в модуль залить? Если не сложно просветите плиз. Вдруг там и в самом деле глюк с busy...s профиксили.
В одном посте сложно будет описать процесс сборки прошивки с нуля. Я постараюсь в ближайшее время статью написать о сборке прошивки под Win+VM и жду, что в ближайшее время появится статья о сборке под Linux от другого автора. А пока есть мини-инструкция с видео по сборке 9.2 - попробуйте сделать по ней, заменив SDK на 9.3
Но если вам все это интересно только из-за BUSY, то просто подождите день-два: новые прошивки вот-вот появятся.
 

Evgen

New member
Да да из-за busy, так что подожду немного. А статья про прошивку то-же интересна, то-же подожду.
 

brig

New member
Хочется попробовать прошивку NodeMcu, но не получается, т.к. автор статьи чрезмерно краток...
Я споткнулся на 5-м шаге:
"Заливаем lua скрипт init.lua в ESP8266 с помощью esptool командой..."
1) Что есть "esptool"? На 3-м шаге скачано "luautil", содержащий "luatool".
2) Как "заливать"? Командной строкой Windows "luatool -p COM4 -f init.lua -t init.lua"?
Windows отвечает, что luatool не является исполнимым файлом...

И далее: на 7-м шаге потребуется "подключаться терминалом". Каким? Ранее упомянутым pyserial? Как его запустить?
А на первом шаге ссылка ведет к файлу прошивки "nodemcu_512k.bin" размером 25,6 кбайт почему-то...
 
Последнее редактирование:

Victor

Administrator
Команда форума
Сорри, в статье 2 опечатки, сейчас исправлю. Разумеется нее esptool, а luatool. А если точнее, то luatool.py - это скрипт на языке python. Чтобы luatool.py запустить нужен установленный python. Я делал на версии 2.7. Не гарантирую, что заработает на других версиях. Установить python 2.7, затем нужно установить модуль python - pyserial. Как устанавливать модули к питону - поищите сами, у меня под рукой нет ссылки на хорошую статью. Подскажу, что проще сначала установить "установщик модулей" pip.
А терминал можете взять любой. Например putty, CoolTerm или Terminal v91.3b принцип тот же, что и с АТ командами.

Ссылка на прошивку правильная, на гитхабе нельзя "сохранить ссылку как", нужно просто кликать по файлу, а там еще нажать RAW, в общем даю прямую ссылку на прошивку. А размер, конечно около 500kb
 
Последнее редактирование:

brig

New member
Спасибо, удалось выполнить прошивку модуля файлом nodemcu_512k.bin (размером 508 кБ), а также "залить" файлы init.lua и main.lua.
Седьмой пункт не выполняется. Подключаюсь к модулю программой CoolTerm на скорости 115200, посылаю команду node.restart() и не получаю никакого ответа. Что не так?
 

Victor

Administrator
Команда форума
Спасибо, удалось выполнить прошивку модуля файлом nodemcu_512k.bin (размером 508 кБ), а также "залить" файлы init.lua и main.lua.
Седьмой пункт не выполняется. Подключаюсь к модулю программой CoolTerm на скорости 115200, посылаю команду node.restart() и не получаю никакого ответа. Что не так?
Скорость 9600
 

brig

New member
Это надо догадаться... ;)

Команда node.restart() работает, но в ответе не все понятно:
node.restart()
> bBJG&Sb.}VHH7$dNFJ$WVHN
init.lua ver 1.2
set mode=STATION (mode=1)
MAC: .18-FE-34-9E-63-79
chip: .10380153
heap: .18432
NodeMcu 0.9.2 build 20141130 powered by Lua 5.1.4


Что Означает вторая строка? Что за точки в строках 5,6,7?

Команда
dofile("main.lua") работает, но выполняется не то, что приведено в примере. Выдает:

<!DOCTYPE html>
<!--[if IE 7]>
<html class="ie ie7" lang="ru-RU" prefix="og: http://ogp.me/ns#">
<![endif]-->
<!--[if IE 8]>
<html class="ie ie8" lang="ru-RU" prefix="og: http://ogp.me/ns#">
<![endif]-->
<!--[if !(IE 7) & !(IE 8)]><!-->
<html lang="ru-RU" prefix="og: http://ogp.me/ns#">
<!--<![endif]-->
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width" />
<meta name="p:domain_verify" content="11efb0e736668053e3050c04c87df31b"/>
<title>esp8266 &ndash; P!P>P>P1Q P5QQP2P> Q

.................
 

Victor

Administrator
Команда форума
Вторая строка - мусор, не обращайте внимания.
Про точки даже не знаю - у меня их нет (может это терминал добавляет - можно покопаться в настройках)
Ну а то, что выдает, это как раз первые строки HTML, которые отдает сайт - все ок
Так что поздравляю, у вас все получилось.
Теперь дальше экспериментируйте :)
 

brig

New member
Спасибо!
Точки - это символ табуляции (09). По всей видимости, добавляет оператор print (с двумя параметрами, разделенными запятой).
Собственно говоря, я хочу использовать модуль для управления через интернет набором розеток с запоминанием их состояния при отключении/включении электроэнергии. Полагаю, NodeMcu - с его возможностью хранения данных в файлах и организацией простого веб-интерфейса - отлично с этим справится...
Кстати, проблему утечки памяти "китайские товарищи" похоже побороли...
 

Victor

Administrator
Команда форума
Кстати, проблему утечки памяти "китайские товарищи" похоже побороли...
Не, пока нет. Настройте WEB сервер и смотрите print(node.heap()) после каждого запроса от браузера. Через 60 сек восстанавливается.
 

brig

New member
Да, точки в операторах print - результат неправильного использования:

Оператор print('heap: ',node.heap()) отображает heap: .17224
Оператор print('heap: '..node.heap()) отображает heap: 17224

Как я понял, прошивка NodeMcu встраивает в модуль интерпретатор команд (типа Бейсика), позволяющий выполнять операторы-команды, поступающие через СОМ-порт, либо скрипты из файлов, загруженных во флеш-память. Для отладки скриптов это удобно, но при этом практически напрочь отрезается возможность для модуля свободно обмениваться данными по СОМ-порту с внешним устройством. Нельзя ли попросить разработчиков добавить возможность отключения интерпретации команд через СОМ-порт? Частично уже начали делать, добавив метод uart.on(). Хорошо бы иметь возможность управлять параметрами обмена по СОМ-порту (скорость, четность...).
 
Последнее редактирование:

Victor

Administrator
Команда форума
ну не совсем неправильно... и так и так можно. просто у вас терминал так настроен, что точки вместо табуляции отображает. теоретически, с табуляцией должно выравниваться, таблицу можно сделать, а две точки - это конкатенация строк в lua, так что, конечно, это более верный выбор в этом конкретном примере
 

brig

New member
Интересно, если перепаять на модуле ESP8266 микросхему флеш-памяти W25Q40 (4 Mbit) на W25Q64 (64 Mbit), будет ли модуль работать? И, самое интересное, будет ли поддержка при работе с файлами в NodeMcu?
 

Victor

Administrator
Команда форума
Интересно, если перепаять на модуле ESP8266 микросхему флеш-памяти W25Q40 (4 Mbit) на W25Q64 (64 Mbit), будет ли модуль работать? И, самое интересное, будет ли поддержка при работе с файлами в NodeMcu?
FlashDownloader поддерживает до 32Mbit, так что, теоретически, память поменять можно до 32 и она прошьется. А остальное под вопросом.
 
Сверху Снизу