Настройка wifi для esp8266/esp8285

Публикация 21.07.2018

Мне уже порядком надоело прописывать ключи доступа в скетч для своих поделок. Для этих поблем есть простое решение - 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, будут считываться автоматически при каждом включении.

* комментарии публикуются после модерации
Нет комментариев