协议网关
MQTT broker、UDP 数据报、WebSocket 推送三个独立服务器,可按需单独启动,也可在同一进程内统一编排。
MQTT、UDP、WebSocket、FTP 四个独立服务器,可分开部署也可同进程启动。 纯 Python + asyncio,依赖全部为纯 Python,2 核 2G 小主机即可稳定承载设备接入、遥测上报与固件分发。
不引入消息队列、不引入数据库中间件,把四类设备接入能力收敛进一个 asyncio 进程。
MQTT broker、UDP 数据报、WebSocket 推送三个独立服务器,可按需单独启动,也可在同一进程内统一编排。
设备经 FTP 上传固件后自动归类到 esp / beken,生成 manifest 清单,官网与控制台随即对外提供下载。
全部依赖均为纯 Python,无需编译工具链。2 核 2G 主机上空闲内存约 10MB,适合边缘机房与网关盒子。
Docker Compose 编排 + 部署脚本,本机或远程 SSH 一条命令拉起全部服务,证书由 certbot 自动续期。
默认端口可在 config/config.toml 中调整,或用环境变量 IOT_GATEWAY_<段>__<键> 覆盖。
| 服务 | 传输层 | 默认端口 | 状态 | 用途 |
|---|---|---|---|---|
| MQTT | TCP | 1883 | 运行中 | 设备接入、遥测上报与指令下发 |
| UDP | UDP | 9000 | 运行中 | 低功耗设备高频上报 |
| WebSocket | TCP | 9001 | 运行中 | Web 控制台实时数据推送 |
| FTP | TCP | 9021 | 运行中 | 固件上传(esp / beken 自动归类) |
| HTTP API | HTTP | 8080 | 运行中 | 控制台后端接口 |
推荐 Docker Compose 方式;也可用 systemd 直接跑源码,适合已有 Python 运行时的边缘主机。
复制 config/config.toml 并按需修改端口、FTP 账号与固件目录。
一条 docker compose up -d 拉起 MQTT、UDP、WebSocket、FTP、API 与静态站六个容器。
安全组放行 1883 / 9000 / 9001 / 9021 与 443,certbot 会自动申请并每日续期 Let's Encrypt 证书。
清单由 FTP 上传后自动生成,设备端可轮询 /firmware/manifest.json 判断是否有新版本。
| 设备类型 | 版本 | 大小 | SHA256 | 发布时间 | 下载 |
|---|
共 0 个版本 · 上传文件名约定 <type>_<version>.bin · 文件由设备经 FTP 上传自动发布
无需消息队列、无需编译工具链。把设备接进来,剩下的交给它。