【硬件交互赛道】童语守护——基于ESP32-S3与字节生态低龄儿童语音定位守护硬件挂件

【标题】【硬件交互赛道】童语守护——基于ESP32-S3与字节生态低龄儿童语音定位守护硬件挂件

【标签】硬件交互 社会公益

【正文】

1. 创意名称 + 创意介绍

创意名称:童语守护——基于ESP32-S3与字节生态低龄儿童语音定位守护硬件挂件

  • 想解决什么问题:3-8岁低龄儿童户外走失后语言表达能力薄弱,无法精准描述地理位置,传统定位设备操作复杂、适配儿童性差,家长寻人耗时久、儿童安全风险极高。

  • 为什么会想到做这个:结合商超、景区、公园高频儿童走失社会现象,结合本次Trae大赛IDE嵌入式开发能力考核要求,依托字节火山IoT生态,打造零基础儿童可操作的轻量化守护硬件,践行公益守护理念。

  • 大概是什么产品:一款基于ESP32-S3主控开发、依托Trae IDE全流程开发调试、支持离线语音唤醒+GPS/北斗双模定位+WiFi物联网上报、联动阿里云IoT平台+家长Web端高德地图实时追踪的可穿戴儿童轻量化守护硬件挂件。

2. 目标用户及痛点

  • 面向哪些用户:核心用户为3-8岁学龄前低龄儿童、外出陪护儿童的家长;延伸用户为景区、商超物业安保寻人工作人员。

  • 在什么场景下使用:景区游玩、商超逛街、公园户外活动、人流量密集公共场所、校外集体出行等脱离家长视线的户外公共场景。

  • 当前痛点

  • ①市面智能手表操作复杂,低龄孩子不会打字、不会拨号,遇险无法自主求助;

  • ②纯GPS定位仅提供经纬度,家长无法直观判断现场环境,平均寻回时长超47分钟;

  • ③多数定位设备依赖WiFi,户外无网络环境直接失效;

  • ④市面产品无法对接字节生态,数据传输不稳定、查看端口繁琐;

  • ⑤传统硬件开发门槛高,代码调试、硬件联调难度大。

3. 价值与意义

  • 社会公益价值:降低低龄儿童走失遇险安全隐患,简化儿童求助门槛,仅需一句口语化指令即可发送定位+语音求助,压缩儿童走失寻回时长,助力公共场所儿童安全防护,适配社区、校园公益防护推广,践行未成年人安全守护公益理念。

  • 技术实践价值(大赛核心加分):全程依托Trae IDE/Trae Solo完成嵌入式开发,AI生成ESP32-S3底层代码、库文件适配、硬件联调、代码排错、编译烧录全流程;自研三层产品架构,打通ESP32硬件生态+ATGM336H GPS/北斗定位+SU-03T离线语音模块,通过MQTT协议对接阿里云IoT平台,Web端高德地图实时追踪,完整展示Trae嵌入式硬件开发能力,降低嵌入式硬件开发门槛。

4. Trae Agent 应用编号

本项目全程使用 Trae IDE (CN版) Agent 模式开发,以下为关键开发节点的 Agent 应用编号:

