米家 BLE Mesh 支持的功能基础知识

Lear 2024-07-22 13:00:00
Categories: Tags:

米家 BLE Mesh 支持的功能

功能示意

  1. 米家 BLE Mesh 提供了标准且基于 GATT 的直连配网、模组统一 OTA 功能(模组升级功能,SDK 已集成开发者无需开发),同时提供了手机与设备间直连控制接口(标准扩展程序不支持),通过直连控制接口,可实现设备局域网内控制和状态回传;
  2. BLE Mesh 设备可实现消息上下行,同时非低功耗设备默认支持消息中继功能(低功耗功能设备端由 MI_MESH_LOW_POWER_NODE 宏控制)。

米家 BLE Mesh 网络拓扑

网络拓扑

说明:

米家 BLE Mesh 设备实现远程控制需要有 Mesh 网关,在没有网关时也可根据需要开发蓝牙直连功能控制设备。

  1. BLE Mesh 设备通过网关能够上、下行消息,因此也支持小爱语控(查询与控制);
  2. 非低功耗设备间可以中继 Mesh 消息,扩展消息传送距离,但是设备间不能相互控制;
  3. 为了避免 BLE Mesh 设备状态数据未更新时重复上报给服务器,减轻服务器压力,网关设置了 BLE Mesh 设备属性数据上报过滤规则,属性默认规则:interval(间隔)==86400 ,delta(变化量)== 1,interval 和 delta 满足任意条件即可上报:若默认规则不满足产品需求,可通过线上申请修改。

规则申请

设备在离线原理

类型 说明 判断阈值 离线时间
近场设备 设备离网关较近的设备,可直接跟网关通信 > -90db 1.5min
远场设备 设备离网关较远,通过中继方式与网关通信 -90db ~ -120db 42min

通信消息流

Spec 与 Mesh 的转换关系

插件或小爱音箱语控下发的基于 Spec 的命令,经过云端后由米家 BLE Mesh 网关转换成 Mesh 消息发送给设备。设备主动发送的 Mesh 消息也会由米家 BLE Mesh 网关转换成 Spec 命令后发送给云端。

说明:

服务器 - 网关 - BLE Mesh 设备之间的通信,是一个异步的操作!服务器下发的控制指令,网关会立即回复。

消息下行 -get_properties

get_properties 消息流

BLE Mesh 设备刚绑定时,由于网关没有缓存设备的属性值,此时 App 去获取设备属性值时会报错 -4004。因此,建议设备绑定完成后,主动上报属性值或者 App 重复去获取(一般来说,第一次获取失败后,间隔 1-2s 后再次去获取时可以成功)。

消息下行 -set_properties

set_properties 消息流

消息下行 -action

action 消息流

受包长度限制,BLE Mesh 设备的 action 不能带输出 out 参数,最多只能带 1 个输入 in 参数。

消息上行 -properties_changed

properties_changed 消息流

属性上报网关会缓存,满足 interval 或者 delta 之后网关才会上报到云端。

消息上行 -event_occurred

event_occurred 消息流

网关不对事件缓存,收到 BLE Mesh 设备上报事件后会立即上报到云端。

注意事项

功能定义模板