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

Вопрос Модификация модуля end user setup

and7ey

New member
Я собираю нужную мне прошивку с помощью сайта - nodemcu-build.com и включаю в прошивку модуль enduser-setup. Мне нужно в этом модуле изменить дефолтное название сети SetupGadget_XXXXXX. В документации сказано, что это название задается в файле user_config.h. Но такого исходника в файлах я не вижу. Может, в C файле в строке 1365 надо модифицировать значение?

Еще этот модуль открывает страницу при наборе Example Domain в адресной строке, но не работает при открытии HTTPS сайта. Это можно как-то исправить?

Но самое главное - как потом прошивку вручную скомпилировать с модифицированным файлом? (мне в ней и другие модули нужны - enduser_setup, file, gpio, net, node, tmr, uart, wifi, tls). Нашел вроде вот такой вариант - https://hub.docker.com/r/marcelstoer/nodemcu-build/, но как контролировать включаемые модули?

Upd. Со всем разобрался, кроме поддержки HTTPS. Может кто-нибудь помочь с этим?
 
Последнее редактирование:

pvvx

Активный участник сообщества
Со всем разобрался, кроме поддержки HTTPS. Может кто-нибудь помочь с этим?
ESP8266 не поддерживает современные стандарты HTTPS. Только старые, с базой на sha1, вышедшие из употребления в глобальной сети инет с 2016-го. Ныне только от sha256...
Используйте новые WiFi-модули, к примеру ESP32.
 

Алексей.

Active member
ESP8266 не поддерживает современные стандарты HTTPS. Только старые, с базой на sha1
Очень даже поддерживает Signature Algorithm: sha256WithRSAEncryption, самый первый мой опыт взаимодействия esp8266 брокером mqtt как раз через ssl.
Проверить подлинность сертификата не представляется возможным, можно только получить его fingerprint.
 

pvvx

Активный участник сообщества
Очень даже поддерживает Signature Algorithm: sha256WithRSAEncryption, самый первый мой опыт взаимодействия esp8266 брокером mqtt как раз через ssl.
Проверить подлинность сертификата не представляется возможным, можно только получить его fingerprint.
Ну тогда сделайте ТС что он просит - включите ему HTTPS :)
 

nikolz

Well-known member
Ну тогда сделайте ТС что он просит - включите ему HTTPS :)
А это не то?
Этот пример демонстрирует, как использовать
Класс WiFiClientSecure для доступа к API по https.
Arduino/HTTPSRequest.ino at master · esp8266/Arduino · GitHub
и это:
https://www.espressif.com/sites/default/files/documentation/5a-esp8266_sdk_ssl_user_manual_en.pdf

In this document, we use SSL to represent both TLS and SSL.
• When establishing SSL-based encrypted commutation channels, the authentication is
optional.
• In general, the SSL client needs to authenticate the SSL server, which is called
"unidirectional authentication” in this document.
• When both the SSL client and the SSL server need to authenticate each other, this is a
process we call "bidirectional authentication” in this document.
• Certification authority (CA) is a third party that is trusted by both the SSL client and the
SSL server. It will issue digital certificates to reliable clients and servers, as well as
manage these certificates. Then the SSL client and the SSL server can authenticate
each other with the certificates issued by the CA.
 

pvvx

Активный участник сообщества
А это не то?
Этот пример демонстрирует, как использовать
Класс WiFiClientSecure для доступа к API по https.
Arduino/HTTPSRequest.ino at master · esp8266/Arduino · GitHub
и это:
https://www.espressif.com/sites/default/files/documentation/5a-esp8266_sdk_ssl_user_manual_en.pdf

In this document, we use SSL to represent both TLS and SSL.
• When establishing SSL-based encrypted commutation channels, the authentication is
optional.
• In general, the SSL client needs to authenticate the SSL server, which is called
"unidirectional authentication” in this document.
• When both the SSL client and the SSL server need to authenticate each other, this is a
process we call "bidirectional authentication” in this document.
• Certification authority (CA) is a third party that is trusted by both the SSL client and the
SSL server. It will issue digital certificates to reliable clients and servers, as well as
manage these certificates. Then the SSL client and the SSL server can authenticate
each other with the certificates issued by the CA.
Ну обратитесь на Яндекс или Google... :)
Или на https://esp8266.ru
Может когда-то, когда по планете бегали динозавры, это было "классически", но не в 2018 году.
И в этом году ещё грозит ещё одна обновка...
Заканчивайте постить не проверив работает ли ваше предложение... :)
Есть только вариант ESP8266 с внешним чипом шифрования - тогда работает. На форуме где-то это было...
Если сложно найти чип, то можно прикрутить ESP32 к ESP8266 для этого дела...
С почтой та-же история. ESP8266 ныне не может посылать почту прямо на популярный сервер. Только на свой, специально сделанный по старинке, незащищенный, местный.
 
