MESH组网情况下,数据收发疑问,请帮忙解答,多谢

forever
Posts: 5
Joined: Tue Dec 06, 2016 9:58 am

MESH组网情况下,数据收发疑问,请帮忙解答,多谢

Postby forever » Tue Dec 06, 2016 6:54 pm

Alen,你好:
因公司项目需要,目前正在使用8266做MESH组网开发。考虑到产品实际应用场景,计划采用一个8266作为AP+Server模式(后称为Master节点),其余节点接入到该Master节点,并自组Mesh网络。在Master节点使用mesh库接口完成mesh数据包的封装,使用espconn_send接口进行发送。其余节点自可完成自组网功能,在进行数据收发测试时出现一些问题,主要如下:
1、当root节点下只有一级时,从Master节点发送数据给任意节点时,几乎不出现问题,但是当root下节点达到两级或者三级时,第二级及以下级很难收到数据,并有类似一下打印
pkt-idx:0, cidx:-1, usr:1, txing[0]:1
pkt-idx:1, cidx:-1, usr:1, txing[0]:1
pkt-idx:2, cidx:-1, usr:1, txing[0]:1
pkt-idx:3, cidx:-1, usr:1, txing[0]:1
pkt-idx:4, cidx:-1, usr:1, txing[0]:1
pkt-idx:5, cidx:-1, usr:1, txing[0]:1

2、今天看到如果不使用单独路由器,可以将节点初始化成MESH_SOFTAP模式,今天测试了下,将原来的Master节点初始化成MESH_SOFTAP模式后,其他的节点可以正常连接到Master节点,可以看到mesh网络可以组网(根据各个节点分配的IP地址)。问题来了,我使用espconn_accept接口开启TCP Server的侦听,返回码是-15,也就是已经链接,使用espconn_get_connection_info接口却无法获得对端的连接信息。使用espconn_send函数发送失败,返回值是-12(找不到数据连接),如果使用
espconn_mesh_sent接口发送,返回值是-4(路由问题),发送失败....

请Alen帮忙给出解决思路,盼回..,多谢

mtv
Posts: 16
Joined: Thu Dec 01, 2016 3:16 pm

Re: MESH组网情况下,数据收发疑问,请帮忙解答,多谢

Postby mtv » Wed Dec 07, 2016 11:32 am

你好, 我有再做esp_mesh 组网产品,对esp_mesh 组网架构很多疑惑,而官方文件说明非常简单。

我的理解是, 根节点加入路由,组建mesh 网,然后其他节点加入mesh网,所有下面节点通过根节点到路由然后再出去到外部网络server.
而 外网server发命令先到 路由,然后到 根设备, 最后到目的 的节点设备。

也就是说根节点是mesh网内各个节点和路由之间的一个总网关,所有外网到节点的信息必须通过根节点转发,
所谓mesh只是各个节点自己的网络,对于路由和外网server ,只能看见 根设备, 不知道这样理解是否正确,或者还有其他方式,希望大家给予指点。

另外如果路由挂了, mesh网络是否保持原状? 比如有开关节点和灯节点, 路由掉电的情况下,开关节点还是可以通过mesh去控制灯节点?

forever
Posts: 5
Joined: Tue Dec 06, 2016 9:58 am

Re: MESH组网情况下,数据收发疑问,请帮忙解答,多谢

Postby forever » Wed Dec 07, 2016 11:55 am

mtv wrote:你好, 我有再做esp_mesh 组网产品,对esp_mesh 组网架构很多疑惑,而官方文件说明非常简单。

我的理解是, 根节点加入路由,组建mesh 网,然后其他节点加入mesh网,所有下面节点通过根节点到路由然后再出去到外部网络server.
而 外网server发命令先到 路由,然后到 根设备, 最后到目的 的节点设备。

也就是说根节点是mesh网内各个节点和路由之间的一个总网关,所有外网到节点的信息必须通过根节点转发,
所谓mesh只是各个节点自己的网络,对于路由和外网server ,只能看见 根设备, 不知道这样理解是否正确,或者还有其他方式,希望大家给予指点。

另外如果路由挂了, mesh网络是否保持原状? 比如有开关节点和灯节点, 路由掉电的情况下,开关节点还是可以通过mesh去控制灯节点?



我的理解和你一样,mesh网络对外只有一个连接,也就是root节点和服务器之间的连接,所有的数据包都需要通过root节点进行转发,对外来说,服务器只能看到root这个节点,这个和官方文档说的是一样的。
按照官方文档说法,如果路由器挂了,原来的root节点就会变为local模式,demo也是这样实现的,和服务器的TCP链接也就断开了,自然各个mesh节点就失控了,只能靠内部管理算法实现本地管理,远程管理不可用。
现在的问题是,数据传输不可靠,怎么解决?

