这个项目能做什么

这是一个面向 ESP32-S3 + SIM7670G 4G 电子围栏设备的远程监控网页项目。网页托管在 GitHub Pages 上,手机在任意网络(4G/5G/WiFi)下打开即可使用。 主要功能包括:地图显示设备实时位置(每 2 分钟更新);进圈报警状态以红色横幅和状态灯呈现;可在地图上点击绘制围栏多边形并一键下发到设备;支持手动输入坐标下发围栏;可清除围栏;显示卫星数与距围栏距离。 架构上,手机浏览器访问 GitHub Pages 网页,通过 fetch 读取 position.json(由 GitHub Actions 每 2 分钟写入),再经巴法云 TCP(bemfa.com:8344)以 cmd=3 拉取数据,最终通过 4G 到达 ESP32-S3 设备(设备每 30 秒上报一次坐标)。围栏指令下发路径为:网页 → 巴法云 HTTP sendMessage → 设备 TCP 接收 → 更新围栏并保存到 NVS。 部署需要配置 BEMFA_UID(巴法云私钥)和 BEMFA_TOPIC(主题名 geofence001)作为 GitHub Actions Secret,同时网页 index.html 顶部的 BEMFA_UID / TOPIC 常量需与实际一致。维护方面,位置同步由 .github/workflows/sync-position.yml 每 2 分钟自动拉取设备坐标写入 position.json,也可在 Actions 页面手动触发 Sync device position 工作流。