开发阶段 Trae Agent 应用编号 日期
GPS模块调试 .2007025019784108:b0b873e38f3496885f7c026023ca408d_6a44d42cbe8726a632bbe4d3.6a49d697cd8302f7978069c7.6a49d696ac2c6946052f73fb:Trae CN.T(2026/7/5 11:59:19) 2026/7/5
阿里IoT与Web页面方案规划 .2007025019784108:c581807de8e92e1136b7922451d53b90_6a44d42cbe8726a632bbe4d3.6a4c545c7d547cfd6d4deac4.6a4c545be59af8d8ac52fa95:Trae CN.T(2026/7/7 09:20:28) 2026/7/7
高德地图Key与阿里云RAM对接 .2007025019784108:c6776772d5c03d12cbc221205cefdccd_6a44d42cbe8726a632bbe4d3.6a4c5e967d547cfd6d4debd2.6a4c5e95e59af8d8ac52fa98:Trae CN.T(2026/7/7 10:04:06) 2026/7/7
SU-03T语音模块UART联调 .2007025019784108:819ac67d10110af87edaf8201266a621_6a44d42cbe8726a632bbe4d3.6a4e63330e83d3385a898661.6a4e633370ae052bccf64965:Trae CN.T(2026/7/8 22:48:19) 2026/7/8
语音命令识别验证 .2007025019784108:50ef6a6ae59971720795e4d7d4324e9e_6a44d42cbe8726a632bbe4d3.6a4e6a750e83d3385a898727.6a4e6a7470ae052bccf6496d:Trae CN.T(2026/7/8 23:19:17) 2026/7/8
SOS告警+OLED显示+代码优化 .2007025019784108:53c4b58ffb48f67e9fd34ce72bb2c7d1_6a44d42cbe8726a632bbe4d3.6a4f2313e8096e93991cd05e.6a4f23139b8507a225fcc629:Trae CN.T(2026/7/9 12:26:59) 2026/7/9

5. TRAE Work创意产物说明

5.1 开发理念:先规划后实施(GLM-5.2 规划 + 普通模型实施)

本项目采用 “先用 Trae GLM-5.2 大模型做顶层设计和方案规划,再用普通模型逐步实施” 的开发理念,这是 Trae IDE Agent 模式的核心优势体现:

第一阶段:GLM-5.2 顶层规划

使用 Trae IDE Agent 模式(GLM-5.2 模型),对每个功能模块进行完整的架构设计和实施方案规划,生成结构化的方案文档:

规划文档 模型 内容
阿里IoT与Web页面实施方案 GLM-5.2 MQTT对接架构、物模型定义、Node.js代理方案、高德地图集成方案、分阶段实施步骤
SU-03T语音模块集成计划 GLM-5.2 固件配置、烧录流程、UART帧解析架构、FreeRTOS任务设计、引脚分配方案
项目完整计划(更新版) GLM-5.2 三层架构设计、硬件连接方案、代码架构、风险评估、实施顺序

规划文档示例(阿里IoT与Web页面实施方案架构图,由GLM-5.2生成):

ESP32-S3 ──MQTT(1883)──> 阿里云 IoT 平台(物模型)
                                ▲
                                │ OpenAPI (RAM子账号 AccessKey + HMAC-SHA1签名)
                         阿里云函数计算 FC (Serverless Node.js)
                                ▲
                                │ HTTP fetch (CORS)
                       又拍云 CDN (Web静态页面 + 高德地图 JS API)

第二阶段:普通模型逐步实施

在 GLM-5.2 生成的方案文档指导下,使用普通模型按步骤实施:

  1. 按方案文档中的代码片段修改 ESP32-S3 固件
  2. 按方案文档中的配置步骤对接阿里云IoT
  3. 按方案文档中的接口设计开发Web页面
  4. 遇到问题时,回到 GLM-5.2 方案文档查找解决方案

这种开发模式的优势

  • GLM-5.2 擅长系统性思考和架构设计,生成的方案文档质量高、逻辑完整
  • 普通模型擅长代码生成和细节实现,执行效率高
  • 方案文档作为"蓝图",确保实施过程不偏离整体架构
  • 遇到问题时可以回溯方案文档,快速定位解决方案

GLM-5.2 规划输出示例(阿里IoT与Web页面实施方案,由 Trae IDE Agent GLM-5.2 模型生成):

# 阿里云 IoT MQTT 对接 + Web 高德地图 实施方案

## Context
「童语守护」儿童安全挂坠项目(ESP32-S3)需完成比赛方案中的「平台传输层」和「终端应用层」:
- ESP32-S3 已实现 GPS 定位、OLED 显示、WiFi 双网络,但数据只在本地,未上云
- 4G 模块因 1.8V/3.3V 电平不匹配暂不可用,用 WiFi 代替上传
- 比赛需要 Web 页面(高德地图实时跟踪 + 轨迹绘制)作为初赛展示作品

