我自己的理解,发送程序运行到Generic_Publish函数中: result = BLEMesh_SetRemotePublication(GENERIC_ONOFF_SERVER_MODEL_ID, srcAddress , GENERIC_ON_OFF_SET_UNACK, generic_Buff, 2, MOBLE_FALSE, MOBLE_FALSE); 数据长度小于等于4时可以发送成功,当发送大于4个字节时就会报错,发送失败! 目前设置都是官方例程默认的。 我要怎么提高发送数据的有效长度? |
不同的模型ID,对应不同的数据格式。 比方说BLEMesh_SetRemotePublication(GENERIC_ONOFF_SERVER_MODEL_ID,x,x,x,x,x) 操作的是 Generic OnOff 模型, 应用字节只有2个字节,加上操作码2个字节,总共为4个字节(这是标准)。 如果需要传输更多的字节,则一定是基于更多字节的模型和状态进行消息控制的。比方说用户自定义模型。 基本概念补充:消息: Mesh网络中的所有通信都是通过发送消息来完成的(消息操作状态)。 •状态: 状态是表示元素状态的值(暴露状态的元素称为server。 例如,最简单的server是 Generic OnOff server,表示开启或关闭)。 •模型:模型定义了节点的基本功能。(•一个节点可能包含多个模型。 模型定义了所需的状态、作用于这些状态的消息以及任何相关行为。