搜索
bottom↓
回复: 17

CC2530 ZigBee 协议栈如何裁剪自组网

[复制链接]

出0入0汤圆

发表于 2014-3-12 17:04:07 | 显示全部楼层 |阅读模式
请教各位老师如何在CC2530 z-stack协议栈中取消终端自动加入网络功能呢?当终端不加入网络就无法建立事件和或建立后不执行发送数据,终端协议栈一上电就在发请求入网的信标,想跳过这步并且将网络地址预置写在FLASH里,只需要几个固化了网络地址的终端节点一上电就不停地往协调器发数据,然后协调器将接收的的节点地址和对应的数据发给PC。

阿莫论坛20周年了!感谢大家的支持与爱护!!

你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。

出0入0汤圆

发表于 2014-3-12 18:28:52 | 显示全部楼层
打开NVRAM保持上电第一次搞定,以后自然就直接跑不加别的了。

出0入0汤圆

 楼主| 发表于 2014-3-12 18:41:39 | 显示全部楼层
谢谢

出0入0汤圆

 楼主| 发表于 2014-3-12 18:46:55 | 显示全部楼层
请问如何实现呢,刚才去协议栈里没找到,可能我还没了解你说的NVRAM,只是大概了解NV是读写Flash

出0入0汤圆

发表于 2014-3-12 20:19:03 | 显示全部楼层
编译的时候打开NV_RESTORE

兄弟,多看资料吧。

出0入0汤圆

发表于 2014-3-12 23:17:54 来自手机 | 显示全部楼层
确实要看资料,协议棧安装后有个指导手册,楼主可以去看看

出0入0汤圆

发表于 2014-3-12 23:22:57 来自手机 | 显示全部楼层
我很奇怪,你为什么要跳过这一步呢

出0入0汤圆

 楼主| 发表于 2014-3-13 08:39:52 | 显示全部楼层
我想让节点网络地址自己控制,而不是让协调器分配,我的项目中不需要路由和自组网,就是10000多个终端节点与一个协调器通讯,每次最多200个短时间(2-4S)快速传递一次数据,用在矿井人员定位上用的。

出0入0汤圆

 楼主| 发表于 2014-3-13 08:41:37 | 显示全部楼层
rtems 发表于 2014-3-12 20:19
编译的时候打开NV_RESTORE

兄弟,多看资料吧。

谢谢!

出0入0汤圆

发表于 2014-3-13 09:31:14 | 显示全部楼层
井下定位用zigbee来做不合适,甚至不如433M的RSSI信号定位,有以下几个原因:
1.2.4G穿透性不行,不适合井下复杂环境
2.10000多个节点对于zigbee网络而言太多了,ti官方例程中最多才400个节点.节点多会占用过多系统的资源(即使无通讯任务,系统本身损耗)
3.不用自组网,单协调器多终端节点的方式不适合大面积使用

出0入0汤圆

 楼主| 发表于 2014-3-13 09:58:35 | 显示全部楼层
在SampleApp工程的预处理里加了NV_RESTORE但还是不行,可以执行事件但无法发送信号。可能AF_DataRequest执行到内部后发现没有联网就不发了(我设的广播也没用)

我的思路是,终端节点定期发射数据后进入长时间休眠,醒来后再向固定地址为0x0000的协调器发数据,再睡觉,

void SampleApp_SendPeriodicMessage( void )//定时事件中发送函数
{
   uint8 data[10]={0,1,2,3,4,5,6,7,8,9}; //待发数据
   
   HalLedSet (HAL_LED_4, HAL_LED_MODE_FLASH );//灯闪烁说明进入了事件,
   
   if ( AF_DataRequest( &SampleApp_Periodic_DstAddr,//以哪种方式发送数据(广播,组播,单播)
                       &SampleApp_epDesc,
                       SAMPLEAPP_PERIODIC_CLUSTERID,     //协调器收到这个标号,如果是1,就证明是由周期性广播方式发送过来的
                       10,                               //数据长度
                       data,//是要发送的内容
                       &SampleApp_TransID,
                       AF_DISCV_ROUTE,
                       AF_DEFAULT_RADIUS ) == afStatus_SUCCESS )
   {   //发送完成闪灯
       HalLedSet (HAL_LED_2, HAL_LED_MODE_FLASH );//没闪说明数据没有发出、可能AF_DataRequest执行到内部后发现没有联网就不发了
  }
}
        
  

