Расширение для vs code, обеспечивающее работу с nodemcu lua

Тема в разделе "ESP8266, ESP32", создана пользователем serg3295, 2 апр 2023.

Метки:
  1. ИгорьК

    ИгорьК Гуру

    ..
    Давно хотел все переустановить :)
     
  2. serg3295

    serg3295 Гуру

    Я просмотрел кино про esp по вашей ссылке.

    1. Компилировать прошивки esp в оракловой виртуальной машине я бросил года два назад, или больше. Сначала компилировал на raspberry, потом перешёл на линукс.
    2. Кино очень старое, сейчас есть гораздо более удобные инструменты для сборки прошивок nodemcu под Windows. WSL, Docker и т.п.
    3. Сборка SDK Espressif плюс проект пользователя на С, это не то же самое, что сборка проекта nodemcu.
    4. Свежие версии Espressif полностью перешли на cmake и уже могут собраться под Windows. Проект NodeMCU не соберётся под Windows.
    5. Чтобы собрать под VS Code проект NodeMCU необходимо написать дополнительные файлы cmake под конкретный проект.

    Вывод.
    Я не буду встраивать в расширение вызов докера, или какой-либо сторонней программы для сборки прошивки.
     
    8bitai и ИгорьК нравится это.
  3. serg3295

    serg3295 Гуру

    Вроде бы уже версия node должна была быть поменяна на 14?
    Иначе, как бы запускались консольные утилиты serialport при отладке несоединяющихся часов?
     
  4. ИгорьК

    ИгорьК Гуру

    Перед уходом с работы обновил версию и полезли ошибки. Уже надо было уходить, поэтому не до разбирательства.
    В понедельник разбираться буду. Но хорошо что обновился, на других компах подожду.
     
  5. ИгорьК

    ИгорьК Гуру

    Видимо проблема в том, как я делаю плату - никак не делаю. Распаиваю провода и раскидываю на матрицу и датчики, ибо никакой схемы по сути нет. ЕСП помещаю в термоусадку. В общем, ещё чуть и все пойму. Или не пойму.
     
    serg3295 нравится это.
  6. serg3295

    serg3295 Гуру

    Да я, в общем-то, также. :)
    Скоро приедут мои детальки для часов, так что шансы на вылов глюка увеличатся вдвое:cool:
    Проверил сейчас под Windows, всё работает. У меня там версия node 14.21.3
     
    ИгорьК нравится это.
  7. 8bitai

    8bitai Нерд

    А в чем собственно разница как то-есть перешел на линукс? На вируальной машине или нет на физической разбери или нет?
    Докеры тоже изначально помойму содержали образы виртуалбокс с каким-то другим линуксом цент или какой-то там....
    Я взял первую попавшуюся компактную удобную для себя сборку дебиан от https://www.turnkeylinux.org/ практически тот же удобный линукс, что на разберри
    собрал на ней сдк и сборки прошивок нодмцу делаю наней..


    А нельзя к примеру использовать както cygwin и также собрать есп сдк и компилить прошивки?
     
  8. 8bitai

    8bitai Нерд

    это что означает? кто такой node>=14?:)

    что надо чтоб перейти с 3.5.9 на 3.5.12?
     
  9. 8bitai

    8bitai Нерд

    Щас столкнулся с неприятной особенностью
    мод не видит виртуального компорта так как W10 его не видит, а есплорер его видит.
    можно как-то подправить мод чтоб он работал с компортами также как это делает есплорер?
    [​IMG]
     
    Последнее редактирование: 26 май 2023
  10. serg3295

    serg3295 Гуру

    Я уже писал раньше, что Esplorer использует для привязки к последовательным портам свою Java библиотеку jssc, а приложения nodemcu-tool и nodemcu-tools JS библиотеку node-serialport c @serialport/bindings. Вероятно, у этих библиотек разные подходы к общению с портами под Windows.

    В help'e на эту программу Virtual Serial Port Emulator написано следующее:
    Возможно, изменив библиотеку serialport, можно будет добится того, что виртуальный COM порт будет виден из этой библиотеки. Но это потребует больше времени на разбирательства.

    Если вас не затруднит, опишите коротко сценарий практического применения этого мода для VSCode в связке с программой VSCE.
     
    ИгорьК нравится это.
  11. 8bitai

    8bitai Нерд

    1. Частенько пользуюсь есплорером дистанционно для доводки до ума кода устройства на какой не хватало времени.
    Все приёмчики с IDE по воздуху это конечно тоже удобно, но это не есплорер и не мод с вс кодом, и с отсутствием должных навыков можно ошибиться и потерять доступ к устройству,
    а так порт устройства железно проброшен через ser2net(linux) tcp2com(win)
    upload_2023-5-28_12-55-21.png
    и никуда не потеряется как бы ты не ошибся, есплорер работает также как если б устройство было подключено локально.
    2. На даче винда 7 переставлять ничего неохота хоть даже это недолго :) - vs code по версии не поставишь для работы мода как я понимаю? - для продолжения тестирования мода и по необходимости подумал подключиться к дому где VScode с модом стоит и с него подключить железку на даче :) какую щас отлаживаю. В итоге облом.
    Есплорер работает с любой оси где только есть жава - это существенное преимущество хотя вскодом с модом пользоваться удобней и приятней.

    В итоге продолжить тестирование вашего мода на выходных не получилось , устройство пришлось отлаживать есплорером...
     
    Последнее редактирование: 28 май 2023
  12. serg3295

    serg3295 Гуру

    Библиотека serialport не будет работать с программой VSCE. Однако, я скорректировал расширение, чтобы оно работало с аналогичными, но open source приложениями com0com и hub4com. Эти приложения берутся из интернета.
    Файл со скорректированным расширением находится в приложении к этому сообщению. Версия оставлена прежней. Потом, после тестирования, включу эту доработку в релиз. Для того, чтобы расширение "увидело" виртуальный порт необходимо установить параметр "nodemcu-tools.deviceFilterActive": false
    Порт появится вот в таком виде:
    ports.png

    Тестировал на локальном компьютере через связку виртуальный порт СОМ4 <-> физический порт СОМ3. Настройки - на картинках.

    com0com.png
    hub4com.png
     

    Вложения:

    8bitai нравится это.
  13. 8bitai

    8bitai Нерд

    Благодарю! завелось
    upload_2023-5-29_20-25-30.png
    а интересно что надо было в расширении корректировать?
    я думал что если найду драйвер виртуального порта другого типа так чтоб он виндой виделся то и расширение заработает. но незаводилось.
    "nodemcu-tools.deviceFilterActive": false
    я, итак, держу выключенным из за пролифик УСБ2КОМ адаптера.
    за наводку на com0com и hub4com тоже благодарю! :)
     
  14. 8bitai

    8bitai Нерд

    я тут подумал раз уж делается тул на замену есплореру то может как-то улучшить его доп опциями типа встроенного в меню сравнения онлайн/oфлайн файлов чтоб сразу было видно в каких файлах есть отличия и зелёный или красный кружочек возле каждого офлайн файла появлялся после установления соединения с модулем типа такого
    upload_2023-6-1_21-17-43.png
    также удобно былоб каталог лфс файлов чтоб выводился к примеру справа от спифс
    upload_2023-6-1_21-52-20.png
    и разные манипуляции с этими файлами скачать запустить как минимум
     
    Последнее редактирование: 1 июн 2023
  15. serg3295

    serg3295 Гуру

    Я не знаю как устроено проприетарное ПО Сименсовских контроллеров, пример которого вы привели. Могу предположить, что для определения соответствия версий файлов на target и host системах не перекачиваются все файлы, кстати, на скорости 100Мб, а сравниваются их хэши. То есть, на контроллере постоянно крутится программа обновления хэш-таблиц файлов.
    В случае nodemcu это означает либо:
    - Принудительно каждому пользователю устанавливать и запускать скрипт расчёта хэша при старте esp, съедая ресурсы. Причём скрипт должен работать постоянно, отслеживая обновление файлов на SPIFFS;
    - Скачивать много файлов разного размера во временный каталог с устройства на скорости 115200, и затем сравнивать их по содержимому.

    Первое решение не подойдёт для большинства пользователей, перешедших с esplorer'a, из-за сложности его применения. Да и ресурсы esp ограничены.
    Второй вариант технически реализовать можно, если вдруг мне будет вообще нечем заняться. Когда-нибудь. Потом.

    Если у вас есть идеи, каким образом данный функционал можно реализовать более изящным способом, то можете ими поделиться.
    Интерфейс VS Code допускает только одно древовидное окно explorer'a.
    Какими "этими", что скачать, куда запускать?
     
  16. 8bitai

    8bitai Нерд

    Скачивать ничего ненужно
    Возможно наверно после редактирования во время сохранения каждого файла в VScode
    каждый файл снабжать 12 байт заголовком типа коментарий "--CRC0A12E1H" какойбудет генерироваться вашим модом расширения и означать подщитанную контрольную сумму этого файла
    Таким образом обращаясь к модулю содержащему 100 файлов необходимо считать первые 12 байт из каждого файла что составит 1200байт и не займет много времени даже на скорости 1200бод
    затем полученый считаный перечень контрольных сумм файлов с устройства сравнить с таким же перечнем считаным с файлов в рабочем каталоге проекта и высветить соответствующие лампочки - достаточно наверно двух типов красную или зелёную.

    в дополнение удобно былоб иметь детальное пофайловое сравнение содержимого файлов по визуальному принципу как это делает WinМerge например.
    WM1.png


    Ну пускай будет продолжением списка с заголовком LFS a первый лист с заголовком SPIFFS

    Po контексту очевидно "этими" - файлами находящимися в LFS
    Запускать на выполнение - значком стрелочки так же как это делается с файлами находящимися в SPIFFS
    Это не очень принципиально гораздо важнее мгновенная наглядность эдентичности содержимого файлов на еспе и в рабочем каталоге на компе.
     
  17. 8bitai

    8bitai Нерд

    Я привел пример визуализации различий, как это будет устроено это разумеется по имеющимся возможностям и впервую очередь целесообразности. Если это аргументированно ненужно то и незачем ничего делать итак сойдёт.
     
  18. serg3295

    serg3295 Гуру

    Проще создавать файл с тем же именем, содержащим контрольную сумму, чем поганить файлы пользователя.
    Я ещё не сошёл с ума, чтобы писать Git с нуля.
     
  19. 8bitai

    8bitai Нерд

    Как тоесть поганить?
    Кто думает что ему ктото чтото поганит тот может в опциях вашего мода нажать кнопку
    и для него удобство будет отключено.:)
    Вы когда сохраняете файл в рабочем каталоге вы этим самым его поганите?

    ну если это реально сложно то действительно незачем.
     
    Последнее редактирование: 2 июн 2023
  20. ИгорьК

    ИгорьК Гуру

    Узелок на память.

    А пояснения просты: братья из Поднебесной, видимо, подделывают чип CH340 от братьев Поднебесной.

    На модуле D1 Mini на чипе, прикидывающимся CH340, маркировка отсутствует. Со старыми дровами, что найдены на сайте Sparkfan, все заработало.

    Конечно, это обнаружилось бы намного раньше, если бы ESPlorer не работал с железкой мимо всех драйверов.

    А как обнаружилось? Я с остервенением распаял часы полностью и как-то замкнул питание на массу. Искал искал замыкание - не смог найти. Достал из закромов новую, свежую, вкусную, чуть соленую D1 Mini с укропом и зеленью, а она не шьется и работает только с ESPlorer AT командами. И тут сошло озарение...

    Пошарил по сайтам, нашёл старый драйвер и, о чудо, - все заработало.
     
    Последнее редактирование: 12 июн 2023
    8bitai и serg3295 нравится это.