传感器

设备复位场景举例

  • 新设备开箱通电,自动进入配网状态;
  • 人工重置设备,例如短按设置键三次,即可让外设进入配网状态;
  • 配网广播时间为10分钟,超过10分钟没有配网,开启静默广播;

config约定

  • 入网流程参考基础规范
  • 入网流程中的Configuration Model App Bind步骤,音箱只会对温湿度传感器主Element中的Generic OnOff Server Model(Model Id为0x1000)进行设置,外设需要将这些设置自动绑定到其他Model;
  • 温湿度传感器需要自行设置发布地址为0xF000;
  • 温湿度传感器不需要支持订阅分组;

必须Model及其作用

Element 属性名称 Model Id 属性type定义 属性value定义
温湿度传感器 (Primary Element) 当前温度 Data Trans Server Model 0x011C0002 0x010D 2字节温度,上报温度计算方式:(摄氏度 + 273.15) * 100,小度会做逆向运算;
当前湿度 0x010F 2字节湿度,取当前湿度整数值转为十六进制上报,小度会做逆向运算;
当前电量 0x0104 1字节电量百分比,取当前电量整数值转为十六进制上报,小度会做逆向运算;
三合一上报 0x0A01 2字节当前温度、2字节当前湿度、1字节电量百分比,小度会分别做逆向运算;

温湿度传感器状态上报举例

  • 温湿度计状态同步规则 (1)配网之后或者断电上电,需要主动同步温度、湿度、电量状态,并发起对时; (2)温度相较于上次上报的温度变化绝对值>=1度,上报当前温度、湿度、电量状态; (3)湿度相较于上次上报的湿度变化绝对值>=2%,上报当前温度、湿度、电量状态; (4)设备电量处于低电量状态,上报当前温度、湿度、电量状态; (5)一分钟之内只能上报一次温度、湿度、电量状态;
  • 状态上报格式以及上报示例数据(小端序)
Opcode tid Attribute Type Attribute Value
F9 1C 01 01 01 0A 77 74 28 00 30
0xF9 0x011C 0x01 0x0A01 0x7477 0x0028 0x30

其中tid作用:用于小度云端去重,10秒内相同上报tid,云端不会重复处理;

  • 温湿度计0xF8或者0xF9的状态上报消息只发送给0xF000地址
  • 状态上报收到0xFA后停止发送,一直没有收到FA消息,发送完预定次数停止发送

TTL

  • 状态上报消息的TTL设置为10

心跳

  • 设备端不需要支持Config Heartbeat Publication Set消息设置心跳参数
  • 针对低功耗设备,小度要求以固定间隔状态上报代替标准心跳
  • 30分钟之内必须上报一次状态,小度云端1小时没有收到状态上报,即判断为离线

iv index更新

  • 被动更新iv index
    • 温湿度传感器属于低功耗品类,需要定期唤醒扫描网络中的secure network beacon,用于更新iv index;
    • 对于低功耗产品,无法一直打开蓝牙mesh的扫描,小度侧建议每48小时唤醒一次,每次进行至少15s及以上的连续扫描;
    • 温湿度传感器重新上电后收到的第一个secure network beacon的iv index等于当前iv index + 1,且iv update flag处于normal状态,要求直接更新,忽略规范里面的时间限制;
    • 由于低功耗设备无法进行计时,要求忽略协议里面规定的入网96小时之后才能进行iv index update和recovery的时间限制;
  • 主动更新iv index
    • sequence number达到0xB0E500的时候开始进行iv index update流程;

其他约定

  • 温湿度计舒适范围对齐,18 =<温度舒适范围 <=26,36 =< 湿度舒适范围 <= 65;
  • 温湿度计只有上报通路,可以关闭扫描降低功耗,但是依然需要支持iv index更新流程;
  • 温湿度计上报,小度侧不会给回复,因此要求温湿度计发包参数建议:adv period/adv interval = 540ms/10ms;