当前位置:首页 > 通信技术 > 通信技术
[导读]ZigBee是一种崭新的,专注于低功耗、低成本、低复杂度、低速率的近程无线网络通信技术,也是目前嵌入式应用的一个大热点。 近年来,ZigBee无线数据网络在我国应用越来越多。在很多地方取代了局域网。实际应用于楼

ZigBee是一种崭新的,专注于低功耗、低成本、低复杂度、低速率的近程无线网络通信技术,也是目前嵌入式应用的一个大热点。

近年来,ZigBee无线数据网络在我国应用越来越多。在很多地方取代了局域网。实际应用于楼宇监控系统、无线方式集中抄表以及矿山救援系统和家电控制等等。文中谈及在我国有较多客户使用的TI公司的产品
CC2430

1  问题的提出

在一片不大的区域内,有数个信道相同的协调器,但是PAN ID不同。当设置了终端的PAN ID后,终端只加入和其上存储的PAN ID相同的协调器。目前本无线组网项目使用的是TI公司的CC2430,其上的ZigBee协议栈为TI的Z-STACK 1.4.3-1.2.1。由于TI公司的策略是终端比较随机的加入其中的一个协调器,即使其上已经定义了特定的PAN ID。从少量的实验来看,CC2430作为终端优先加入PAN ID号比较小的协调器。用户一般无法让终端选择,并且终端扫描网络和请求入网的过程都没有给出源代码。这样便给这类实际应用带来不便。

2  问题分析

关于CC2430/2431网络的形成,可以参考《ZigBee技,术实践教程》一书。该书为北京航空航天大学出版社出版,高守玮和吴灿阳主编。

路由器和终端试图加入一个网络时,首先调用NLME_NetworkDiscoveryRequest()函数。该函数将进行网络扫描,其结果由函数ZDO_NetworkDiscoveryConfirmCB()返回。而发现网络存在后,将调用NLME_OrphanJoinRequest()函数试图加入网络。其结果由函数ZDO_JoinIndicationCB()返回。

遗憾的是,网络扫描和请求入网两个函数都没有源代码,造成无法修改的困境。客观地说,在TI公司的ZSTACK上修改某些参数常常是比较困难的。只好从提供了源代码的ZDO_NetworkDiscoveryConfirmCB()函数和ZDO_JoinIndicationCB()函数来想办法。检测ZDO_NetworkDiscoveryConfirmCB()的代码,发现其最终调用ZDO_FinishProcessingMgmtNwkDiscReq()函数。

而在该函数中,有对路由器的特殊处理。条件编译变量RTR_NWK代表有路由器功能的设备,虽然协调器可以兼做路由器,但执行这段代码的只可能是普通的路由器。

#if defined(RTR_NWK)
……
#endif

……中的代码检索返回的网络信息描述结构,查看有没有和存储的PAN ID相同的协调器。观察ZDObject.c文件中的ZDO_StartDevice()函数,当启动设备模式为“再继续”时,即startMode==MODE_RESUME,终端设备以孤点方式请求加入网络。再继续模式实际上是标识非协调器设备处于网络扫描完成,准备请求入网的状态。分析到此,可以想出办法了。首先定义一个检查是否有PAN ID相同的协调器的全局变量bool变量p_matching。初始化时设其为FALSE。

3  解决方法和实际代码

对刚才提及的代码段,增加终端对返回的网络信息描述结构的查询。



在ZDApp.c中修改ZDApp_event_loop()函数,在调用ZDO_StartDevice(…)之前,亦即在终端设备扫描网络和请求入网前增加一段代码。当终端和协调器PAN ID不同,并且是再继续模式时,重新搜索是否有与PAN ID相同的协调器,而不请求人网。


这样就使得终端有协调器可挑选了。

关于如何修改PAN ID,给出代码如下(该代码为协调器和终端通用的。_NIB是和网络相关的全局结构体):



另外非协调器设备在初始化时,应该增加如下的代码(gu16RecBuffLen为自定义的16位整型数):



通过对扫描网络结果处理函数的分析,研究扫描网络和请求人网前的程序段。在程序段中增加一个对终端是否检索到特定PAN ID的协调器的逻辑变量。最后在程序中增加未检索到特定PAN ID的协调器时不请求入网的代码,以达到终端选择协调器入网的目的。经实验,在现场有数个不同PAN ID的协调器的情况下,终端设备只加入特定的协调器

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

澳大利亚墨尔本2025年9月9日 /美通社/ -- 在墨尔本举行的第十四届世界商会大会(World Chambers Congress)上,Epitome Global创始人兼全球董事总经理Jan Lambrechts向...

关键字: AN AI GLOBAL PI

伊斯坦布尔2025年9月9日 /美通社/ -- 作为全球最大规模的家居和消费技术盛会,IFA Berlin再次汇聚行业领袖,展示前瞻性创新,旨在满足并引领不断变化的消费者需求。 在这个行业的关键时刻,Beko自豪地展示了...

关键字: 智能家电 AI ADAPTIVE AN

新加坡获选为重庆2025世界智能产业博览会主宾国,进一步巩固两国长期战略合作伙伴关系 今年新加坡展馆汇聚12家创新科技、数字贸易、智慧城市领域企业,包括Accred...

关键字: 新加坡 SI AN 数据安全

-DXC通过初创企业合作推动汽车与制造业AI创新 初创企业Acumino、CAMB.AI与GreenMatterAI合作将AI创新推向市场 合作源于DXC与STARTUP AUTOBAHN的伙伴关系 弗吉尼亚州阿什...

关键字: 汽车 AI AN AC

无锡2025年8月29日 /美通社/ -- 2025年8月27日,正值中国与瑞士建交75周年这一历史性时刻,在北京隆重举办的中瑞商业大奖颁奖典礼上,作为中瑞经贸合作的标杆企业,布勒凭借在创新研发和数字化转型领域的卓越表现...

关键字: 解码 数字化 AN SMART

-Neel Pandya推出Climaty AI,助推营销新时代 阿联酋迪拜2025年8月27日 /美通社/ -- Climaty AI是一家由代理式AI驱动的全球气候营销科技(CliMarTech)公司,由Neel...

关键字: AN AI 创始人 GROUP

北京2025年8月22日 /美通社/ -- 8月20日,国际独立第三方检测、检验和认证机构德国莱茵TÜV(简称"TÜV莱茵")受邀出席...

关键字: 研究驱动 AN 数字经济 电子电气

-Delska在拉脱维亚新建的10兆瓦数据中心获得Tier III设计认证 拉脱维亚里加2025年8月20日 /美通社/ -- 北欧数据中心运营商Delska即将启用的EU...

关键字: 数据中心 TI 冷却系统 AN

- ‘Match Chat' AI助手可在所有254场单打比赛期间及结束后实时回答问题 - 升级版IBM SlamTracker将提供实时获胜概率预测,而‘Key Poin...

关键字: IBM AI PEN AN

北京2025年8月13日 /美通社/ -- 近日,搭载兆芯开先KX-7000高性能处理器的希沃华腾新一代计算终端产品应运而生,凭借应用数据互通、轻松批量部署、自有备授课软件等特色,为教学教研等工作的高效开展提供有力支撑和...

关键字: 终端 AI 数字化 通用处理器
关闭