当前位置:首页 > 物联网 > 《物联网技术》杂志
[导读]摘要:利用各类传感器采集外界信息,产生模拟电压信号,通过模数转换进而得到数字信号,摒弃传统的有线串口发数模式,用CC2430芯片作为节点的核心芯片,负责数据处理和无线射频工作。根据以上要求给出了系统硬件结构及软件设计方案,并综合考虑到了节点的功耗问题。

引言

保护民族物质文化和非物质文化遗产的任务一直都为国家所重视,少数民族博物馆中的文物是国家最为宝贵的民族物质文化遗产,利用发展前景最为广阔的无线传感技术,将数字化保护概念落实到实际的少数民族遗产保护当中,搭建无线传感网络以完成数据的采集和传递,将博物馆中的实时环境信息转换为易读的数字信号传递给管理员。

受到“十一五”国家科技支撑计划的重点课题《民族特需品数字化关键技术研究与示范应用[课题编号2009BAH41B05]》项目的支持,研发一套适合民族家具博物馆的物联网无线传感网络产品。本文对整个无线传感网络体系中的网络节点硬件、软件提出具体设计思路和实现方法。

ZigBee网络路径

1.1路由基本算法

ZigBee网络区别于其他无线传感网络之处就在于其预先进行地址分配,各节点由分布式算法根据一系列网络参数来确定,节点只有通过协调器或者路由器节点才能加入网络,加入网络后随即获得一个唯一的地址。我们这里设Cm和Rm分别为节点所能分配的最大节点数和路由节点数,L为网络的最大深度,则网络深度为d的路由节点所能分配的地址块大小如式(1)所示:

深度为d的父亲节点分配的第k个路由节点和第n个终端节点的地址分别为:

在式(2)、(3)中,代表负责分配网络地址的父节点地址,ZigBee网络路由算法应用的就是这种分布式网络地址分配机制。

1.2基于AODV路由算法

AODV即无线自组网按需平面距离向量路由协议,此算法通过检查自己的路由表,如存在到达目的节点的表项则直接跳取到下一地址,否则节点以洪泛的方式向网络广播路由请求数据包,当该数据包到达目的节点时,目的节点以单播方式向路由发起节点回复路由数据包。当路由发起节点收到路由回复包后,一条新加入到路由表的通信链路便产生了。

该算法有很多优点能够大大提高网络通信效率,有效地避免传统网络路由算法中出现的环路问题。基于需求的距离向量链路中由于发送数据之前需要对现有的通信路径进行遍历过程,因此在网络较大的情况时也会导致网络数据传输延时增大,进而造成网络效率不高的问题。

1.3基于树型结构路由算法

在网络中,深度为d,源节点S若要想传输到任意节点D时,就可以简单地根据的公式S<D<S+Cskp(d-1)来判断该节点是否属于自己的子孙节点。

依据式(4)来进行跳到下一个地址的行为,否则将数据输出给父亲节点。该算法的优点是空间复杂度以及时间复杂度比较简单,适用在网络节点数目不是很多的情况,否则会导致分组传输时延高的缺点,从而造成网络效率低下的问题。

Cluster-Tree算法是在树型路由算法技术基础上,由协调器作为中心点生成簇树状网络拓扑结构,通过判断目的节点是否是具有转发功能设备的下属节点,以决定是否进行数据包的转发,最终达到分层遍历查找目的节点的结果叫这种算法可以大大减少信息冗余度和源节点的发送功率,对于数据高内聚非常有利,也在一定程度上弥补了树型结构的缺点。

ZigBee网络节点硬件设计

2.1节点总体硬件设计

节点按功能共可分为CC2430模块、电源模块和天线模块三大模块。其总体硬件设计如图1所示。

2.2CC2430模块

CC2430具有增强性能的8051MCU,8KBRAM等,其增强的8051MCU核的性能是工业标准8051核性能的8倍叫CC2430/CC2431还具备直接存储器定址(DMA)功能,它能够被用于减轻8051微控制器内核对数据搬移,因此提高了芯片整体的性能、可编程看门狗定时器、AES-128安全协处理器、多达8输入的8〜14位ADC、USART、睡眠模式定时、上电复位、掉电检测电路(BrownOutDetection)等,CC2430有两个晶振,分别是32MHz晶振和32.768kHz晶振。

2.3天线模块

CC2430发送数据时,信号从差分射频端口RF_P、RF_N经巴伦电路变为单端信号,由RXTX_SWITCH信号控制2个逻辑开关,选通功率放大电路(PA),放大后的信号从天线发射出去。接收信号时,在RXTX_SWITCH信号控制下,从天线接收的信号经低噪声放大电路(LNA)放大,巴伦电路转换,由RF_P、RF_N端口接收。天线模块电路图如图2所示。2.4电源模块

电源模块主要是由TPS79533低压稳压器输出3.3V电压,其输入电压范围是2.7〜5.5V,并具有较高的电源抑制比、超低噪声、较好的电压线性和负载瞬态效应以及较小的电压漂移。可以将5V的电源通过DC-DC变换器得到3.3V的工作电压,电源电路如图3所示。

