ESP8266 Wi-Fi модуль розроблений китайською компанією Espressif Systems. Мікроконтролер набув популярності у 2014 році коли вийшов на ринок по наднизьких цінах.
Детальні характеристики та pinout для ESP8266
ESP8266 може працювати як в режимі точки доступу, так і в режимі кінцевої станції.
Приклад коду підключення до Wi-Fi
#include <ESP8266WiFi.h>
void setup()
{
Serial.begin(9600);
WiFi.begin("network-name", "pass-to-network");
Serial.print("Connecting");
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
Serial.print(".");
}
Serial.println();
Serial.print("Connected, IP address: ");
Serial.println(WiFi.localIP());
}
void loop() {}
Приклад Wi-Fi multi
Wi-Fi multi використовується для підключення до мережі з найсильнішим сигналом RSSI. Також модуль автоматично перемкнеться на іншу мережу, якщо втратить поточне з’єднання.
#include <ESP8266WiFiMulti.h>
ESP8266WiFiMulti wifiMulti;
const uint32_t connectTimeoutMs = 5000;
void setup()
{
WiFi.mode(WIFI_STA);
wifiMulti.addAP("network-name_1", "pass-to-network_1");
wifiMulti.addAP("network-name_2", "pass-to-network_2");
wifiMulti.addAP("network-name_3", "pass-to-network_3");
}
void loop()
{
if (wifiMulti.run(connectTimeoutMs) == WL_CONNECTED) {
...
}
}
Приклад точки доступу
#include <ESP8266WiFi.h>
IPAddress local_IP(192,168,4,22);
IPAddress gateway(192,168,4,9);
IPAddress subnet(255,255,255,0);
void setup()
{
Serial.begin(115200);
Serial.print("Setting soft-AP configuration ... ");
WiFi.softAPConfig(local_IP, gateway, subnet);
Serial.print("Setting soft-AP ... ");
WiFi.softAP("ESPsoftAP");
Serial.print("Soft-AP IP address = ");
Serial.println(WiFi.softAPIP());
}
void loop() {}
Модуль ESP32 може працювати як окремий та в парі, наприклад з Arduino.
Arduino UNO WiFi R3 керування світлодіодом та реле через Wi-Fi
ESP8266 багатофункціональний модуль, зокрема по причині модулів в різній комплектації. Це позбавляє користувача поглиблених знань електротехнічних подробиць, та дозволяє створювати пристрої для розумного будинку.