『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 9966|回复: 8

[经验分享] 打算出一个改良版的ZNP模块

[复制链接]

9

主题

73

帖子

282

积分

中级会员

Rank: 3Rank: 3

积分
282
金钱
204
HASS币
0
发表于 2021-5-21 00:12:51 | 显示全部楼层 |阅读模式
之前一直都是用我自己设计的zigbee coordinator,没有采用ZNP模块,而是自己独立开发了一套UART指令。
但是看到大家都在用ZNP模块,于是也想把coordinator上面的一些优秀的地方移植过来。
首先要吐槽TI的外国程序员,malloc了内存居然忘记释放了。这几天暴力测试,用coordinator反复加40个light入网。light上是不可能有组网按键的,你做的light要符合国家照明类产品相关标准就不得在外壳上开孔装一个组网按键。所以还是老老实实的学某米,连续通断电几次后退网组网。但是另一个问题,40个light是一起通电,自然就一起组网,40个设备一起来,coordinator程序崩溃。后来检查到居然是底层代码(还好TI是开源的)有bug。
通过40个light的暴力组网测试,发现有个东西是必要的。就是无线发送的时候的Data Confirm消息。正常情况下ZNP发送一个无线指令,就会收到与之对应的Data Confirm消息。主机通过一问一答的形式就能控制无线设备。但是40个设备的网络就不是这样了,Data Confirm消息会乱序,主机收到的Data Confirm消息根本就不知道对应哪条发出的消息。
LZ的coordinator模块,Data Confirm消息是做了与发送指令对应处理的,另外把ZDO命令的Data Confirm消息也输出了。修复了TI的bug后,在测试中 就发现了问题。40个设备入网,先读取Active EP,再读取SimpleDesc,通过调试Data Confirm消息,发现40个设备入网后,主机收到的Data Confirm消息中,存在大量的“ZMacChannelAccessFailure”“ZMacNoACK”“ZMacTransactionOverFlow”错误。虽然最后40个设备的Active EP和Simple Desc信息都读到主机上,但是这个过程中出错丢包的概率已经达到了5%~10%,由于主机程序还添加了重传机制,因此最终40个设备的信息全部还是获取到了。
  因此我打算把ZNP的指令进行扩展,也增加类似的功能。
回复

使用道具 举报

75

主题

1976

帖子

8183

积分

元老级技术达人

积分
8183
金钱
6157
HASS币
430

活跃会员教程狂人

发表于 2021-5-21 09:18:50 | 显示全部楼层
本帖最后由 咸味土豆 于 2021-9-1 21:03 编辑

nbnb,zsbd
所有过往,皆为序章。
回复

使用道具 举报

35

主题

984

帖子

4744

积分

论坛元老

Rank: 8Rank: 8

积分
4744
金钱
3760
HASS币
20
发表于 2021-5-21 10:50:43 来自手机 | 显示全部楼层
期待楼主的东西,一直想尝试下zigbee设备,目前都是Wifi和蓝牙的
回复

使用道具 举报

9

主题

73

帖子

282

积分

中级会员

Rank: 3Rank: 3

积分
282
金钱
204
HASS币
0
 楼主| 发表于 2021-5-21 13:41:53 | 显示全部楼层
sctale 发表于 2021-5-21 10:50
期待楼主的东西,一直想尝试下zigbee设备,目前都是Wifi和蓝牙的

请教一下,蓝牙和WIFI的应用中,有没有大规模数量的设备在同一环境同时工作的应用?比如家用的WIFI路由器支持多台手机玩对战线上游戏,是如何提高传输效率的?
回复

使用道具 举报

6

主题

170

帖子

2218

积分

金牌会员

Rank: 6Rank: 6

积分
2218
金钱
2048
HASS币
20
发表于 2021-5-21 13:46:38 | 显示全部楼层
灯泡入网 还有宜家的 touchlink 啊
回复

使用道具 举报

6

主题

170

帖子

2218

积分

金牌会员

Rank: 6Rank: 6

积分
2218
金钱
2048
HASS币
20
发表于 2021-5-21 13:49:25 | 显示全部楼层
zigbee_luo 发表于 2021-5-21 13:41
请教一下,蓝牙和WIFI的应用中,有没有大规模数量的设备在同一环境同时工作的应用?比如家用的WIFI路由器 ...

WIFI6 才有您说的这种特性吧
回复

使用道具 举报

1

主题

198

帖子

2185

积分

金牌会员

Rank: 6Rank: 6

积分
2185
金钱
1987
HASS币
0
发表于 2021-5-21 20:42:48 | 显示全部楼层
罗总nbzsbd
回复

使用道具 举报

9

主题

73

帖子

282

积分

中级会员

Rank: 3Rank: 3

积分
282
金钱
204
HASS币
0
 楼主| 发表于 2021-5-22 10:43:18 | 显示全部楼层
linoul 发表于 2021-5-21 13:46
灯泡入网 还有宜家的 touchlink 啊

如果一个学校或者火锅店,装100个宜家的touch link灯,应该怎么操作?现场是否需要拍写代码的人去?
回复

使用道具 举报

9

主题

73

帖子

282

积分

中级会员

Rank: 3Rank: 3

积分
282
金钱
204
HASS币
0
 楼主| 发表于 2021-5-22 10:53:18 | 显示全部楼层
linoul 发表于 2021-5-21 13:46
灯泡入网 还有宜家的 touchlink 啊

touch link属于分布式网络,不需要网关。但是像火锅店学校这种还是老老实实用集中式网络
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-27 04:19 , Processed in 0.116235 second(s), 32 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表