图2天线模块电路

图3电源模块电路

ZigBee网络节点软件设计3.1ZigBee协议栈

ZigBee无线网络的实现,是建立在ZigBee协议栈[5,6]的基础上的,协议栈采用分层的结构,协议分层的目的是为了使各层相对独立,每一层都提供一些服务,服务由协议定义,它们向高层提供服务,并由低层提供服务。

在ZigBee协议栈中,物理层、MAC层位于最低层,且与硬件相关;网络层、安全层、应用框架层以及安全层建立在物理层和MAC层之上,并且完全与硬件无关。分层的结构脉络清晰、一目了然,给设计和调试带来极大的方便。

Z-Stack采用了操作系统的思想来构建,采用事件轮循机制[7],当各层初始化之后,系统进入低功耗模式,事件发生时,唤醒系统,开始进入中断处理事件,结束后继续进入低功耗模式。如果同时有几个事件发生,先判断优先级,再逐次处理事件。

3.2协调器网络的建立

在ZigBee网络中,网络协调器具有建立一个网络、维护邻居设备表、对逻辑网络地址进行分配、允许设备MAC层/应用层的连接或断开网络的功能,网络协调器在进行一些初始化之后调用aplFormNetwork()来建立网络。协调器通过扫描一个空信道来建立一个新的网络,然后选择一个随机的

PANID并开始监听此信道冏。同时协调器还有一个目前连接设备的列表,以支持其他设备加入网络。网络建立程序如下:

voidmain(void){halInit();//硬件初始化aplInit();//协议栈初始化aplFormNetwork();//建立网络while(apsBusy()){apsFSM();}//等待网络相应while(1)

{apsFSM();//执行协议栈

}

}

3.3节点加入网络

当一个网络建立成功以后,便要考虑路由节点和RFD节点如何加入到网络中去。节点通过调用aplJoinNetword()函数加入到协调器建立的网络当中。通过扫描信道找到协调器并进一步申请加入网络,获取协调器的地址,同时将自己的地址发送给协调器。网络加入成功以后,网络节点则进入休眠状态,知道有命令或者数据发送时才被唤醒。网络加入的程序如下:

