CH582设备主动向手机端发送数据

您好,请教一下:CH582  MESH下,多台设备连接,其中某设备要主动给手机端发一条数据,有一个关键点是“来源地址”,要如何实时获取当下的来源地址;   另外一个问题是从机设备能给从机设备发送数据吗?谢谢

您好,mesh组网中没有主从的概念,“从机”往“从机”发数据使用透传模型也可以。源地址可以在接收回调的结构体中获取,如下图。

emobile_2022-12-20_09-58-58.png


谢谢,设备“从机”之间发送数据要调用哪个函数,也是用这个int vendor_model_srv_send(uint16_t addr, uint8_t *pData, uint16_t len)吗?源地址和*pData的第一字节  需要怎么变换,跟发送到手机端的方式一样吗?



在mesh网络中发消息,也用vendor_model_srv_send这个函数。srv表示透传模型的服务端,非配网器代码中均用vendor_model_srv_send,配网器代码中使用vendor_model_cli_send,使用方法和效果是一致的。

源地址和*pData的第一字节无需变换,例程中只是打印了透传消息负载的第一个字节数据,该字节与下面的addr没有关系,addr是协议栈传传递来的结构体中的。

发送到手机端,是走的BLE主从通信(也包括我司提供的wch mesh手机配网方案),手机不作为一个mesh节点,仅作为传输配网信息的工具,就与mesh网络中发消息不同了,要用peripheralChar4Notify函数发往手机端。


只有登录才能回复,可以选择微信账号登录