Мне уже порядком надоело прописывать ключи доступа в скетч для своих поделок. Для этих поблем есть простое решение - ESP8266 SmartConfig - программа под Android, которая по wifi сообщаяет устройству ключи доступа к локальной сети.

Программа для OS Android доступна по ссылке https://play.google.com/store/apps/details?id=com.cmmakerclub.iot.esptouch
Далее нам нужно открыть Arduino IDE, указать в скетче правило получения ключа доступа. Пример минимального кода для получения ключей:
#include <ESP8266WiFi.h>; void setup() { Serial.begin(74880); delay(10); WiFi.mode(WIFI_AP_STA); delay(500); WiFi.beginSmartConfig(); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); Serial.println(WiFi.smartConfigDone()); } Serial.println(""); Serial.println("WiFi connected"); Serial.print("IP address: "); Serial.println(WiFi.localIP()); } int value = 0; void loop() { }
Может показаться удивительным, но да, эта функция работает штатно без дополнительных библиотек.
По сравнению с обычным кодом подключения тут нет констант ssid и password которые задаются через метод WiFi.begin(ssid, pass);
Вместо них используется магия WiFi.beginSmartConfig();
Загружаем наш скетч в esp, перезагружаем, запускаем на телефоне приложение ESP8266 SmartConfig. В нем нужно указать точку доступа (по умолчанию текущая) и пароль, который будет транслирован на наш микроконтроллер.

Нажимаем Confirm и ждем секунд 20... Появится сообщение об успешном подключении, esp радостно зашушрит.
Необходимости повторно передавать ssid/password не будет. Эти данные сохранятся во внутреннюю память eprom, будут считываться автоматически при каждом включении.