Собрали простую связку для сбора телеметрии: Arduino Uno + DHT11 читают температуру и влажность, а ESP8266 (в режиме AT) передаёт данные по HTTP POST на локальный FastAPI‑сервер. Цель — изучить Fast API поближе и ESP8266
- Arduino Uno — считывание DHT11.
- DHT11 — датчик температуры и влажности.
- ESP8266 (AT firmware) — модуль Wi‑Fi и отправка данных.
- Рекомендации по питанию: ESP8266 требует стабильного 3.3V источника с достаточным током (минимум 500–700 mA пиков). Для надёжности используйте отдельный регулятор питания и конденсаторы по питанию.
- Используйте SoftwareSerial для связи по UART, или лучше — аппаратный USB‑UART (Serial).
- Кракозябры в логах — обычно из‑за несоответствия UART‑скоростей или ограничений SoftwareSerial на высоких скоростях.
- Используйте 9600 для SoftwareSerial или аппаратный UART; при необходимости установить скорость модуля:
AT+UART=9600
.
- Подключиться к AT‑терминалу (Serial).
- Проверить связь:
AT
- Узнать прошивку:
AT+GMR
- Установить соединение TCP:
AT+CIPSTART="TCP","<FASTAPI_HOST>",<PORT>
- Подготовить отправку:
AT+CIPSEND=<length>
- Отправить HTTP POST с заголовками и телом JSON.
- Проверить ответ на
AT
. - Убедиться, что
AT+GMR
возвращает корректную прошивку. - Проверить подключение к Wi‑Fi (AT команды для Wi‑Fi:
AT+CWJAP?
,AT+CWLAP
). - Проверить TCP‑соединение (
AT+CIPSTART
) и отправку (AT+CIPSEND
). - Если видны кракозябры — снизьте скорость UART до 9600 или используйте аппаратный UART.