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

puleya
Posts: 15
Joined: Tue May 28, 2024 5:56 am

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

Postby puleya » Tue May 28, 2024 6:02 am

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

ESP_TianSW
Posts: 52
Joined: Wed Sep 23, 2020 12:19 pm

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

Postby ESP_TianSW » Wed May 29, 2024 3:45 am

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 626 times
以上通信基于 UDP。

espnow 是另外一种通信方式。

puleya
Posts: 15
Joined: Tue May 28, 2024 5:56 am

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

Postby puleya » Wed May 29, 2024 4:00 am

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

ESP_TianSW
Posts: 52
Joined: Wed Sep 23, 2020 12:19 pm

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

Postby ESP_TianSW » Wed May 29, 2024 6:48 am

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

puleya
Posts: 15
Joined: Tue May 28, 2024 5:56 am

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

Postby puleya » Wed May 29, 2024 8:10 am

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

Who is online

Users browsing this forum: No registered users and 13 guests