Skip to content

About

ESP32 weather box system with MQTT, Django, TLS-secured messaging, device provisioning, and full-stack IoT monitoring workflows.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ESP32 Weather Box

基于 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 数据入库闭环已验证

运行顺序

1. MQTT_Server

进入 MQTT_Server:

docker compose up -d
docker compose ps
docker compose logs -f mosquitto

2. Django_Server

进入 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

3. IoT

进入 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 板子接入整套链路
  • 增加前端页面和更细的告警策略

About

ESP32 weather box system with MQTT, Django, TLS-secured messaging, device provisioning, and full-stack IoT monitoring workflows.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages