串口修改PAN ID和CHANNEL,广播发送后重启
来源:互联网 发布:电脑微信摇一摇软件 编辑:程序博客网 时间:2024/06/05 17:16
转载:http://www.feibit.com/forum.php?mod=viewthread&tid=8632
想要实现的功能:
1.串口修改PAN ID;2.串口修改CHANNEL;
3.广播发送给网内节点,重启建立新的网络。
实现例程:sampleapp例程修改
IAR预编译:
ZTOOL_P2
MT_TASK
MT_AF_FUNC
MT_AF_CB_FUNC
MT_APP_FUNC
MT_DEBUG_FUNC
MT_NWK_FUNC
MT_NWK_CB_FUNC
MT_SYS_FUNC
MT_SYS_OSAL_NV_READ_CERTIFICATE_DATA
MT_UTIL_FUNC
MT_ZDO_CB_FUNC
MT_ZDO_FUNC
MT_ZDO_MGMT
NV_RESTORE
在看帖子之前建议大家先看3篇其他前辈的,我借鉴了他们的经验:
http://www.feibit.com/forum.php?mod=viewthread&tid=3627
http://www.cnblogs.com/qmlm8844/archive/2012/03/13/2393366.html
http://hi.baidu.com/njordnb/item/2ad8c4125f8dcc16e3f986f2
相信看完以上3篇以后,大家已经对PAN ID 和CHANNEL有了大概了解? 什么,还没看? 赶紧先去看
一、串口修改PAN ID
在之前的实验中,我一直纠结于pan id的设置,有2种方法:
方法1.
pan_id=0x1122;//你想要的ID
zb_WriteConfiguration(ZCD_NV_PANID, sizeof(uint16), &pan_id) ;
zb_SystemReset();
方法2:
pan_id = 0x1122;
_NIB.nwkPanId = pan_id;
NLME_UpdateNV(0x01);
zb_SystemReset();
我自己的实验结果显示,方法2是可行的,于是,我对MT_UTIL.C函数中的MT_UtilSetPanID做了修改
(我用ztool中util修改PAN ID不成功,不知道为什么,有人遇到过吗?)
以下是修改后的代码
串口发送fe 02 27 02 00 05 22,PAN ID改为0x0500,自动重启,路由器不在网内
我用串口调试助手,IAR仿真结果显示PAN ID修改成功,剩下的我们就需要考虑如何广播出去了(这个简单)
二、修改CHANNEL
这里有个概念问题:
_NIB.channelList表示可以扫描的信道;
_NIB.nwkLogicalChannel表示正在使用的逻辑信道,从11~26,即0x0B~0x1A
所以我们要修改的目标是_NIB.nwkLogicalChannel
代码奉上:
记得改一下:-DDEFAULT_CHANLIST=0x00003800 //使能0B 0C 0D信道
串口发送数据:
_NIB.nwkLogicalChannel 帧结构
0x0b fe 05 27 03 00 08 00 00 0b 22
0x0c fe 05 27 03 00 10 00 00 0c 3d
三、广播发送
直接贴上代码,有不懂的同学想一想,实在想不通再问。
协调器广播部分:
其中KEY1 KEY2是例程自带的,KEY5是我自己定义的广播发送按键。
之前的帖子中说道协调器广播完后重启的问题,所以我在这里新建了一个任务,让协调器5秒后自动重启:
osal_start_timerEx( SampleApp_TaskID, SAMPLEAPP_SYS_RESET_SOFT, 5000);//新建一个任务,5S后重启节点接收部分:先写这么多,以后想到再完善!
0 0
- 串口修改PAN ID和CHANNEL,广播发送后重启
- 串口修改PAN ID和CHANNEL,广播发送后重启
- zigbee 串口修改PAN ID和CHANNEL,广播发送后重启
- 串口修改PAN ID和Channel
- 运行中修改协调器PAN ID和Channel,协调器广播至所有的设备重启加入新建后的网络
- 发送广播和接收广播
- 接收和发送广播
- 接收和发送广播
- 接受和发送广播
- 接受和发送广播
- 13 在ZStack里设置pan ID和信号输出功率
- 广播的发送 和 广播的分类
- 广播的发送和接收
- Java发送和接收广播
- C#发送和接收广播
- android 广播发送和接收
- Unity 广播和发送消息
- android发送和接收广播
- 常用字符串方法
- 导航栏标题知多少
- 跨站点脚本拦截-filter
- ASP.NET MVC4网站部署在阿里ECS云服务器(WIndows Server 2012+IIS8环境)
- android架包—android-support-v4.jar介绍和下载
- 串口修改PAN ID和CHANNEL,广播发送后重启
- rpmbuild相关命令
- 一道小学的数学题
- iOS7 与 iOS8上 uisegementcontrol 设置image不显示问题
- SHELL test [ 命令用法
- php可逆的加密解密算法实现
- 使用AFNetworking 2.0 请求数据时出现错误 Request failed: unacceptable content-type: text/html 解决方法
- 如何修改DEDECMS内容模型管理里面某个模型的模板?
- 关于NOKIA E71 播放视频文件(mp4等)的问题