← Все новости
Клиент-сервер на ESP (MicroPython): чистый socket и прикладной HTTP — конспект-справочник

Клиент-сервер на ESP (MicroPython): чистый socket и прикладной HTTP — конспект-справочник

Минимум библиотек — максимум понимания В этой обзорной статье-конспекте мы будем работать с чистым модулем socket — без готовых библиотек вроде Microdot, urequests или MicroWebSrv2. Почему мы отказываемся от готовых решений? Понимание «под капотом». Когда вы знаете, как работает socket, любая сетевая библиотека становится прозрачной. Вы перестаёте быть заложником чужого кода и начинаете понимать, что на самом деле происходит в программе. Экономия памяти. Для ESP8266 (особенно для модулей ESP-01S с 1 МБ Flash) каждый килобайт на счету. Готовая библиотека может весить 10–20 КБ, а чистый socket решает те же задачи с минимальными затратами. Гибкость и независимость. Вы не привязаны к сторонним решениям и можете адаптировать код под любую, даже самую нестандартную задачу. Библиотека есть не всегда, а socket — есть всегда. Этот материал — не просто статья, а личный конспект-справочник, к которому можно возвращаться в своих проектах. Мы пройдём путь от подключения к Wi-Fi до полноценного веб-сервера, работающего в неблокирующем режиме. Сокет — это программный интерфейс для обмена данными между устройствами по сети. Если проводить аналогию, то серверный сокет — это дверь, в которую стучатся клиенты. Клиентский сокет — это человек, который стучится в дверь и ждёт ответа. Сокет работает на уровне транспортного протокола — TCP или UDP. Он умеет: - Устанавливать соединение (connect() для клиента, accept() для сервера).- Отправлять и получать данные (send() и recv()).- Работать в блокирующем или неблокирующем режиме. Читать далее