## 架构
ESP32-S3 ──MQTT(1883)──> 阿里云 IoT 平台(物模型)
                                ▲
                                │ OpenAPI (RAM子账号 AccessKey + 官方SDK自动签名)
                         Node.js 代理(本地 localhost:3000)
                                ▲
                                │ HTTP fetch (CORS)
                       Web 单文件 HTML (高德地图 JS API)

## 实施步骤
### 阶段一:阿里云平台配置(约 30 分钟)
  1.1 核对接入域名
  1.2 定义物模型属性(identifier 必须与 ESP32 上报 JSON 的 key 完全一致)
  1.3 创建 RAM 子账号(给 Node 代理用)
  1.4 申请高德地图 Web 端 Key
  1.5 用网页工具验签三元组(排除三元组错误)

### 阶段二:ESP32-S3 端实现
  2.1 修改 CMakeLists.txt 追加 mqtt 和 mbedtls 依赖
  2.2 修改 main.c:HMAC-SHA1签名、MQTT连接、属性上报、SOS触发
  2.3 编译烧录验证

### 阶段三:Node.js 代理
  3.1 新建 server.js(阿里云 OpenAPI 签名调用)
  3.2 验证 localhost:3000/status 返回 JSON

### 阶段四:Web 单文件 HTML
  高德地图标记 + 轨迹折线 + SOS告警 + setInterval 每5秒刷新

方案文档文件路径

  • D:\esp32-projects\oled-test\.trae\documents\阿里IoT与Web页面实施方案.md
  • D:\esp32-projects\oled-test\.trae\documents\SU-03T语音模块集成计划.md
  • D:\esp32-projects\oled-test\.trae\documents\项目完整计划(更新版).md

5.2 Trae Agent 开发核心流程

本次全程使用Trae IDE Agent模式,AI辅助完成嵌入式开发全流程:

  1. GLM-5.2 规划阶段:AI生成完整实施方案(架构设计、接口定义、分步实施计划)
  2. 代码生成阶段:AI生成ESP32-S3底层代码(GPS解析、WiFi连接、MQTT上报、OLED显示、UART帧解析)
  3. 框架适配阶段:AI适配ESP-IDF v5.5.4框架(driver/uart、mqtt_client、mbedtls等组件)
  4. 硬件联调阶段:AI辅助排错(UART波特率调试、GPIO上拉防噪声、引脚冲突解决)
  5. 云端对接阶段:AI对接阿里云IoT物模型(HMAC-SHA1签名、MQTT属性上报)
  6. 终端开发阶段:AI生成Web终端应用(高德地图JS API + Node.js代理 + SOS告警弹窗)
  7. 全程无第三方工具,纯Trae体系完成开发

6. 项目三层架构

6.1 感知硬件层

主控ESP32-S3芯片(双核Xtensa LX7, 240MHz, 512KB SRAM),搭载以下模块:

模块 型号 接口 功能
主控 ESP32-S3 - 双核240MHz,WiFi+BLE 5.0
GPS定位 ATGM336H UART2 (GPIO17/18, 9600baud) GPS/北斗双模定位,户外精度2-5米
离线语音 SU-03T UART1 (GPIO42, 115200baud) 离线语音识别,5条命令词,唤醒词"你好小美"
显示屏 SSD1306 I2C (GPIO8/9) 128x64 OLED,实时显示GPS/WiFi/语音状态
4G通信 EC801E UART1 (GPIO11/12, 暂未启用) 移远通信4G模组,等待电平转换模块
调试串口 UART0 GPIO43/44 (115200baud) 板载USB调试

硬件实物照片

OLED显示界面照片

