基于 ESP32 + MQTT + Django 的天气盒子项目。
- IoT
- ESP32 固件、硬件方案、配网页面、MQTT 接入
- MQTT_Server
- Mosquitto Broker、TLS、账号密码、ACL、Docker 部署
- Django_Server
- API Server、Admin 后台、权限、安全、审计、MQTT 消费
-
IoT- 固件工程已建立
- MQTT TLS 配置已接入
- 固件编译通过
- LittleFS 页面资源构建通过
-
MQTT_Server- Mosquitto 配置已完成
- TLS 证书已生成
- 用户名密码文件已生成
- Docker 容器已启动并监听
8883
-
Django_Server- Django 工程已建立
- 数据库迁移已执行
- API、Admin、安全、审计和 MQTT 消费已接入
- Django 官方检查已通过
- MQTT 到 Django 数据入库闭环已验证
进入 MQTT_Server:
docker compose up -d
docker compose ps
docker compose logs -f mosquitto进入 Django_Server:
. .venv/bin/activate
cp .env.example .env
python manage.py makemigrations
python manage.py migrate
python manage.py runserver
python manage.py run_mqtt_consumer进入 IoT/Firmware:
/opt/anaconda3/bin/python3 -m platformio run
/opt/anaconda3/bin/python3 -m platformio run -t buildfs之后将固件和 LittleFS 烧录到真实 ESP32,打开设备热点页面,填写:
- WiFi SSID
- WiFi 密码
- MQTT Host
- MQTT Port
- MQTT 用户名
- MQTT 密码
- TLS 开关
- 设备编号
MQTT_Server/config/generated_credentials.txt- 设备端和 Django 端使用的 MQTT 明文账号密码
MQTT_Server/certs/ca.crt- Broker CA 证书
IoT/Firmware/include/AppConfig.h- 已写入当前 CA 证书内容
- 将真实 ESP32 板子接入整套链路
- 增加前端页面和更细的告警策略