同一个环境有多个协调器
1.如果想节点只加入指定的协调器,按一下该协调器的按键,该协调器3分钟内运行加入,其他协调器因没有按按键则不允许加入,这个用什么函数实现?
2.协调器这边按按键允许加入的时候,节点这边要不要按按键?还是直接就加入了?
3.节点加入协调器后,节点和协调器都开启了NV,下次节点和协调器都重启了,还需要再按一下协调器的按键,节点才能加入吗?还是不需要按协调器按键,节点也能加入?
4.一个协调器可以带多少个节点(无路由器),CC2538协调器
YiKai Chen:
1. ZDP_MgmtPermitJoinReq
2. 這要看你的軟件設計
3. 不需要
4. 這要看你协调器有多少的RAM/FLASH,CC2538應該可以帶60-80个节点沒有什麼問題
user5367314:
回复 YiKai Chen:
你好,谢谢,协议栈里面的按键,如果我想区别长按和短按,该怎么识别?有没有什么好的建议?比如3秒内算短按,超过3秒算长按
YiKai Chen:
回复 user5367314:
這個你要自己從application的程序自己作
user5367314:
回复 YiKai Chen:
请问一下,协议栈对于按键的处理,按下去就触发按键事件,还是按下去再松手后才触发按键事件?如果协议栈可以设置,请问在哪里设置?
YiKai Chen:
回复 user5367314:
在hal_key.c
user5367314:
回复 YiKai Chen:
你好,之前咨询你的问题,我想实现按下协调器板子上的按键,3分钟内允许节点加入网络,但是你说的是用ZDP_MgmtPermitJoinReq函数,我看到论坛关于这个函数的描述如下:
NLME_PermitJoiningRequest是让自己不允许其他设备加入,只是一个内部的操作,没有无线数据的交互
ZDP_MgmtPermitJoinReq发送命令给别人,让别的设备不允许其他设备加入。是通过无线数据让别的设备不允许加入。
是不是应该用NLME_PermitJoiningRequest这个函数?如果用的是ZDP_MgmtPermitJoinReq,按下按键后,协调器需要发给别人,这就不对了吧?
user5367314:
回复 user5367314:
还有个问题,就是在按协调器按键之前,协调器要设置成不允许新的节点加入,请问这个怎么设置?
YiKai Chen:
回复 user5367314:
這兩個函數都可以用,NLME_PermitJoiningRequest只可以開關自己的允许节点加入网络,ZDP_MgmtPermitJoinReq可以開關所有其他設備包含自己允许节点加入网络,用NLME_PermitJoiningRequest的話就直接用時間當參數,用ZDP_MgmtPermitJoinReq就還要指定要開關允许节点加入网络的設備地址
user5367314:
回复 YiKai Chen:
谢谢
1.NLME_PermitJoiningRequest这个函数,按按键的时候才执行,需要把没按按键之前协调器设置为不允许加入,这个在哪里设置?
2.关于按键长按短按的识别,协议栈是否有相关的函数?这个是不是不能用中断而必须用查询的方法?
YiKai Chen:
回复 user5367314:
1.在协调器init的時候使用 NLME_PermitJoiningRequest(0)就可以將协调器设置为不允许加入
2. 沒有相关的函数,要你自己實作
TI中文支持网