Существует мощный редактор текста SCITE,
который написан на луа, поддерживает подсветку множества языков,
позволяет добавлять кнопки и скрипты.
Например, нажав F7 можно скомпилировать луа скрипт в байт-код.
Есть окно отладки.
Редактор хорошо поддерживается и имеет длительную историю развития.
————————
Идея такая.
Добавить к данному редактору связку c ESP и писать и отлаживать программы в этом редакторе.
—————————
Сказано -сделано.
———————————
Сделал для луа функцию обращения к СОМ порту под виндой.
Вот тестовый скрипт для винды:
————————————————-
package.cpath =»C:/NK/DLL/?.dll;»..package.cpath..»;»
require( «nklib» );
local p=nklib.InitCP(«COM4»,0,150) — открываем ком порт
nklib.WriteCP(«for x,n in pairs(file.list()) do x=x..string.char(01); uart.write(0,x); end;\r\n»)
— пишем в ESP команду чтения каталога файлов
local s,n=nklib.ReadCP() — читаем результат из ESP
nklib.CloseCP() —закрываем порт
—————————————————-
а вот какой получили результат в окне SCITE:
————————————————
for x,n in pairs(file.list()) do x=x..string.char(01); uart.write(0,x); end; — это эхо команды
—это список файлов у меня в dev kit ESP
test9.lua
ds18b20.lua
ds18b20-example.lua
1820_3.lua
LLbin.lua
nk18b20.lc
test9.lc
test_file.lua
nkAM2302.lua
nkBMP180.lua
nk18b20.lua
>
т е получили список файлов в nodeMCU.
—————————————————
Ну вот примерно такой отладчик получается.
Приглашаю желающих принять участие в развитии данного отладчика.

Добрый день, Всем!
провел некоторые эксперименты по оценке быстродействия.
—————————————
Исходные данные:
модуль этот http://nodemcu.com/index_cn.html
NodeMCU_DEVKIT_V0.9
———————————————————————————————
Исследуем работу с DS18B20
——————————
1) сначала сделал скрипт на LUA из примера в документации
так как в существующей библиотеке работы c 1-wire не используются прерывания, то процессор фактически занят 800 ms на одно измерение при 12 битовой точности.
Таким образом, если нам необходимо получать одно измерение в секунду то максимальное быстродействие составит 1 измерение в секунду при 80% загрузки процессора.
————————
2) подключил 2 датчика для проверки идентичности преобразования. в результате систематическая ошибка в пределах 1-2 бит т е 0.0625-0.125 гр С
——————————
3) после этого написал драйвер с использованием прерываний.
В результате время загрузки процессора составило 40 ms вместо 800 ms по примеру из пакета. Таким образом загрузка процессора уменьшилась в 20 раз.
При скорости преобразования 1 измерение в секунду (датчик быстрее с такой точностью не работает) загрузка процессора составляет 4%.
————————————————
Загрузку процессора можно еще уменьшить примерно в 2 раза для двух датчиков или в 4 — для одного. Это можно обеспечить , если читать из DS18B20 лишь два байта температуры и не проверять контрольную сумму.
В этом случае чтение показаний двух датчиков составляет 22 ms и 12 ms, если датчик один.
При этом запуск измерения в двух датчиках  выполняется одновременно.
———————————————-
Таким образом, получили возможность одновременно измерять температуру в нескольких точках объекта со скоростью 1 измерение в секунду.
Загрузка процессора составляет примерно 1%.
Драйвер на LUA.
—————————
Кроме того, получились следующие времена:
tmr.now();  —23 мкс
string.char(ow.read(pin));   —1836 мкс
ow.crc8(string.sub(data,1,8))  —115 мкс
ow.reset(pin);  ow.select(pin, adT[i]);  ow.write(pin,rom,1);   — 6800 мкс
————————————