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

ESPlorer

nikolz

Well-known member
про LuaLoader хочу заметить, что
в ней надо грузить специальные файлы в ESP
кроме того попытка выгрузить lc файл в ней и загрузить обратно привело к затиранию NodeMCU
пришлось все снова грузить
Сказал бы что Ваше решение лучше (надеюсь скоро станет как только будет возможность гонять файлы туда и обратно), чем LuaLoader
-------------------------------
И все же хорошо бы сделать отображение в тексте или нет автоматом по расширению.
Тогда не надо было бы городить много кнопок и объяснять смысл их названия.
----------------------------------
Как пожелание, название кнопок брать из меню известных программ Windows - тогда смысл кнопки понятен по умолчанию.
 

Victor

Administrator
Команда форума
Интерфейс планирую пока оставить в том виде как есть, т.е левое окно - код, правое - терминал.
В левом окне под редактором кнопки отвечающие за работу со скриптом, который сейчас открыт в редакторе, или находится на диске компьютера, т.е.
  • Сохранение (Копирование, Выгрузка, Запись) в ESP - это кнопка "SaveToESP"
  • Выполнение (Запуск, RUN) - "Do LUA"
  • Компилирование - "Compile"
  • Компилирование и запуск уже скомпилированного файла LC - "Compile & Do LC"
  • Отправка построчно, без сохранения в файле в ESP - "Send To ESP"
  • Выгрузка файла с диска в ESP - "Upload"
Справа - команды, относящиеся к файлам в ESP, независимо от того открыты они в редакторе слева или нет.
Там обычный файловый менеджер. Кнопки - это файлы, по левому клику исполняемые запускаются, остальные просматриваются в окне терминала, по правому клику - контекстное меню в котором можно удалить, скачать на комп, переименовать файл.

Для тех, кто любит когда места побольше, будут отключаемые панели сниппетов и файлового менеджера. Окно логов уже отключается. Можно будет развернуть окно и сжать терминал до минимального размера, чтобы освободить место для редактора.Возможно, в будущем, сделаю терминал в отдельном окне для работы на двух мониторах, но это не в ближайших планах.

Без служебных скриптов LLBIN и XXD как в LuaLoader не обойтись. Постараюсь сделать так, чтобы использовать эти готовые скрипты от LuaLoader и не пришлось грузить еще и свои.

Количество кнопок сокращать не хочу, потому что мнения разные. Одни хотят делать меньше кликов, и чтобы было все рядом (не в меню или на вкладках), другим по душе минимализм в главном окне и они готовы кликать по вкладкам и меню, поэтому надеюсь, что в текущем виде это какой-то компромисс между одними и другими.
 

nikolz

Well-known member
Предложение:
--------------------------
может не надо "DoLUA",
а написать "RUN" ?
Запуск программы он и в Африке RUN,
даже если программа на китайском.
----------------------------
а вместо этого "Compile & Do LC"
написать "Compile &Run"
--------------------------------
"Send To ESP" можно бы назвать "line to ESP"
------------------------------
Важно не число кнопок
Пусть их будет 1000,
но пусть их не видно,
если не надо.
 

nikolz

Well-known member
и еще хотел спросить.
Почему нельзя обойтись без этих файлов LLBIN и XXD?
 

Victor

Administrator
Команда форума
может не надо "DoLUA",
а написать "RUN" ?
Это же не я придумал команду в NodeMCU
Код:
dofile("file.lua")
"Send To ESP" можно бы назвать "line to ESP"
"line to ESP" уже есть (по просьбе одного из донаторов делал)
в панели инструментов вверху, посылает в ESP текущую строку из редактора
 

Victor

Administrator
Команда форума
Почему нельзя обойтись без этих файлов LLBIN и XXD?
потому что в NodeMCU нет команды "взять файл и передать его в последовательный порт"
Нужно сделать много операций. В упрощенном виде передача из ESP выглядит так: fopen, read buf, send buf, read next .. fclose
Прием чуть посложнее (нужно еще переключить UART в режим, когда все принимаемые данные не попадают в интерпретатор)
 

nikolz

Well-known member
Это же не я придумал команду в NodeMCU
Код:
dofile("file.lua")
вообще-то dofile - это не nodeMCU, а функция LUA.
----------------------------------
Но это не значит, что запуск файл нельзя назвать иначе, так как запуск на исполнение осуществляется в отладчике,
а какой командой Вы реализовали этот запуск через dofile или через вспомогательную программу типа LLBIN и XXD это внутреннее дело разработчика ESPlorer.
 

Victor

Administrator
Команда форума
nikolz, как я понял у вас приличный опыт с LUA, подскажите как обойтись без LLBIN и XXD.
Заодно посмотрите их - похоже именно там баг из-за которого нельзя гонять файлы туда-сюда

Про RUN вы меня убедили. Кто пользовался ESPlorer-ом ранее быстро привыкнут, а новичкам будет намного комфортнее.
 

nikolz