voidmain(void){

halInit();//硬件初始化

aplInit();//协议栈初始化

do{

aplJoinNetwork();//加入网络while(apsBusy()){apsFSM();}//等待网络格式化}while(aplGetStatus()=WXLPAN_STATUS_SUCCESS);while(1){apsFSM();}//执行协议栈

3.4数据发送与接收

在ZigBee协议栈中进行数据发送可以调用AF-DataRequest函数来实现,该函数会调用协议栈里面与硬件相关的函数最终将数据通过天线发送出去。以下是AF_DataRequest数据发送程序:

afStatus_tAF_DataRequest(afAddrType_t*dstAddr,

endPointDesc_t*srcEP,,

uintl6cID,

uint16len,

uint8*buf,

uint8*transID,

uint8options,

uint8radius)

上面的程序中:afAddrType_t*dstAddr为包含了目的节点的网络地址以及发送数据的格式;endPointDesc_t*srcEP为使用网络地址来区分不同的节点,用端口号来区分统一节点的不同端口;uint16cID为描述命令号,不同的命令号代表不同的控制命令,用来表示不同的控制操作;uint16len为表示发送数据的长度;uint8*buf为指向发送数据缓冲区的指针;uint8*transID为指向发送序号的指针,每次发送数据后就会自动加1,配合接收端计算丢包率;uint8options为默认取AF_DISCV_ROUTE;uint8radius为默认取AF_DEFAULT_RADIUSo

在发送数据之前,接收的设备必须处于工作状态,否则将会出现“丢包”上层使用NLME-SYNC.request原语初始化设备,打开其接收机,该原语将引起网络层使用MLME-POLL.request原语对其父设备进行轮询図。ZigBee协调器或路由器的网络层必须在最大程度上保证任何时间接收机总是处于接收状态。

当协调器接收到节点发送来的数据后,操作系统会将该数据封装成一个消息,然后放入消息队列中,每个消息都有自己的消息ID,表示接收到新数据的消息的ID是AF_INCOMING_MSG_CMD[10],其宏定义为:

#defineAF_INCOMING_MSG_CMD0x1A

在协调器中相应代码如下:

MSGpkt=(afIncomingMSGPacket_t*)osal_msg_receive(GenericApp_TaskID);

while(MSGpkt)

{

switch(MSGpkt->hdr.event)

{

caseAF_INCOMING_MSG_CMD;

GenericApp_MessageMSGCB(MSGpkt);

break;

}

}

首先使用osal_msg_receive函数从消息队列中接收一个消息,然后使用switch-case语句udixiaoxileixing进行判断(判断消息ID),如果消息ID是AF_INCOMING_MSG_CMD贝丫进行相应的数据处理,进而完成数据的接收。

4测试结果

测试釆用的软件是PacketSniffer,PacketSniffer是一款专门的协议分析软件,可以对各层协议上的信息包进行分析和解码;显示出错的包以及接入错误;指示触发包;在接收和注册过程中可连续显示包,可以利用PacketSniffer分析ZigBee建立网络,加入网络,发送数据,接收数据的过程[11]oIEEE8022.15.4/ZigBee协议下协调器的组网过程如图4所示。

图4协调器组网

从图4中显示的数据包数据中,第2行到第7行是建立一个网络的过程,在这里可以看出在网络层管理实体一旦选择了一个PAN标识符,就会立刻选择一个0x0000的16位网络地址,并且设置MAC层的macShortAddressPIB属性,使其等于所选择的网络地址。

第8行的源地址是路由器的物理地址0x1716151413120030,它的PANID没有确定为0xFFFFF,这时的路由器还没有加入网络,所以还没有网络地址,目的地址为协调器的网络地址0x0000,它的PANID为0x0022;它的命令是联合方式加入请求。该行表示的意思是向协调器发送联合方式加入请求,发送完成后将得到一个应答。

节点在等待应答并回应后,就开始加入建立好的无线网络,其加入网络的过程如图5所示。

图5节点加入网络

从图中可见,已成功组网的协调器在收到应答以后,节点开始加入网络。与此同时,协调器开始为路由器分配网络地址,路由器分配到的网络地址(SourceAddress)为0x0001。这样就完成了节点加入网络的过程,并分配了各自的网络地址,从而也完成了无线网络的组建和节点加入网络的过程。

5结语

本系统采用ZigBee技术设计无线网络节点,其设计思想简单,成本较低并且有着很好的扩展性,可以适应不同环境对系统的要求,与此同时,通过通用串口搭载不同的传感器又可以轻而易举地实现对各种信息的采集和传输工作,在短距离无线传感网络的应用上有着明显的优势,相信日后的发展前景会更好,给人们日常生活工作带来更大的便利。

20211119_61972b9730473__基于ZigBee无线传感网络技术节点设计与实现

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

近距离无线通信是近年来迅速发展的通信技术,广泛应用于智能家居、物联网、无线传感网络等领域。本文将介绍近距离无线通信的关键技术,包括蓝牙技术、ZigBee技术、WiFi技术等。

关键字: 无线通信 通信技术 无线传感网络

北京2023年9月19日 /美通社/ -- 随着科技的快速发展,我们正处在一个数据爆炸的时代。超大规模数据中心作为数据的重要存储和处理场所,其数量在不断增长,与之而来的数据量也在呈指数级增长。这不仅包括原始数据,还包括分...

关键字: 分布式 节点 软件 数据中心

(全球TMT2023年9月5日讯)在2023年华为云沙特峰会上,华为宣布,华为云利雅得节点正式开服。本次开服后,利雅得节点将成为华为云服务中东、中亚和非洲的核心节点。华为云利雅得节点通过3AZ(可用区)架构,提供了高可...

关键字: 节点 华为云 云服务 GO

沙特阿拉伯利雅得2023年9月4日 /美通社/ -- 在2023年华为云沙特峰会上,华为宣布,华为云利雅得节点正式开服,推动该国数字经济增长。 本次开服后,利雅得节点将成为华为云服务中东、中亚和非洲的核心节点,可提供创...

关键字: 华为云 节点 AI 数字化

全闪存存储的历史性时刻到来! 北京2023年8月30日 /美通社/ -- Gartner最新数据显示,2023年第一季度全球外部存储市场同比增长0.5%;其中,全闪存阵列同比增长3.6%,市场规模超过非全闪存阵列,占整...

关键字: 数据中心 数据存储 节点 机械硬盘

杭州2023年8月25日 /美通社/ -- 8月17日,以"绿色永续制造"为主题,正泰新能常务副总裁、可持续发展官黄海燕在在近期的一次公开演讲中,公布了以2028年、2035年和2050年为主要时间节...

关键字: 可持续发展 光伏组件 ROM 节点

(全球TMT2023年8月11日讯)8月9日,杭州鄂达精密机电科技有限公司的德沃克智造MES项目全面启动。鄂达精密成立于2007年,是一家专业从事高精密机电零部件设计研发、制造、销售为一体的国家级高新技术企业。鄂达精密...

关键字: 机电 节点 零部件 仓储物流

北京2023年2月27日 /美通社/ -- 2月25日,由中企联合CHIRC主办的"第十七届中国雇主品牌年会暨年度颁奖盛典"在京举行。 第十七届中国雇主品牌年会暨年度颁奖盛典现场 经中国雇主品牌年...

关键字: 数字化 SAAS 节点 创始人

北京2023年2月23日 /美通社/ -- 晴空万里、群星璀璨的丽江高美古,在纳西语中的释义是"天气好、星星多、离天最近的地方"。这里的年平均晴天超200天,视宁度达到世界优良台址的水平,大气洁净透明...

关键字: 分布式 望远镜 节点 读写

济南2023年1月28日 /美通社/ -- 近日,中国科学技术协会公布2022年“科创中国”系列榜单,经中国电子学会评审、推荐,中国科学技术协会两轮评审,浪潮集团旗下浪潮云洲入选新锐企业榜。 近日,中国科学技术协会公布...

关键字: 区块链 数字化 节点 中国电子学会
关闭
关闭