mtv
Posts: 16
Joined: Thu Dec 01, 2016 3:16 pm

Re: MESH组网情况下,数据收发疑问,请帮忙解答,多谢

Postby mtv » Wed Dec 07, 2016 1:33 pm

“如果路由器挂了,原来的root节点就会变为local模式,demo也是这样实现的,和服务器的TCP链接也就断开了,自然各个mesh节点就失控了,只能靠内部管理算法实现本地管理,远程管理不可用。”

如果路由挂了,不需要远程管理,只希望mesh保持完整不变可以实现本地管理,如此说来各个mesh节点失控,已经不能保证正常网络通信,如何实现本地管理呢?这个非常重要。

我看见mesh_demo 有个server_ip 设置, 如果这个server通过无线连接 和根节点入网同一个路由,mesh中非根节点通过mesh API 可以和无线server直接通信吗?还是要经过根节点通信?还是 通过根节点,无线路由再连接无线server?

如果server 是外网IP 则必须通过路由才能连接server,而路由通过mesh_api 控制节点, 那么这个server 有什么意义?

而按照我们的理解的mesh 组网方式,官方提供一套从路由到根节点的 API 和 实例, mesh网内各个节点通信的API 和实例,层次分明,简单明了。 这个server ip让人困惑,mesh 组网也让人困惑。


我现在也很彷徨 官方mesh 组网是否完善可靠?感觉官方,文档,实例很少,比如mesh_demo 更新到 11月,而mesh_api 还是2月份的。邮件,论坛咨询,很难有什么回应。担心花了较多时间精力搞到最后达不到使用要求。

forever
Posts: 5
Joined: Tue Dec 06, 2016 9:58 am

Re: MESH组网情况下,数据收发疑问,请帮忙解答,多谢

Postby forever » Wed Dec 07, 2016 2:30 pm

mtv wrote:“如果路由器挂了,原来的root节点就会变为local模式,demo也是这样实现的,和服务器的TCP链接也就断开了,自然各个mesh节点就失控了,只能靠内部管理算法实现本地管理,远程管理不可用。”

如果路由挂了,不需要远程管理,只希望mesh保持完整不变可以实现本地管理,如此说来各个mesh节点失控,已经不能保证正常网络通信,如何实现本地管理呢?这个非常重要。

-- 个人理解,这个需要在本地节点实现最基本的管理算法,不是ESP官方提供,这个需要根据具体的产品需求去实现

我看见mesh_demo 有个server_ip 设置, 如果这个server通过无线连接 和根节点入网同一个路由,mesh中非根节点通过mesh API 可以和无线server直接通信吗?还是要经过根节点通信?还是 通过根节点,无线路由再连接无线server?
所有的非root节点通信都是通过root节点转发,Server和Mesh网络只有一个连接,即和Root节点之间有一个连接。所以,非root节点不能喝Server直接通信,按照官方说法,Server和非root节点间只存在虚链接。

如果server 是外网IP 则必须通过路由才能连接server,而路由通过mesh_api 控制节点, 那么这个server 有什么意义?
而按照我们的理解的mesh 组网方式,官方提供一套从路由到根节点的 API 和 实例, mesh网内各个节点通信的API 和实例,层次分明,简单明了。 这个server ip让人困惑,mesh 组网也让人困惑。
这个Server的意义是指Mesh网络,如Light网络,需要通过mesh外部节点进行控制,例如Server/手机APP等。所以这个Server IP就是设置这个mesh网外部节点,如果不需要的话,我理解应该可以不设置,Mesh节点间通过P2P消息进行通信即可,这点还没有验证,需要官方确认

我现在也很彷徨 官方mesh 组网是否完善可靠?感觉官方,文档,实例很少,比如mesh_demo 更新到 11月,而mesh_api 还是2月份的。邮件,论坛咨询,很难有什么回应。担心花了较多时间精力搞到最后达不到使用要求。
这个也是我最最最最担心的了,对于MESH我是很推荐的,就是担心最后不可商用,大把的时间花费在这个地方,很是担心。官方的资料太少,回复好慢....



mtv
Posts: 16
Joined: Thu Dec 01, 2016 3:16 pm

Re: MESH组网情况下,数据收发疑问,请帮忙解答,多谢

Postby mtv » Wed Dec 07, 2016 3:37 pm

forever 非常感谢你的回复帮助。

其实wifi 物联网设备 如果直接连接wifi路由会 受到挂节点数的严重限制,并不能大规模商用。 而mesh才是真正wifi 物联网大规模应用的方向。

所以强烈呼吁esp 官方应该对mesh 开发迅速大力支持。成熟稳定的esp_mesh方案才是你们占领物联网设备领域的 攻坚利器!发财机会!!!!!!

Who is online

Users browsing this forum: No registered users and 57 guests