出0入0汤圆

 楼主| 发表于 2014-3-13 10:11:34 | 显示全部楼层
jdh99 发表于 2014-3-13 09:31
井下定位用zigbee来做不合适,甚至不如433M的RSSI信号定位,有以下几个原因:
1.2.4G穿透性不行,不适合井下复 ...

谢谢,对于井下那几米宽的巷道没有问题,国家井下的标准是只要10米,不需要穿透,对于定位也不需要很精确,只要知道人员那个时间经过那几个协调器,由协调器采集后送给分站处理再上传给地面,每个分站通过485总线与8个左右的协调器相连
协调器彼此是无线隔离的,也就是终端节点同一时间只能收到和发送给一个协调器,多个分站再通过干网485联网。

出0入0汤圆

 楼主| 发表于 2014-3-13 10:14:47 | 显示全部楼层
感觉用ZIGBEE协议确实有点屈了它,但感觉他的操作系统写的不错添加任务方便,这只是我的个人理解可能有不妥的地方请各位老师指点。

出0入0汤圆

发表于 2014-3-13 11:22:53 | 显示全部楼层
XIUQIN 发表于 2014-3-13 08:39
我想让节点网络地址自己控制,而不是让协调器分配,我的项目中不需要路由和自组网,就是10000多个终端节点 ...

我没有做过与你相关描述的工作,但是我觉得你的想法是可以实现的,
节点或者路由器加载协调器组成的网络中,首先是要节点或路由器想协调器申请地址
如果你不这么做的话,协调器是不会保存节点或者路由器的IEEE地址和短地址到其内部关联表
你可以这么做试试
在终端节点或者路由器运行osal之前,把devstate直接为其所对应的设备类型
我觉得调用发送函数之后的发送目的地修改成0x0000,应该就可以了
你可以先尝试一下

出0入0汤圆

发表于 2014-3-13 11:25:08 | 显示全部楼层
XIUQIN 发表于 2014-3-13 09:58
在SampleApp工程的预处理里加了NV_RESTORE但还是不行,可以执行事件但无法发送信号。可能AF_DataRequest执 ...

这个宏宏定义只是保留你在设备复位前的父节点相关信息及其本身的相关信息,第一次还是要走正常流程入网的,
你说的入网不正常,可能是你的pan id 不对,建议你用packet sniffer看看数据包

出0入0汤圆

 楼主| 发表于 2014-3-13 13:12:47 | 显示全部楼层
majialou 发表于 2014-3-13 11:25
这个宏宏定义只是保留你在设备复位前的父节点相关信息及其本身的相关信息,第一次还是要走正常流程入网的 ...

谢谢!

出0入0汤圆

 楼主| 发表于 2014-3-15 13:48:07 | 显示全部楼层
本帖最后由 XIUQIN 于 2014-3-15 13:54 编辑

协议栈改起来感觉很复杂,可能还涉及到稳定性?就是想修改Z-stack的协调器和终端节点,节点网络地址由编程时预定不由协调器分配,并使协调器越过组网这步,节点一上电就定期发数据,协调器收到数据保存相应节点的网络地址和数据即可,但改了多次还是出现节点在不停地信标发射,可能工程使用不对吧,在节点没有入网时(没收到协调器的入网信号),终端节点只会发协议栈自己的信标请求信号,它根本不管你设的目标地址和AF_DataRequest( 、、、、) 发送。

出0入0汤圆

 楼主| 发表于 2014-3-17 11:23:31 | 显示全部楼层
请教大家: NV_RESTORE把网络地址固化到ROM那个位置的,可否通过NV操作改写这个ROM里面的网络地址 nwk  = NLME_GetShortAddr(),这个读取网络地址的原型也看不到(给屏蔽了)。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-10-3 03:20

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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