- 传输:HC-05 经典蓝牙 SPP / RFCOMM,9600 8N1;
- 数据方向:固件每约 1 秒尝试发送一行
DATA:;客户端按换行拆帧; - 控制方向:公开客户端只提供
CMD:STOP的尽力而为写入; - 身份与可靠性:没有 pairing 状态校验、bonding、应用层身份认证、授权、端到端加密、MITM 防护、防重放、CRC、确认、重试、顺序保证或可靠送达保证。
已配对设备、蓝牙名称、MAC 地址、SPP 连接和一条 CMD: 文本都不是可信设备身份或执行授权。一次写入没有异常,不表示对端收到、解析、相信、执行或停止;实体设备应以现场断电和本地观察为准。
固件发送以 DATA: 开头、逗号分隔的 key=value 行。当前公开客户端必须收到 demo、sensor_valid、quality、alarm 和 mon 的合规值,否则整行拒绝,不显示旧协议数据。
DATA:hr=72,spo2=98,temp=24.0,humi=50.0,envTemp=23.0,light=10.0,stage=light,aid=off,alarm=0,mon=1,turn=2,df=0,dfn=-1,demo=0,sensor_valid=1,quality=unknown
| 字段 | 当前源码语义 | 不代表 |
|---|---|---|
hr / spo2 |
仅当 demo=0 且 sensor_valid=1 时,App 才显示源自教学光学路径的整数 |
心率/血氧准确性、校准、医疗或健康结论 |
temp |
DS18B20 温度模块读数;nan 会显示为不可用 |
人体体温、医疗结论或准确性 |
humi / envTemp |
DHT11 环境读数;nan 会显示为不可用 |
环境安全、睡眠环境或健康结论 |
light |
BH1750 读数;nan 会显示为不可用 |
光照准确性、舒适度或安全结论 |
stage |
仅非模拟、协议有效的光学输入才可显示的教学规则标签 | 睡眠阶段、睡眠评分、睡眠质量或治疗建议 |
aid / df / dfn |
当前软件状态或 DFPlayer 探测字段;默认公开构建为 off / 0 / -1 |
音频可播放、TF 卡存在、音量合适或助眠效果 |
alarm |
教学阈值提示状态;无效/模拟光学数据不驱动它 | 紧急告警、救援、异常识别或有人处理 |
mon |
本地监测开关的本次上报值 | 设备在线、身份可信、连续运行或安全状态 |
turn |
MPU6050 相邻采样变化的累计教学阈值 | 翻身、体位、睡姿、跌倒、活动或看护识别 |
demo |
1 表示仅在显式实验构建/命令下的模拟路径 |
真实测量或可用于统计的实测数据 |
sensor_valid |
窄的光学协议有效性条件;缺失、模拟、陈旧或零输入时失败关闭 | 质量、准确、校准、医疗、安全或健康结论 |
quality |
当前固定为 unknown |
已进行质量评估或质量合格 |
当 demo=1 或 sensor_valid=0 时,App 不显示光学数值、规则状态、趋势或光学统计。温湿度、光照和运动阈值仍只是展示字段,并不形成安全、健康或睡眠结论。
| 命令 | 公开固件行为 | 边界 |
|---|---|---|
CMD:STOP |
尝试将本地监测标记关闭;当前循环会尝试停止相关音频逻辑 | 不代表可靠送达、设备身份、执行确认或实体设备已停止 |
CMD:START |
忽略,要求本地实体按钮启动 | SPP 文本不是启动授权 |
CMD:AID_OFF / CMD:AID_AUTO / CMD:AID_AUDIO |
忽略,要求本地实体按钮 | 不允许远程改变音频模式 |
CMD:VOL_* / CMD:AID_TEST* / CMD:DF_INFO |
忽略 | 不允许远程音量、测试播放或 DFPlayer 状态查询 |
CMD:DEMO_ON / CMD:DEMO_OFF |
忽略;模拟状态只能由受监督的本地实验控制 | 模拟数据永不作为真实测量或公开统计 |
CMD:ALARM_ACK |
忽略;教学阈值提示只能由本地观察和实体操作处理 | 不是报警确认、救援或安全处置 |
不要把协议、App UI、串口输出或 CI 改写为已认证连接、设备在线、远程控制、报警送达、医疗、健康、睡眠、助眠治疗或安全能力。