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

Nodemcu

lincinus

New member
примечательно, что в NODEMCU может быть включена
R/W FAT FS in SD/MMC Cards
т е файловая система для работы с SD / MMC-картами.
Во как!
как подключить sd http://elm-chan.org/docs/mmc/mmc_e.html
или см схему olimexino-stm32
в elua есть подержка sd over SPI
так что нужно только докинуть пару файлов в nodemcu и должно заработать.

В nodeMCU есть возможность включить в прошивку файловую систему WOFS(Write Once File System).
В этом случае байт-код скрипта можно исполнять непосредственно из флеш,
Тут сказано что заменили на spiffy https://github.com/nodemcu/nodemcu-firmware/issues/61
а откуда информация что можно исполнять пряма из флеш?
 

lincinus

New member
------------------------------
Прочитал эту ссылку. Как видно из этой дискуссии, участники лишь начали изучать nodemcu.
файловая система spiffs и WORS и ROMFS и RFS не могут заменить друг друга. У них разное назначение.
спасибо, этот момент упустил.
относительно поддержки карт.
ну мы с вами об одном и том же.

Я использую elua в другом проекте, там как раз скрипты на sd карте держу.
в случае с esp нужен слот для sd карты, самый дешёвый вариант сделать так
http://www.instructables.com/id/Cheap-DIY-SD-card-breadboard-socket/
только взять переходник SD->micro-sd. сейчас почти все карты так продаются

как внутренности устроены у elua при работе с sd-картой я не сильно разбирался, там через прослойку devman->mmcfs сделано, но помоему он грузит весь скрипт сразу с карты в память, а у esp с этим проблемы.
 
Последнее редактирование:

AlexDbx

New member
Ребята, хелп.
Сабж - ESP-07. Пытаюсь залить NodeMcu этим же флешером. GP0-GND, GP2-VCC, CH_PD-VCC.
Так же как и в других загрузчиках(хтком, есп_флешер) доходит до 11% - и тупнет - Error:Write flash timeout.
Но SDK 1.0.0 ставится спокойно, и всё работает.
Это как понимать, как быть?

В случае безысходности - мега тупой вопрос - чем можно работать с голым SDK, в чём писать код и заливать?
 

JustACat

Moderator
Команда форума
[off]
чем можно работать с голым SDK, в чём писать код и заливать?
Почему безысходности? :) И зачем с голым обязательно?
Гораздо приятнее использовать:
1) Sming + UDK (на нем вы можете попробовать собрать сами NodeMCU)
или
2) ArduinoIDE[/off]
 
Уважаемый Виктор!
NodeMCU 0.9.5 build 20150318, 20150406
Тестировал webсервер, фрагмент кода Lua вывод файла картинки в браузер
local size=file.seek("end")--получим размер файла
file.seek("set")--в начало файла
print(Myfile.."="..size)
while (size>0) do
local buf=file.read(1460)
client:send(buf)
size=size-1460
end
file.close()
результат -
размер файла Myfile=12000 байт
выводиться только кусок 2920 байт
опыта в Lua мало, не пойму причину...
 

Victor

Administrator
Команда форума
выводиться только кусок 2920 байт
В NodeMCU много проблем как своих, так и от SDK 9.5-9.6
Есть известные глюки в NodeMCU как с файловой системой, так и с web сервером (точнее вообще с передачей пакетов, а тем более больших)
Надежных вебсерверов на NodeMCU я не встречал, да это и невозможно на SDK ниже 1.0.0
Ознакомьтесь со списком известных ошибок, уменьшите размер буфера, каждую операцию проверяйте на успешность выполнения, регулярно проверяйте heap - вот максимум, что я могу вам посоветовать.
 
Если файлы сервера (html и jpg ) не более 2920 байт.
как-то работает в fox.
в Google Chrome выводит только текст txt нтm файла.
страницу не рисует.
интересно почему?
 

JustACat

Moderator
Команда форума
Так что для каких-то некритичных задач вполне сгодится.
А вот как выйдет скоро новый ESP с бОльшим объемом памяти (слухи уже ходят о том, что очень скоро, но пока все же именно слухи), тогда может и NodeMCU новую жизнь обретет :)
 

pvvx

Активный участник сообщества
А вот как выйдет скоро новый ESP с бОльшим объемом памяти (слухи уже ходят о том, что очень скоро, но пока все же именно слухи), тогда может и NodeMCU новую жизнь обретет :)
По этому поводу Espressif выпустила liblwip_536.a. :) :)
Чтобы предельная длина IP пакета была 536 байт и буфер NodeMCU не переполнялся :)
Для мигания светодиодом 1560 байт MSS не требуется.
Интересно будет поведение браузеров при такой длине пакета, в их HTTP запросе :) :) Т.к. спецификация HTTP по данному поводу молчит, а это сказывается на длине URI и каждый браузер будет действовать по своему.
Note: Servers ought to be cautious about depending on URI lengths
above 255 bytes, because some older client or proxy
implementations might not properly support these lengths.

Цитата из описания протокола HTTP того века :)

Простейший запрос GET/POST из браузера будет состоять из дцать пакетов по 500 байт. Поддержки многопакетного запроса и ответа в NodeMCU пока не наблюдается, а пока приводил к краху espconn в 0.9.5...

Заточка ПО на сервер IoT Espressif продолжается...
 
Последнее редактирование:
Добрый день!
Что то случилось с 25q128 (и на 25q32 пожожее) на модуле выдает:
Код:
i*** ERROR ***: unable to format. FS might be compromised.
It is advised to re-flash the NodeMCU image.

NodeMCU 0.9.6 build 20150406  powered by Lua 5.1.4

----------------------------
                : 1487 bytesNo files found.
----------------------------
>
> r,u,t=file.fsinfo() print("Total : "..t.." bytes\r\nUsed  : "..u.." bytes\r\nRemain: "..r.." bytes\r\n") r=nil u=nil t=nil
Total : 15007541 bytes
Used  : 261040 bytes
Remain: 14746501 bytes
из команды "Format" быстро выскакивает- не форматирует.
это началось после использования утилиты nodemcutil.exe для загрузки модулей LUA
похоже установились биты защиты от записи 25q32/128 на верхнюю область памяти.
Может кто встречался с такой проблемой, как лечить ?
P.S. Модуль прошивается нормально.(все перепробовал)
 
Последнее редактирование:

Victor

Administrator
Команда форума
Может кто встречался с такой проблемой, как лечить ?
Похожую проблему FS решал у себя так:
1. на 512к флеш - просто прошивал любую AT прошивку (она как раз 512k), затем NodeMCU
2. более 512к - сделал сначала файл из blank.bin, только размером, как флеш память модуля, залил его, потом сверху уже NodeMCU
На NodeMCU глючная FS. Делал issue на github, они все еще открыты, как и более сотни других
 

Victor

Administrator
Команда форума
Спасибо за ответ!
сделать файл blank.bin = 15007541 bytes или более ?
Более, т.е. всю. Нужно всю флеш память переписать, т.е. все 16 Мбайт. Ну или со смещение шить - на размер прошивки NodeMCU. Мне лень было высчитывать - я всю память заливал с 0x00000. Но больше, чем размер флеш, не дает вроде заливать FlashDownloadTool

Upd: нашел свой файл, приаттачиваю :)
 

Вложения

Последнее редактирование:
Сверху Снизу