6.2 平台传输层

  • 开发环境:Trae IDE (CN版) + ESP-IDF v5.5.4框架
  • 物联网平台:阿里云IoT(华东2上海区域)
  • 通信协议:MQTT 1883端口,HMAC-SHA1签名认证
  • 数据上报周期:每5秒一次(GPS经纬度+卫星数+信号强度+在线状态+SOS告警)
  • 后端代理:阿里云函数计算 FC(Serverless),原生https+crypto零依赖实现阿里云OpenAPI签名调用
  • 前端托管:又拍云云存储(CDN加速),公网访问地址:http://tongyushouhu-trae.test.upcdn.net/

6.3 终端应用层

Web页面(高德地图实时追踪)

  • 高德地图JS API 2.0,实时显示设备位置标记
  • 历史轨迹绘制(橙色折线,最多200个轨迹点)
  • 设备状态面板(在线/离线、卫星数、SNR信号强度)
  • SOS告警系统:全屏红色闪烁遮罩 + 居中告警弹窗 + 地图红色脉冲圆圈
  • 自动刷新(每5秒fetch设备最新状态)
  • 响应式布局(PC/手机自适应)
  • 部署架构:又拍云静态托管 + 阿里云函数计算数据代理 + 阿里云IoT数据存储

Web页面截图
Web页面截图

image|690x381

7. 硬件物料清单

序号 模块 型号 数量 用途
1 主控板 ESP32-S3 DevKitC-1 1 主控制器
2 GPS模块 ATGM336H 1 GPS/北斗双模定位
3 GPS天线 陶瓷有源天线 1 GPS信号接收
4 语音模块 SU-03T 1 离线语音识别
5 麦克风 驻极体麦克风 1 语音采集(SU-03T配套)
6 扬声器 8Ω 2W小喇叭 1 语音回应播放
7 OLED显示屏 SSD1306 0.96寸 1 状态显示
8 杜邦线 公对母 若干 模块连接
9 挂绳/外壳 - 1 佩戴(可3D打印)

硬件模块组成与语音命令词配置|697

6.2 平台传输层

8. 开发调试过程

8.1 GPS模块调试

测试内容:ATGM336H GPS/北斗双模定位模块 UART通信测试

测试结果

观察项 状态
UART通信(TX→GPIO17, RX→GPIO18) 正常,ESP32持续收到NMEA语句
天线状态 $GPTXT,01,01,01,ANTENNA OK — 天线正常
NMEA数据输出 持续收到 $GNGGA, $GNGLL, $GNGSA, $GPGSV, $GNRMC 等语句
室内卫星接收 0颗(室内正常现象)
室内定位状态 无效($GNRMC,,V...),室内无信号

串口日志证据

I (1599) gps-oled: GPS RAW: $GNGGA,,,,,,0,00,25.5,,,,,,*64
I (1599) gps-oled: GPS RAW: $GNGLL,,,,,,V,M*79
I (1599) gps-oled: GPS RAW: $GNGSA,A,1,,,,,,,,,,,,,25.5,25.5,25.5,1*01
I (1719) gps-oled: GPS SNR: 0, Visible: 0
I (1719) gps-oled: BDS SNR: 0, Visible: 0
I (1779) gps-oled: GPS RAW: $GPTXT,01,01,01,ANTENNA OK*35

8.2 SU-03T语音模块调试

调试历程

  1. 第一次尝试:GPIO输出模式 — 配置A25/A26/A27/B2/B3为GPIO输出,万用表测试无电压变化。原因:智能公元平台固件中GPIO配置未被编译进固件。
  2. 第二次尝试:UART串口输出模式 — 切换到UART1_TX输出模式,固件版本v4。串口工具测试成功收到 AA 55 01 55 AA 帧。
  3. ESP32对接问题排查
    • 波特率确认:9600收到乱码 FE,115200正确收到帧数据
    • TX引脚冲突:uart_set_pin() 中TX引脚设为GPIO11干扰UART1,改为 UART_PIN_NO_CHANGE
    • GPIO悬空噪声:GPIO42未配置内部上拉,SU-03T扬声器发声时产生电磁干扰,收到随机乱码
    • 接线问题:B7→GPIO42杜邦线接触不良,重新插拔后解决

