Основы WiFi - подключение ESP32 к интернету
До этого момента ваш ESP32 мигал светодиодами и считывал показания датчиков, но жил на маленьком острове - он мог общаться только с тем, что было напрямую к нему подключено. В этом уроке мы дадим ему суперспособность, которая встроена почти ни в одну другую плату для начинающих: WiFi. К концу урока вы подключите свой ESP32 к домашней сети и получите настоящие живые данные из интернета - и всё это в несколько строк кода.
Чему вы научитесь
- Почему встроенный WiFi делает ESP32 особенным по сравнению с другими платами для начинающих.
- Два способа, которыми ESP32 может использовать WiFi: режим станции и режим точки доступа.
- Как найти ближайшие сети WiFi с помощью
WiFi.scanNetworks(). - Как подключиться с помощью
WiFi.begin(ssid, password), дождаться установления соединения и вывести свой IP-адрес. - Что на самом деле такое IP-адрес и локальная сеть, простыми словами.
- Как автоматически переподключаться при обрыве WiFi.
- Как отправить свой первый настоящий интернет-запрос (HTTP GET) с помощью
HTTPClientи прочитать ответ. - Основы безопасности и самые частые проблемы новичков - и как именно их исправить.
Главная идея: почему WiFi делает ESP32 особенным
У большинства плат-микроконтроллеров для начинающих, например у классической Arduino Uno, нет собственного способа выхода в интернет. Чтобы вывести Arduino Uno в сеть, нужно купить дополнительный "шилд" или модуль, подключить его проводами и установить дополнительные библиотеки. Это дорого и хлопотно.
ESP32 устроен иначе. Радиомодуль для WiFi встроен прямо в чип. Это значит, что в тот же миг, когда вы подаёте питание на ESP32, он уже может подключиться к сети WiFi и достучаться до любого сервера на планете - без каких-либо дополнительных деталей. Именно это превращает любительский проект в устройство интернета вещей (IoT): метеостанцию, которая публикует показания на сайт, монитор для растения, который пишет вам, когда почва пересохла, или лампу, которую вы включаете со своего телефона.
Одно важное ограничение, которое стоит запомнить с самого начала: радиомодуль WiFi в ESP32 работает только в диапазоне 2.4 ГГц. Современные домашние роутеры часто транслируют две сети - одну на 2.4 ГГц и одну на 5 ГГц. ESP32 попросту не видит сеть на 5 ГГц и не может к ней подключиться. Мы ещё вернёмся к тому, почему это сбивает с толку так много новичков.