2016-10-23 5 views
1

Если я хочу распространять устройство на основе NodeMCU, я бы хотел, чтобы мой конечный пользователь установил пароль Wifi, а затем сохранил его. Я надеюсь, что для обеспечения входа в систему можно использовать одну из схем здесь: How to prevent WiFi Password from being leaked from Lua code?Nodemcu enduser_setup, как разрешить пользователю устанавливать свои учетные данные Wifi?

Однако перед этим устройству необходимо сначала войти в сеть пользователя.

Я думал enduser.setup() выполнил бы это за http://nodemcu.readthedocs.io/en/master/en/modules/enduser-setup/#enduser_setupmanual

Но сколько я пробовал различные enduser_setup() варианты, я не вижу, как следующая команда будет работать:

После запуска enduser_setup.start() доступ к порталу, подобному приведенному выше, можно получить через беспроводную сеть под названием SetupGadget_XXXXXX.

Я не вижу «SetupGadget_XXXXXX» в сети.

Какое предпочтительное решение?

Спасибо!

+0

'XXXXXX' будет случайное число, имейте это в виду. –

+0

Это разрешено? Если да, пожалуйста, подумайте о том, чтобы ответить (htps://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work) ответ (ы). –

+0

Это большая проблема. AP останавливается автоматически после получения STA-IP из домашней сети (это позволяет обеспечить время защиты до 10 секунд до остановки AP). После этого модуль сохранит STA IP. Теперь, если вы попытаетесь подключить модуль к другой сети Wi-Fi, end_user.setup() не запустит AP, поскольку уже сохранен IP-адрес станции. Я всегда полагался на стандартный TCP-сервер, работающий в режиме STA + AP. –

ответ

0

Я не могу быть уверен на 100%, но наиболее вероятной причиной является это (цитата из документации):

После IP-адрес был успешно получен этот модуль будет стоп, как если enduser_setup.stop().

Возможно, ваше устройство использовало учетные данные WiFi, которые использовались в последний раз, то есть он их запоминает. Следовательно, он, вероятно, имеет IP-адрес, если он находится рядом с известной точкой доступа.

Вы можете сбросить конфигурацию WiFi, выдав, например,

wifi.setmode(wifi.STATION) 
wifi.sta.config("foo","") -- inexistent SSID 
0

Я столкнулся с подобным, и я могу выяснить проблему. Вы должны создать пользовательскую сборку прошивки NodeMCU и убедиться, что в сборку включен модуль «Настройка конечного пользователя». Вы можете сделать заказную сборку из следующей ссылки.

https://nodemcu-build.com/