SU-03T命令词配置

序号 命令词 说的词 UART帧 OLED显示
1 helpme 救命 AA 55 01 55 AA !! SOS !!
2 mama 找妈妈 AA 55 02 55 AA V:Mama
3 papa 找爸爸 AA 55 03 55 AA V:Papa
4 home 回家 AA 55 04 55 AA V:Home
5 call 打电话给妈妈 AA 55 05 55 AA V:Call

唤醒词:「你好小美」

串口日志证据(语音命令识别成功)

I (209504) gps-oled: [Voice] RX: 0xAA 0x55 0x01 0x55 0xAA
W (209514) gps-oled: [Voice] 救命! SOS 已触发 (UART 帧解析)
W (209514) gps-oled: [MQTT] SOS 求助已上报

I (239754) gps-oled: [Voice] RX: 0xAA 0x55 0x02 0x55 0xAA
I (239764) gps-oled: [Voice] 找妈妈 (UART 帧解析)

I (248244) gps-oled: [Voice] RX: 0xAA 0x55 0x03 0x55 0xAA
I (248254) gps-oled: [Voice] 找爸爸 (UART 帧解析)

8.3 阿里云IoT MQTT对接

设备三元组

  • ProductKey: a1oRwzdejAR
  • DeviceName: GPS-DINGWEI
  • MQTT Broker: a1oRwzdejAR.iot-as-mqtt.cn-shanghai.aliyuncs.com:1883
  • 认证方式:HMAC-SHA1签名(clientId + deviceToken拼接)

物模型属性(标识符大小写敏感):

标识符 数据类型 说明
latitude double 纬度
longitude double 经度
Satellites int32 卫星数
GpsSnr int32 GPS信号强度
online bool 在线状态
helpAlarm bool 求助告警(SOS触发)

串口日志证据(MQTT连接成功)

I (9744) gps-oled: [MQTT] 客户端已启动
I (9894) gps-oled: [MQTT] 已连接阿里云 IoT

串口日志证据(WiFi连接成功)

I (50055) gps-oled: [WiFi] 在线 | SSID:HUAWEI-91BJ2O-YY | IP:192.168.3.235

阿里云IoT平台设备数据截图

阿里云IoT平台设备运行状态截图

8.4 Web终端应用开发

技术栈

  • 前端:原生HTML/CSS/JS + 高德地图JS API 2.0
  • 后端:Node.js + 阿里云OpenAPI签名调用(零外部依赖,内置https+crypto)
  • 高德Key:6853d956d638648d83bc52fefb48410a
  • 前端托管:又拍云云存储(CDN加速,静态页面托管)
  • 后端部署:阿里云函数计算 FC(Serverless,按需计费)

功能清单

  1. 高德地图实时定位标记(红色标记点,自动居中)
  2. 历史轨迹绘制(橙色折线,最多200点)
  3. 设备状态面板(在线/离线、卫星数、SNR进度条)
  4. SOS告警系统(全屏红色闪烁遮罩 + 居中弹窗 + 地图红色脉冲圆圈)
  5. 自动刷新(每5秒)
  6. 响应式布局(PC/手机自适应)

公网访问地址

  • Web页面(又拍云):http://tongyushouhu-trae.test.upcdn.net/
  • 数据API(阿里云函数计算):https://tongyu-an-proxy-zyejayxixy.cn-shanghai.fcapp.run

8.4.1 阿里云函数计算部署过程

架构选型

  • 前端静态页面托管在又拍云(CDN加速,访问速度快)
  • 后端数据代理部署在阿里云函数计算(与IoT平台同一账号,内网调用延迟低)
  • 前后端分离,通过 CORS 跨域调用

踩坑记录(Trae AI 辅助排错)