Последнее редактирование:

nikolz

Well-known member
Ну обратитесь на Яндекс или Google... :)
Или на https://esp8266.ru
Может когда-то, когда по планете бегали динозавры, это было "классически", но не в 2018 году.
И в этом году ещё грозит ещё одна обновка...
Заканчивайте постить не проверив работает ли ваше предложение... :)
Есть только вариант ESP8266 с внешним чипом шифрования - тогда работает. На форуме где-то это было...
Если сложно найти чип, то можно прикрутить ESP32 к ESP8266 для этого дела...
С почтой та-же история. ESP8266 ныне не может посылать почту прямо на популярный сервер. Только на свой, специально сделанный по старинке, незащищенный, местный.
Путем тщательного анализа сложного ответа на простой вопрос, стало понятно - Не то, но не понятно - почему. Если не пытаться понять причем здесь динозавры.
Но мне-то оно не требуется, поэтому пусть будет как есть.
-------------------------------------
Умным - горе от ума...
 

pvvx

Активный участник сообщества
Путем тщательного анализа сложного ответа на простой вопрос, стало понятно - Не то, но не понятно - почему. Если не пытаться понять причем здесь динозавры.
Но мне-то оно не требуется, поэтому пусть будет как есть.
А что понятнее будет, что у ESP8266 не хватает памяти для реализации текущих алгоритмов TLS?
30 июня 2018 года - это крайний срок для отключения SSL / раннего TLS и внедрения более безопасного протокола шифрования - TLS 1.1 или выше (настоятельно рекомендуется TLS v1.2)
Умным - горе от ума...
И да – мир живет, а вы всё в каменном веке, без ума от ESP8266. :)
На форуме уже десятки раз разжовывалось это дело, а вам ума не хватает это осилить.
 
Последнее редактирование:

nikolz

Well-known member
А что понятнее будет, что у ESP8266 не хватает памяти для реализации текущих алгоритмов TLS?
30 июня 2018 года - это крайний срок для отключения SSL / раннего TLS и внедрения более безопасного протокола шифрования - TLS 1.1 или выше (настоятельно рекомендуется TLS v1.2)

И да – мир живет, а вы всё в каменном веке, без ума от ESP8266. :)
На форуме уже десятки раз разжовывалось это дело, а вам ума не хватает это осилить.
Зря разволновались
Умным -горе от ума - это я про себя
 

pvvx

Активный участник сообщества
Вот у ESP32 что с RAM при https , к примеру при запросе картинки yandex.ru/pogoda/2/informer

Выделен только буфер на PNG в YsPngBinaryMemoryStream pngms(12 * 1024); - 12 килобайт.
Heap: 181896 - Стартовый
WiFi connect.....................................
Ok. (3434 ms)
Client connect...
Heap: 87996 - считали картинку в буфер.
Content len 8085
PNG: 120x156, 8, 6


HTTPS c WiFi сжирает после старта 100 килобайт.
Как жить с 80 килобайт (да ещё фрагментированного)? Их может не хватить разжать png, т.к. словарь у gzip 32 килослов и ещё непрерывным блоком... (даже для картинки в 120x156 :)) А ещё надо буфер для дисплея...
И вариант остается только один - включать WiFi, соединяться, сливать картинку в 8 кило в среднем, убивать полностью соединение, убивать WiFi и затем уже разворачивать png прямо в TFT.
И где тут прыть 240 МГц ядер, если следующую картинку можно получить не ранее 3..5 сек? :)
(Толи дело у RTL в том-же примере:
RAM heap 2 103 088 bytes
TCM heap 27 920 bytes)
 
Последнее редактирование:

and7ey

New member
А нужна ли мне полноценная поддержка ssl, о которой вы рассуждаете? Enduser_setup сейчас перехватывает обращения к http сайтам и не перехватывает обращения обращения к https.
 

pvvx

Активный участник сообщества
А нужна ли мне полноценная поддержка ssl, о которой вы рассуждаете? Enduser_setup сейчас перехватывает обращения к http сайтам и не перехватывает обращения обращения к https.
Он и не работает с HTTPS.
 

RealChel

New member
У меня другая проблема с модулем.
Несмотря на то что я прописываю имя сети (беру из примера MyPersonalSSID)
Я один раз могу подключиться к этой сети MyPersonalSSID
Потом модуль сбрасывает имя сети на SetupGadget_XXXXXX
Это плохо(для меня) т.к. у этой сети нет пароля.
И кто угодно, зная как может зайти и отключить устройство выбрав другую сеть или указав неправельный пароль.
Есть идеи как это избежать?
 
Сверху Снизу