Well-known member
потому что в NodeMCU нет команды "взять файл и передать его в последовательный порт"
Нужно сделать много операций. В упрощенном виде передача из ESP выглядит так: fopen, read buf, send buf, read next .. fclose
Прием чуть посложнее (нужно еще переключить UART в режим, когда все принимаемые данные не попадают в интерпретатор)
------------------------------------
fopen, read buf, send buf, read next .. fclose - Все это выполняется и построчно, т е не требует загрузки файла в файловую систему.
Но это уже дело техническое.
------------------------------------------
Главное, чтобы костюмчик сидел.
 

Victor

Administrator
Команда форума
fopen, read buf, send buf, read next .. fclose - Все это выполняется и построчно, т е не требует загрузки файла в файловую систему.
построчно долго - около 200мс требуется интерпретатору для обработки команды и отправки приглашения
 

nikolz

Well-known member
nikolz, как я понял у вас приличный опыт с LUA, подскажите как обойтись без LLBIN и XXD.
Заодно посмотрите их - похоже именно там баг из-за которого нельзя гонять файлы туда-сюда

Про RUN вы меня убедили. Кто пользовался ESPlorer-ом ранее быстро привыкнут, а новичкам будет намного комфортнее.
наилучший Вариант - это написать функцию LUA "ввод/вывод файла через последовательный порт" на СИ.
в eLUA (nodeMCU) "API C" такой же, как и в обычном LUA.
--------------------------------------
Я обычно так делаю. Т е расширяю возможности луа и получаю максимальное быстродействие и компактность решения.
-------------------------------------------------
Но в данном случае надо будет собирать сборку с новыми функциями.
Хотя например для датчиков без этого не обойтись.
-----------------------------------------------
Поэтому пока думаю о механизме DLL для nodeMCU.
------------------------------------------------
Программы LLBIN и XXD посмотрю.
Я написал разработчику про ошибку он сказал , что надо грузить через bin.
После того, как испортил прошивку больше желания экспериментировать с их загрузкой не возникало.
 

nikolz

Well-known member
В обычном луа библиотеки dll
подключаются как модули через require.
В nodeMCU модуль можно сделать лишь на луа,
а хотелось бы грузить нативный код.
 

windalser

New member
Идею добавить второй редактируемый экран поддерживаю.
Очень удобный инструмент отладки в Esplorer - выделение строки или блока в редакторе и исполнение его.
Второй экран мог бы использоваться именно для этих целей. Он мог бы заменить snippets.
Причем, для каждого проекта можно было бы на втором экране открывать свой набор тестовых строк, возможно с комментариями.
Никакие действия типа загрузить в esp и другие для этого экрана не нужны.
-----
Заметил ошибки (build 206 - windows)
- вкладка AT v0.20 - кнопка CWLIF Get connected cli... выдает ERROR, хотя, если подать команду AT+CWLIF в низу терминала - работает
- в окне ввода команд нужно нажимать кнопку Send мышью. Enter не приводит к исполнению команды.
 

JustACat

Moderator
Команда форума
Да, кстати об ошибках, я еще замечал такую глюкофичу:
- у нас стоят галки CR и LF
- затем мы пишем в поле какую-то команду, например ту же "+++"
- и тут же мышкой нажимаем на галки CR и LF (с ними ее отправлять же бессмысленно)
сразу происходит отправка команды, почему-то...

PS: ув. Victor, а вы на мои сообщения в личке не хотите глянуть? :) А то писал давно, а воз и ныне там...
 

Victor

Administrator
Команда форума
Новая версия ESPlorer


Список изменений и ссылка на скачивания в первом посте этого топика
 

nikolz

Well-known member
предложение.
(возможно есть,но не нашел)
Было бы замечательно сохранять открытые окна для следующей загрузки.
или сохранять сессии (проект),чтобы можно было восстанавливать открытые окна программ.
Спасибо
 

Victor

Administrator
Команда форума
nikolz, да, согласен, это было бы неплохо. Только многое переписывать с нуля придется - работы просто оооочень много. Более важной сейчас вижу задачу заливки файлов по сети, через WiFi. Кстати, очень надеюсь на вашу помощь в написании скрипта на стороне NodeMCU. Когда у вас появится свободное время и желание - давайте обсудим это
 

nikolz

Well-known member
Я готов обсуждать.
Вы напишите мне на почту, что надо,
я обдумаю как сделать.
 

nikolz

Well-known member
У меня в планах:
1) написать ПИД регулятор для теплонагревателей
2) сделать высокоточный измеритель температуры на термопаре (до 1500 гр)
3) попытаться реализовать частотное управление скоростью вращения двигателей на основе встроенного PWM.
 

Victor

Administrator
Команда форума
Я готов обсуждать.
Вы напишите мне на почту, что надо,
я обдумаю как сделать.
отправил вам в личку, путем создания переписки (вашу почту в открытом виде по-быстрому не нашел, не лезти же мне за ней в MySQL :)
 
Сверху Снизу