问题 原因 解决方案
事件函数 + HTTP Handler 报 resp.setStatusCode is not a function FC 3.0 事件函数的 HTTP 触发器使用 event/callback 格式,不是 req/resp 格式 改为标准事件函数格式:module.exports.handler = function(event, context, callback)
Web 函数自定义运行时报 node: command not found 自定义运行时镜像未预装 Node.js 改用内置 Node.js 16 运行时的事件函数
Cannot find module '@alicloud/iot20180120' zip 上传时 node_modules 丢失,且 FC 不自动安装依赖 改用内置 https + crypto 模块手写 HMAC-SHA1 签名,零外部依赖
所有路径都返回 health 内容 FC 3.0 HTTP 触发器的路径在 rawPath 字段,不是 event.path,且 event 是字符串需先 JSON.parse 增加 parseEvent() 函数兼容 FC 3.0 event 格式

FC 3.0 HTTP 触发器 event 结构

{
  "version": "v1",
  "rawPath": "/status",
  "queryParameters": {},
  "requestContext": {
    "http": {
      "method": "GET",
      "path": "/status"
    }
  }
}

最终方案

  • 函数类型:事件函数(Node.js 16 内置运行时)
  • 触发器:HTTP 触发器(匿名访问)
  • 代码:纯原生 Node.js(https + crypto,零依赖)
  • 实例配置:0.35 vCPU + 0.5 GB 内存
  • 冷启动时间:~1秒

接口验证日志

GET /health → 200 {"status":"ok","service":"tongyu-guardian-proxy"}
GET /status → 200 成功返回设备属性(经度/纬度/卫星数/SNR/告警状态)
GET /track  → 200 成功返回历史轨迹数据

8.4.2 又拍云静态页面托管

部署方式

  • 又拍云云存储 → 文件管理 → 上传 index.html
  • 默认首页:index.html
  • CDN 加速:又拍云自带全球 CDN 节点

页面验证

HTTP 200 OK
Content-Type: text/html
Content-Length: 13895 bytes

又拍云控制台截图

又拍云云存储文件管理截图

Web 页面高德地图实时定位截图

Web页面高德地图实时定位截图

8.5 完整数据链路验证

SU-03T 语音识别("你好小美" → "救命")
  ↓ UART1, B7→GPIO42, 115200baud, 帧: AA 55 01 55 AA
ESP32-S3 帧解析状态机
  ↓ 识别 msgno=0x01, 触发 voice_helpme_trigger=1
MQTT 上报阿里云 IoT
  ↓ topic: /sys/a1oRwzdejAR/GPS-DINGWEI/thing/event/property/post
  ↓ params: { helpAlarm: true, latitude: 40.792817, longitude: 111.686173 }
Web 页面实时告警
  ↓ fetch /status → 解析 helpAlarm=true
  → 全屏红色闪烁 + "!! SOS 求助 !!" 弹窗 + 地图红色圆圈

完整数据链路与物模型属性|689

9. 项目进度总览

模块 状态 说明
ESP32-S3 主控 :white_check_mark: 已完成 ESP-IDF v5.5.4 编译烧录运行稳定
OLED 显示 :white_check_mark: 已完成 GPS + WiFi + MQTT + 语音状态全显示
GPS 定位 :white_check_mark: 已完成 ATGM336H,GPS/北斗双模,UART2
WiFi 网络 :white_check_mark: 已完成 双网络自动切换(家里路由器+手机热点)
语音模块 :white_check_mark: 已完成 SU-03T UART模式,5条命令全部识别通过
阿里云 IoT :white_check_mark: 已完成 MQTT HMAC-SHA1签名,6属性上报
Node.js 代理 :white_check_mark: 已完成 阿里云函数计算 FC,零依赖原生实现
Web 页面 :white_check_mark: 已完成 高德地图+轨迹+SOS告警弹窗,又拍云CDN托管
又拍云部署 :white_check_mark: 已完成 http://tongyushouhu-trae.test.upcdn.net/
阿里云函数计算 :white_check_mark: 已完成 https://tongyu-an-proxy-zyejayxixy.cn-shanghai.fcapp.run
4G 通信 :pause_button: 待恢复 EC801E电平不匹配(1.8V vs 3.3V),等TXS0108E到货

