Page 1 of 1

Mesh-Lite如何实现父节点与子节点的单播

Posted: Tue May 28, 2024 6:02 am
by puleya
目前通过查阅资料知道ESP-Mesh-Lite已经实现了子节点向父节点广播消息已经父节点向子节点广播,请问有什么方式可以进行单播通信呢?
还有前面已经实现的功能是基于乐鑫私有通信协议ESP-NOW实现的吗?

Re: Mesh-Lite如何实现父节点与子节点的单播

Posted: Wed May 29, 2024 3:45 am
by ESP_TianSW
https://github.com/espressif/esp-mesh-l ... #L850-L903

send_msg_to_root 和 send_msg_to_parent 都是单播,send_broadcast_msg_to_child 是广播。具体用法可以参考
esp_mesh_lite.c
(11.39 KiB) Downloaded 623 times
以上通信基于 UDP。

espnow 是另外一种通信方式。

Re: Mesh-Lite如何实现父节点与子节点的单播

Posted: Wed May 29, 2024 4:00 am
by puleya
感谢回复!再请问一下,就组网之后其实每个节点的softap下面其实都是一个局域网,有没有什么方法或者说如何实现根节点与第二层某个节点的单播通信,甚至是和更高层次节点的单播通信。我看Mesh-lite这个方面似乎也没有路由表什么的(不同于ESP-MESH方案),基于UDP或者其他都可以。

Re: Mesh-Lite如何实现父节点与子节点的单播

Posted: Wed May 29, 2024 6:48 am
by ESP_TianSW
如果想根节点和某个子节点点对点通信,最简单的办法有两种:
1. 根节点向子节点通过 send_broadcast_msg_to_child 广播,每层进行转发广播,发送数据中包含对应设备的 mac 信息,子节点收到后,根据 mac 过滤,如果是自己的 mac 则通过 send_msg_to_root 做出响应
2. espnow 通信。

Re: Mesh-Lite如何实现父节点与子节点的单播

Posted: Wed May 29, 2024 8:10 am
by puleya
好的,感谢!因为自己想使用组网进行节点内部间的数据传输,但是根据调研发现ESP-NOW的速率似乎不太行,不适合高吞吐量的场景,于是想寻找一下其他方式。