ESP-8266/ESP32 NodeMCU Lua: азы программирования.

Тема в разделе "ESP8266, ESP32", создана пользователем ИгорьК, 25 июл 2017.

  1. ИгорьК

    ИгорьК Гуру

    LFS здесь нет. За этим к Сергею.
     

    Вложения:

    • idf5lua51.zip
      Размер файла:
      708,3 КБ
      Просмотров:
      76
    obuhanoe нравится это.
  2. obuhanoe

    obuhanoe Гик

    При работе получаю ошибку, видимо в этой прошивке TLS?
    Код (Text):
    [0;31mE (171536) esp-tls-mbedtls: No server verification option set in esp_tls_cfg_t structure. Check esp_tls API reference[0m
    [0;31mE (171536) esp-tls-mbedtls: Failed to set client configurations, returned [0x8017] (ESP_ERR_MBEDTLS_SSL_SETUP_FAILED)[0m
    [0;31mE (171546) esp-tls: create_ssl_handle failed[0m
    [0;31mE (171556) esp-tls: Failed to open new connection[0m
    [0;31mE (171556) transport_base: Failed to open a new connection[0m
    [0;31mE (171566) HTTP_CLIENT: Connection failed, sock < 0[0m

    Request completed with status code =    -28674
     
  3. ИгорьК

    ИгорьК Гуру

    Ясно что недостаточно сконфигурирован TLS сервер. Но компа сейчас у меня этого нет, к сожалению.
     
    obuhanoe нравится это.
  4. serg3295

    serg3295 Гуру

    Там везде mbedtls по умолчанию.
    Чтобы обойти именно эту ошибку надо собирать прошивку с установленными опциями Allow potentially insecure options и Skip server certificate verification by default
    Код (C++):
    (Top) → Component config → ESP-TLS
                                                                          Espressif IoT Development Framework Configuration
        Choose SSL/TLS library for ESP-TLS (See help for more Info) (mbedTLS)  --->
    [ ] Use Secure Element (ATECC608A) with ESP-TLS
    [*] Enable client session tickets
    [ ] Enable ESP-TLS Server
    [*] Enable PSK verification
    [*] Allow potentially insecure options
    [*]     Skip server certificate verification by default (WARNING: ONLY FOR TESTING PURPOSE, READ HELP)
     
    Последнее редактирование: 3 мар 2023
    ИгорьК и obuhanoe нравится это.
  5. serg3295

    serg3295 Гуру

    Вот прошивка с установленными этими опциями. Пробуйте. Заодно, LFS можно глянуть.
     

    Вложения:

    • esp32lua51.zip
      Размер файла:
      723,2 КБ
      Просмотров:
      101
    ИгорьК нравится это.
  6. ИгорьК

    ИгорьК Гуру

    Расскажите на досуге как здесь устанавливается LFS.
     
  7. serg3295

    serg3295 Гуру

    @ИгорьК залил вашу прошивку из предыдущего поста и накатил туда lfs.img. Больше ничего специально не делал. Всё работает как обычно.
    Вот картинка на которой я постарался уместить всю последовательность действий.
    Файлы с картинки в приложении.
    03-03-23_10-49.png
     

    Вложения:

    • testlfs.zip
      Размер файла:
      1,2 КБ
      Просмотров:
      69
    ИгорьК нравится это.
  8. ИгорьК

    ИгорьК Гуру

    LFS на месте. Все ОК. Лишний вывод Вы не убрали при загрузке.
     
  9. ИгорьК

    ИгорьК Гуру

    Пока я проверяю свою прошивку, вижу что вы запустили для ESP32 плагин в VSCode!
     
  10. serg3295

    serg3295 Гуру

    Наоборот, специально воткнул, чтобы посмотреть что там, если будут вопросы. А то у меня это переключение между версиями Lua вызывает дискомфорт. Я 5.1 не пользуюсь.
     
    ИгорьК нравится это.
  11. serg3295

    serg3295 Гуру

    Да, теперь он умеет с esp32. Ещё я добавил туда команды send line, send block по аналогии с esplorer. Но ещё не до конца протестировал команды, а send block вообще работает только с маленькими блоками. Не доделал, короче.
    Я хотел чуть попозже выложить доработанное расширение, если автор расширения не примет мои merge request. Но, если вы готовы участвовать в тестировании, то выложу сейчас.
     
    ИгорьК нравится это.
  12. ИгорьК

    ИгорьК Гуру

    Вот в чем дело у меня.

    На пятой ИДФ и LUA 5.3 кинул в модуль ifs.img от ESP8266 Lua5.1 первый попавшийся. Получил:
    upload_2023-3-3_11-15-11.png

    И решил что LFS там нет.

    Все сложнее. Сейчас с прошивкой 5.0 и Lua5.1 получилось так:
    upload_2023-3-3_11-16-28.png
    Но загрузилось:
    upload_2023-3-3_11-23-40.png

    upload_2023-3-3_11-17-1.png
     
    Последнее редактирование: 3 мар 2023
  13. ИгорьК

    ИгорьК Гуру

    Готов, конечно. Но от случая к случаю, у меня сейчас другие проекты за пределами ESP а что касается ESP то в свободное от главного тихонько пилю часы на 8266, на 32 ничего нет сейчас.
     
    serg3295 нравится это.
  14. serg3295

    serg3295 Гуру

    Проверьте каким luac.cross собирается образ. На моей картинке есть путь до luac.cross, который компилируется вместе с прошивкой. Его и надо использовать.
    Тогда я чуть позже сделаю новую тему для обсуждения этого расширения. И выложу его.
     
    ИгорьК нравится это.
  15. ИгорьК

    ИгорьК Гуру

    Чуть позже буду разбираться, Спасибо!
     
  16. ИгорьК

    ИгорьК Гуру

    Это привычка или 5.3 имеет какое-то преимущество для ESP?
    На память, там работа с окружениями интереснее.
     
  17. obuhanoe

    obuhanoe Гик

    Спасибо, работает.
     
  18. serg3295

    serg3295 Гуру

    Когда я начал изучать Lua в esp уже были версии и 5.1 и 5.3. Мне было всё равно с какого начинать. Начал с 5.3. Так что привычка выработаться не успела.
    Из мелких плюсов для меня это побитовые операторы. Приятнее писать код так
    Код (C++):
    a = 0x02
    b = 0x01
    c = 0x10
    print(string.format('0x%x', (a << b) | (c & ~b)))
    а не так
    Код (C++):
    bit.bor(bit.lshift(a, b), bit.band(c, bit.bnot(b)))
    А вообще, без разницы. Можно и на 5.1 нормально всё писать.
     
    ИгорьК нравится это.
  19. ИгорьК

    ИгорьК Гуру

    Если бы 5.3 числа в двойном формате принимал...
     
  20. serg3295

    serg3295 Гуру

    Вы имели ввиду вот это?
    Код (C++):
    (Top) → Component config → Lua configuration

        Lua version (Lua 5.3)  --->
    [ ] Use 64bit integers
    [ ] Use double precision floating point
        Core Lua modules  --->
        Lua compilation  --->
        Boot command (init.lua from SPIFFS)  --->