ZigBee动态修改PanID
来源:互联网 发布:hksystem是什么软件 编辑:程序博客网 时间:2024/05/22 17:31
修改方法:
1、设置预编译选项
ZTOOL_P1
NV_INIT
NV_RESTORE
2、在工程应用层目录中添加 sapi.c 文件
3、添加头文件 sapi.h OSAL_Nv.h
4、将sapi.c 中的 #define OSAL_SAPI TRUE 改为 #define OSAL_SAPI FALSE
5、在需要更改PanID处添加以下代码:
uint16 mypanid = 0x1122;
_NIB.nwkPanId = mypanid;
NLME_UpdateNV(0x01);
zgConfigPANID = mypanid;
osal_nv_write(ZCD_NV_PANID, 0, osal_nv_item_len( ZCD_NV_PANID ), &zgConfigPANID);
//要用定时器延时一段时间后再重启,否则 osal_nv_write 会来不及执行
osal_start_timerEx( SampleApp_TaskID,SAMPLEAPP_RESET_EVT,SAMPLEAPP_RESET_TIMEOUT );
5、SAMPLEAPP_RESET_EVT 时间中 调用 zb_SystemReset();
SAMPLEAPP_RESET_TIMEOUT 设置为2000 时 ,运行正常。
其他说明:
1、终端无法随意切换PanID的问题:
若终端在修改PanID语句中没有添加
zgConfigPANID = mypanid;
osal_nv_write(ZCD_NV_PANID, 0, osal_nv_item_len( ZCD_NV_PANID ), &zgConfigPANID);
这两句,则只能修改至f8wConfig.cfg 中设置的 PANID,其他PANID需要在联网的情况下才能切换。
加上上面两句后不会出现以上问题。
2、发信息给对方,让其改PanID,随后自己也改:
发送方的Reset Timeout 要比接收方稍微大一些。
在实验中,终端5s ,协调器3s ,运行正常。
3、其他修改PanID和Channe的方法(未验证,单独使用未成功)
zb_WriteConfiguration(ZCD_NV_CHANLIST,4,&channelList);
zb_WriteConfiguration(ZCD_NV_PANID, sizeof(uint16), &pan_id) ;
zb_SystemReset();//重启后才会启用新的PAN_ID,不然只是修改了NV里面的数据。
4、其他修改PanID和Channe的方法(未验证,单独使用未成功)
添加NV_INIT编译选项后,data request间隔只能为3S。
- ZigBee动态修改PanID
- ZigBee中PANID的修改
- ZigBee中PANID的修改
- ZigBee PANID 扩展PANID
- zigbee panid
- 如何在zigbee的应用层修改PANID?
- zigbee panid处理
- ZigBee读取PanID
- zigbee 网络如何设置PANID??
- 修改Zigbee的Channel、PANID、发射功率、灵敏度及其它参数
- ZigBee_CC2530_05H_终端修改PANID
- ZigBee_CC2530_0BH_动态切换PANID
- 问题二:zigbee 网络如何设置PANID??
- Zigbee 设置信道,PANID,发射功率
- Zigbee 设置信道,PANID,发射功率
- Zigbee 设置信道,PANID,发射功率
- ZigBee 设置信道、PANID、发射功率
- Zigbee中的PANID,CHANNEL,DEVICEID功能
- Linux更新下载源
- java注解
- myeclipse 更改 web context-root名称
- Eclipse下通过Maven的Jetty插件运行Web工程的配置
- 随着spring boot 1.5版本的发布,在spring项目中与kafka集成更为简便。
- ZigBee动态修改PanID
- ubuntu find+sed 实现对目录中文件指定字符串替换
- 【MTK】通过蓝牙分享及接收apk应用文件
- Redis配置参数的热修改
- Windows服务框架
- 豆瓣top250电影抓取——存放到数据库(2)
- 【IMWeb训练营作业】之Todo List
- 指定页面页面导航隐藏并开启页面滑动返回
- pcl::PolygonMesh简析