可靠上报

更新时间:2023-12-12 03:01:35下载pdf

Mesh 可靠上报是 TuyaOS Bluetooth Mesh SDK 提供的高级能力,适用于某些特殊场景来提高通信的可靠性。

Mesh 设备在主动上报时,网关与 App 收到后不会回复确认消息,所以设备无法确认是否上报成功。因此,对于某些重要信息必须有一个可靠的通道,来保证数据上报成功。

API 说明

OPERATE_RET tal_mesh_vendor_dp_report_reliable(UINT8_T dp_id, TAL_DP_TYPE dp_type, UINT8_T *dp_data, UINT8_T dp_data_len, TAL_REPORT_MODE_T trans_mode);
  • dp_id:DP ID

  • dp_type:DP 类型

  • dp_data:DP 数据指针

  • dp_data_len:DP 数据长度

  • trans_mode:重传模式,详细见下文

不同重传模式对应的上报机制如下:

Mode 发送次数 重传间隔 适用场景
MODE_0 1 0 不需要 ACK,直接发送,等同于 tal_mesh_data_send
MODE_1 1 0 不需要 ACK,需要在队列内等待发送
MODE_2 16 3-60s 随机 上报数据对数据到达有一定要求但是时效性不会特别高,例如:车位检测传感产品等
MODE_3 2 1s 时效性较高,例如:无线开关产品等
MODE_4 4 1s 预留,对功耗不是很敏感的 MODE_3 应用产品,允许多发几次来提高成功率
MODE_5 无限 1-3s 随机 时效性极高且必须到达率,适用于安防报警类产品,例如:烟雾报警和防盗等产品

注意事项

  • 手机 App 在收到 Mesh 设备状态时不会同步到云端,所以手机 App 收到可靠上报数据时会接受并处理,但不会回复 ACK 消息。设备只有关联到网关下时进行上报,网关才会回复 ACK 消息。此功能为后期开发,您需自测确认使用的版本是否支持。

  • 此功能谨慎使用,对于普通的 DP 数据不建议使用,否则在大量设备同时上报时,会造成网关处理与发送 ACK 的拥堵。且大量的上报与 ACK 造成网络内拥堵与风暴,造成更严重的丢包。仅有少量且严格需要平台与本地状态同步的功能点才使用此功能,普通的上报采用 OPERATE_RET tal_mesh_data_send(USHORT_T src_addr, USHORT_T dst_addr, UINT_T opcode, UCHAR_T *data, USHORT_T data_len) 接口上报数据。