10. Trae IDE开发截图

Trae IDE 编辑器截图

Trae IDE主界面-ESP32-S3 main.c代码编辑与串口调试

Trae Agent 对话截图

Trae Agent对话截图-AI辅助开发又拍云部署与测试验证

编译烧录成功日志

Activating ESP-IDF 5.5
Executing action: all (aliases: build)
Running ninja in directory D:\esp32-projects\oled-test\build
Executing "ninja all"...
[4/9] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/main.c.obj
[5/9] Linking C static library esp-idf\main\libmain.a
[7/9] Linking CXX executable oled-test.elf
[8/9] Generating binary image from built executable
Successfully created esp32s3 image.
Generated D:/esp32-projects/oled-test/build/oled-test.bin
oled-test.bin binary size 0xe51a0 bytes. Smallest app partition is 0x100000 bytes. 0x1ae60 bytes (11%) free.

Executing action: flash
Serial port COM4
Connecting....
Chip is ESP32-S3 (QFN56) (revision v0.2)
Features: WiFi, BLE, Embedded PSRAM 8MB (AP_3v3)
MAC: 58:e6:c5:71:b8:2c
Writing at 0x00010000... (100 %)
Wrote 938400 bytes (583327 compressed) at 0x00010000 in 13.0 seconds (effective 578.9 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...
Done

11. 适用场景与公益意义

  • 景区安全守护:儿童佩戴挂件,走失时说"救命"即可发送精确位置
  • 校园集体出行:老师通过Web页面实时追踪所有学生位置
  • 社区公益推广:低成本硬件方案,适配社区儿童安全防护
  • 应急救援:SOS一键求助,压缩寻回时长

12. 已完成亮点总结

12.1 嵌入式固件层(main.c,共 1533 行 C 代码)

亮点 技术细节
多任务架构 6 个 FreeRTOS 任务并行:gps_task / oled_task / lte_task / mqtt_task / wifi_task / voice_task
GPS 双模解析 ATGM336H GPS/北斗双模,完整解析 GGA/RMC/GSV/BDS,支持卫星数与 SNR 实时统计
NVS 持久化 GPS 定位数据、状态日志(最大卫星数/定位次数)跨重启保存
GPS 工具命令 支持冷启动/热启动/温启动、模块信息查询、版本查询
离线语音识别 SU-03T UART 帧解析状态机,5 条命令词,3 秒超时清除
SOS 实时触发 语音"救命"→ UART 帧 → MQTT 上报 → Web 弹窗,端到端 < 2 秒
WiFi 双网切换 家里路由器 + 手机热点自动 fallback,断线自动重连
MQTT 签名认证 HMAC-SHA1 原生实现,零依赖对接阿里云 IoT 物模型
OLED 自绘 UI 5x7 字库 + 像素级绘制,GPS/WiFi/MQTT/语音状态全展示

12.2 云端平台层

亮点 技术细节
阿里云 IoT 物模型 6 个属性上报(经纬度/卫星数/SNR/在线/SOS告警),5 秒周期
函数计算 FC 阿里云 Serverless 部署,零外部依赖(原生 https + crypto)
OpenAPI 签名 HMAC-SHA1 手写实现,RAM 子账号最小权限
冷启动优化 实例规格 0.35 vCPU + 0.5 GB,冷启动 ~1 秒

12.3 终端应用层

亮点 技术细节
高德地图集成 JS API 2.0,实时标记 + 历史轨迹折线(最多 200 点)
SOS 告警系统 全屏红色闪烁遮罩 + 居中弹窗 + 地图红色脉冲圆圈
又拍云 CDN 托管 静态页面全球加速,HTTP 200 响应 < 100ms
响应式布局 PC/手机自适应,max-width: 1400px
自动刷新 setInterval 每 5 秒 fetch 设备最新状态

12.4 Trae AI 开发模式创新

亮点 技术细节
GLM-5.2 顶层规划 先用大模型生成方案文档(架构/接口/分步计划),作为开发蓝图
普通模型逐步实施 按方案文档代码片段逐步实现,效率高、不偏离架构
全程 Trae 体系 6 个 Agent 应用编号可追溯,从规划到部署零第三方工具
AI 辅助排错 UART 波特率调试、GPIO 上拉、FC 部署踩坑全由 AI 协助定位

13. 未来计划实施功能

13.1 短期计划(1-2 周,决赛前完成)

功能 优先级 技术方案
4G 通信恢复 P0 TXS0108E 电平转换模块到货后,恢复 EC801E UART1 通信,支持户外无 WiFi 场景
硬件外壳 3D 打印 P0 设计挂件外壳(含 GPS 天线开窗、麦克风开孔、挂绳孔),SLA 打印
电池供电方案 P0 锂电池 + TP4056 充电管理,支持 8 小时以上续航
电子围栏 P1 Web 端画圆形/多边形安全区域,设备越界自动触发告警
历史轨迹回放 P1 Web 端按日期/时间段查询轨迹,支持快进/暂停动画

13.2 中期计划(1-2 个月)

功能 优先级 技术方案
多设备管理 P1 一个家长账号绑定多个挂件,Web 端列表切换
电池电量监测 P2 ADC 采集电池电压,MQTT 上报,Web 端低电量提醒
低功耗模式 P2 WiFi/MQTT 间歇唤醒(如 30 秒一报),延长续航
OTA 远程升级 P2 ESP32 HTTPS OTA,Web 端推送固件更新
语音播报反馈 P2 SU-03T TTS 回应"已发送求助",提升儿童交互体验

13.3 长期规划(3-6 个月)

功能 优先级 技术方案
微信小程序客户端 P2 替代 Web 页面,家长手机原生体验,支持消息推送
BLE 蓝牙配网 P2 替代硬编码 WiFi,小程序蓝牙一键配网
运动状态检测 P3 MPU6050 六轴传感器,识别儿童静止/行走/奔跑,异常状态告警
室内定位补充 P3 WiFi RSSI 指纹定位,弥补 GPS 室内无信号短板
AI 语音语义理解 P3 接入豆包大模型,识别更多自然语言求助(“我找不到妈妈了”)
公益批量部署 P3 与社区/学校/景区合作,批量投放低成本挂件,构建儿童安全守护网络

未来规划路线图|697

14. 演示视频

14.1 童语守护 - Trae大赛正式参赛(硬件交互赛道)完整版

童语守护完整版|116

:link: 点击观看完整版视频

14.2 童语守护 - ESP32端测试

ESP32端测试

:link: 点击观看ESP32端测试视频

14.3 童语守护 - PC Web端测试

PC Web端测试

:link: 点击观看PC Web端测试视频

14.4 童语守护 - 手机端测试

手机端测试视频正在B站审核中,审核通过后将更新链接(详细展示见14.1 童语守护 - Trae大赛正式参赛(硬件交互赛道)完整版)。


(注:本方案由 Trae IDE Agent 模式全程辅助完成,代码、调试、联调均依托 Trae 体系)

1 个赞

这个项目好!

我来给点建议,也许能帮到你:
1.ESP32有一款圆形的板子,有触摸屏的配置,还配有漂亮的外壳,天然就适合做成手表或者小挂件(不买官方的外壳也可以去3D打印,有很多现成的模型),触摸屏可以显示一些可爱的图案,小朋友会很喜欢的。

  1. 小智平台也许可以直接拿来使用,可以省下不少事。小智硬件固件是开源的,可以在那个基础上开发MCP,让AI调用MCP来对接你的后台各种API

带着自家项目来给你投一票(话说投票有啥用,影响后续的比赛流程吗? 【学习工作赛道】不摸鱼会死人,只是当局者都不知道而已——摸鱼修仙传 - TRAE AI 创造力大赛 / 【大赛初赛专区】 - TRAE 官方中文社区

您的建议很好,我去研究一下。