基于ARM9的嵌入式Zigbee网关设计与实现

​Webserver 嵌入式网关搭建(采用 uhttpd、sqlite)——基于 rt-smart 微内核操作系统 Webserver 嵌入式网关,并作为 ART-Pi Smart 的出厂 Demo。移植 GNU 软件代码(uhttpd、sqlite)交叉编译成目标系统平台可以运行的库或二进制文件,作为 rt-smart 的一个用户 APP,并在 ART-Pi Smart 开发板上运行。 阅读详情

摘要:设计并实现了一个基于ARM9处理器的Zigbee无线传感器网络嵌入式网关,用来完成Zigbee和Internet之间数据的透明转换。给出了该网关的硬件方案设计和主要软件编程思路以及一种新型网关的协议转换方案的实现思路。该网关具有较好的通用性。 关键词:无线传感器网络 ;Zigbee ;嵌入式网关;STR912 ;LwIP

引言

    无线传感器网络(Wireless Sensor Network,WSN)是指由大量成本相对低廉的,具有感知能力、计算能力、实时通信能力的传感器节点组成的嵌入式无线网络,是当前众多领域的研究和应用热点。建立在IEEE 802.15.4(LR_WPAN,低速率无线个人区域网)上的Zigbee协议是应用于无线监测与控制的全球性无线通信标准,是无线传感器网络组网的首选技术之一。

随着Zigbee无线传感器网络技术的广泛应用,如何通过现有网络基础设施(如Internet、GPRS等)对其进行远程管理、控制感测环境中的各种传感装置,逐渐成为该领域的重要研究课题。图1给出了基于Zigbee的无线传感器网络体系结构,如图示Zigbee网关在整个无线传感器网络体系中起着重要的枢纽作用,同时也是WSN整体系统的“瓶颈”之一。当图1中的服务器或用户部分为其它Zigbee网络时,通过Zigbee网关和Internet或GPRS做媒介,就使得世界范围内的不同监测区域都可以信息共享,这大大缩小了物理世界的时空距离。

 

图1 基于Zigbee技术的无线传感器网络

本文主要研究的是Internet环境下基于Zigbee传感器网络的网关设计及其实现。

1 系统概述

   网关是建立在传输层以上的协议转换器,通常它连接两个或多个相互独立的网络,每接收一种协议的数据包后,在转发之前将它转换为另一种协议的格式。考虑到Zigbee节点的通信能力有限(数据速率仅为250 Kbps),为了减少网关协议转换自身的工作量,本网关选择了一款集成Ethernet接口的ARM9 芯片来完成硬件系统的搭建。

本网关采用模块化设计方案,如图2所示由硬件层、软件层和应用层三大部分组成。其中硬件层描述了网关的硬件实现,在后文将详细介绍;软件层移植μC/OS-II实时操作系统内核、Zigbee和嵌入式TCP/IP协议栈LwIP,实现了Zigbee和TCP/IP协议的双向透明转换,同时封装一些关键API函数供应用层程序调用;应用层运行的是用户编写的应用程序,用户可以根据实际需要使用下层定义的API自行扩充相关应用。

 

图2 Zigbee网关总体结构

2 硬件设计

    网关硬件结构如图3所示,由内部集成以太网MAC的ARM9处理器STR912FW44X、Zigbee射频收发模块CC2420、大容量DataFlash存储卡片AT45DCB008、以太网收发芯片(PHY) RTL8201和带触摸功能的LCD显示模块LQ084V1DG21等模块组成。

 

图3 Zigbee网关硬件结构

其中STR912FW44X作为硬件系统的主控芯片,它是意法半导体(ST Microelectronics)推出的基于ARM966E-S内核,片内集成Flash、USB、CAN、以太网MAC、AC马达控制、ADC、RTC、DMA等接口的高性能ARM9 SOC,最高主频可达96Mhz;

       Zigbee射频收发芯片CC2420是挪威Chipcon(现为TI)推出的符合2.4 GHz IEEE 802.15.4和Zigbee 标准的射频收发器。CC2420采用O-QPSK调制方式,工作频带范围为2.400~2. 4835 GHz,接收灵敏度为-94 dBm,抗邻频道干扰能力为39 dB。利用此芯片开发的无线通信设备支持数据传输率高达250 Kbps,能够实现点对多点的快速组网;

       AT45DCB008是Atmel公司推出的新型DataFlash存储芯片,在该网关中用来保存网络故障状态下的数据信息。AT45DCB008中的数据按页存放,主存共8192页,每页1024字节,总容量约为8M字节,每页的擦写次数保证在100,000次以上;

以太网PHY层芯片采用的是Realtek公司的RTL8201BL,它是一个单端口的物理层收发器,实现了全部的10/100M以太网物理层功能;

       显示部分采用的LQ084V1DG21是SHARP公司的带触摸屏8.4英寸TFT数字液晶显示屏,分辨率为640×480。

3 嵌入式网关软件设计

3.1 μC/OS-II下的LwIP的移植

   μC/OS-II是一个抢占式的实时多任务内核操作系统,具有开放源码、可固化、可剪裁、高稳定性和可靠性等特点。目前国内外对μC/OS-II的相关研究已有很多,其在STR912处理器上的移植在此不再赘述。LwIP是瑞士计算机科学院开发的轻量级(Light Weight)开放源码TCP/IP协议栈,目前最新版本为1.2.0

LwIP协议栈把所有与硬件相关、OS、编译器相关的部分独立出来,放在/src/arch目录下,可以是说其在设计时就考虑了移植问题。LwIP在μC/OS-II上的移植就是修改这个目录下的文件,其它的文件一般不做修改。需要修改和自己编程实现的是以下几部分:

●与STR912及IAR编译器相关的include文件;

●μC/OS-II模拟层相关代码编写;

●与μC/OS-II相关的一些结构和函数;

●lib_arch中库函数的实现;

●STR912网络驱动程序编写。

完成以上代码移植的工作后,LwIP就可以顺利运行在μC/OS-II下,主要通过以下程序完成LwIP的初始化及运行:

main(){     

OSInit();//μC/OS-II初始化

OSTaskCreate(lwip_init_task,&LineNo11,&lwip_init_stk[TASK_STK_SIZE-1], 0);      //创建LwIP初始化任务

OSTaskCreate(usr_task,&LineNo12,&usr_stk[TASK_STK_SIZE-1],1);//创建用户任务

                   OSStart();//启动LwIP  }

       在main函数中创建了lwip_init_task来初始化LwIP任务(优先级为0)和usr_task用户任务(优先级为1)。需要指出的是,在lwip_init_task任务中除了完成初始化硬件时钟和LwIP本身等工作之外,还创建了tcpip_thread(优先级为5)和tcpecho_thread(优先级为6),其中tcpip_thread才是LwIP的主线程,也是应该先创建的。

3.2   μC/OS-II下的Zigbee协议栈的实现

我们在该网关平台上运行自主编写Zigbee协议栈的子集ez_PAN。ez_PAN目前还很不完善,只实现了Zigbee的部分关键功能,仅支持星型和簇状网络(Cluster),支持网络的动态组网配置和动态绑定等。ez_PAN协议栈结构如图4所示:

 

图4  ez_PAN协议栈结构

下面给出ez_PAN 协议栈上的协调器(Coordinator)、路由器(Router)和精简节点(RFD)实现的关键代码。Coordinator通过aplFormNetwork()函数建立网络,等待其它节点(Router和RFD)的加入,主要程序如下:

Main()

 {

halInit(); //初始化 HAL 层

hawInit();//硬件初始化

aplInit(); //初始化APL

ENABLE_GLOBAL_INTERRUPT(); //开中断

aplFormNetwork(); //建立网络

while(apsBusy)()) {apsFSM();}  //等待建立完成

while(1) {apsFSM();}  //循环执行协议栈

}

其中调用apsBusy()来判断当前协议栈是否忙于其它程序调用,apsFSM()是在APS层上实现的FSM(有限状态机),被apsBusy周期调用来维持ez_PAN的运行。在Coordinator建立网络完成后,允许Router或RFD节点动态加入,关键代码实现如下:

do {

aplJoinNetwork();//Router或RFD加入网络

while(apsBusy ()) {  apsFSM();}  //等待加入完成

} while (aplGetStatus ()! =LRWPAN_SUCCESS);

3.3   协议转换软件设计

    在TCP/IP协议簇中,以太网的数据传输使用硬件地址(MAC)来进行识别,其中ARP(地址解析协议)完成IP地址和数据链路层使用的硬件地址之间的转换,因此为了保证Zigbee网关在以太网中的通信,首先要实现ARP协议的功能。Zigbee网络中的节点数理论上最多可达65536个,每个节点同样有自己唯一的MAC地址(64位长地址或16位短地址)。参考TCP/IP下的实现机制,我们实现了Zigbee协议中的适配层和ARP,实现IP地址到Zigbee节点地址的映射。协议转换的工作原理如图5所示,下面简单描述一下数据包在网关中从Ethernet向Zigbee单方向转换过程:Ethernet端从某网络接口接收一个正常发往本机的IP数据包,简单判断后向上发给对应的UDP或TCP处理函数进行相应处理,然后再向上发给网关应用程序处理;网关应用程序经过简单分析后,确定要转发给Zigbee网络中的哪个节点,通过Zigbee端的ARP解析出该节点在Zigbee网络中的MAC地址,然后将相应数据包成功交至该节点,这样就完成此次从Ethernet向Zigbee端的协议转换。Zigbee向Ethernet端转换类似,不再赘述。

图5 网关协议转换框图

4        结论

本文设计的网关已在我们的“基于Zigbee无线传感器网络的煤矿井下定位跟踪系统”项目中得以实用,取得了较好的效果。经测试该网关具有效率高、响应实时、可靠性高、功耗低,抗干扰能力强等特点,同时具有很好的通用性。由于当前Zigbee技术还在不断的更新和完善中,如何跟踪最新的Zigbee技术来提高网关的性能以及如何提高ez_PAN的多平台可移植性,将是我们以后研究的重点。

本文作者创新点:采用集成Ethernet (MAC)接口的ARM9芯片STR912作为核心扩展设计了一个Zigbee网关,它很好地克服了传统网关架构下Zigbee传输速率的瓶颈,大大降低了协议转换过程中的资源和处理时间消耗。该网关设计思路、技术实现新颖,具有较强的实用性。

 

参考文献

[1] Zigbee specification v1.1. Zigbee Alliance.http://www.zigbee.org,2006

[2] LwIP v1.2.0 source code. Leon Woestenberg.http://savannah.nongnu.org/projects/lwip/, 2006

[3] Patrick Kinney, Kinney Consulting LLC.Gateways: Beyond the Sensor Network .Zigbee Alliance, 2005

[4] http://www.ece.msstate.edu/~reese/msstatePAN/, 2006

[5] 赵晨,何波,王睿.基于射频芯片CC2420实现的Zigbee无线通信设计[J].微计算机信息,2007(1-2):P101-102

 

转自 www.21ic.com

【周口师范学院毕业论文】基于ARM平台的智能网关设计_基于arm的工业物联网网关的论文 你的支持,我的动力;祝各位前程似锦,offer不断,步步高升!!!” />你的支持,我的动力;祝各位前程似锦,offer不断,步步高升!!!更多资料点击此处获qu!! 阅读详情

相关推荐

【周口师范学院毕业论文】基于ARM平台的智能网关设计_基于arm的工业物联网网关的论文(1)

你的支持,我的动力;祝各位前程似锦,offer不断,步步高升!!!” />你的支持,我的动力;祝各位前程似锦,offer不断,步步高升!!!更多资料点击此处获qu!!

2401_83641360的博客 837

基于嵌入式linux和ARM设计的无线家庭网关

 随着网络技术和信息家电的飞速发展,越来越多的家庭要求建立家庭网络。家庭网关是整个家庭网络的核心,它主要实现 Internet接入、远程控制,以及连接家庭内部异构子网的功能。基于PC机方案的家庭网关不仅成本较高,而且要求计算机一直处于开机并可进行通信的状态,还不能在计算机上运行干扰通信任务的软件和硬件。所以,为适应普通用户,家庭网关应设计为基于廉价的非PC机设备。但是,若采用8位、16位单片机,由

宁静致远 2817

基于嵌入式的无线网关解决方案

基于arm的无线网关,将无线连入的RS232转化称TCP/IP协议

数据库SQLite之嵌入式Linux实际网关项目使用初步

1、源码下载:https://sqlite.org/download.html sudo find / -name config.guess sudo find / -name config.sub 2、移植 /usr/share/libtool/build-aux/config.guess /usr/share/libtool/build-aux/config.sub ./configure --host=arm-linux(这里根据需要可以改为gcc,即省去该配置参数(删除--host..

IoT清道夫-No Game No Life 386

Windows环境下pcl点云库 安装配置全流程(精简、有效)

本文为Windows配置点云库pcl步骤,具体是win10、visual studio 2017、pcl1.11.1。

zaibeijixing的专栏 1万+

微积分,用编程理解高数(python,C,C++)

很好理解,导数中,x是哪一点的导数,dx是精准度,y等于f(x)即函数。导数结果就是瞬时变化率。积分很好理解,a为下限,b为上限,y为函数,结果就是y=f(x)下a到b的面积。只要用定积分代入a=0,b=10(10s)y=x(1*x=1)就得到结果。F(x)为原函数,即微分后的函数是f(x)dx,微分前是F(x)一列车初始速度为10m/s,加速度为。才几十行代码,微积分也不是很难啊。,问速度达到20时车走了多少米。

linhhanpy的博客 1178

多通信接口接入互联网的嵌入式网关设计(一)

嵌入式Internet技术的出现,使得嵌入式系统与Internet之间可以实现资源共享、信息通信和状态测控等功能。目前,该技术的主要问题之一就是Internet上面的各种通信协议对于计算机存储器、运算速度等的要求比较高,而测控领域中大量存在的8位和16位MCU系统是无法处理这些的。要解决这个问题,一个可行的方法就是利用在嵌入式领域比较常用的总线,如RS485、RS232、CAN总线等,将这些处理能

宁静致远 1581

基于boot + 双app升级方案

基于boot+双app的升级方案

weixin_44654285的博客 4515

嵌入式Linux应用项目----智能网关

Linux网关的作用在于,通过蓝牙、LoRa、串口、CAN等接口,与哪些无法连接网络的设备建立联系,将它们的数据转发至服务器。这过程中,网关充当了数据的桥梁,将下级设备所产生的数据发送至服务器。网关跟我们的路由器区别是不一样的,路由器是给我们的设备提供网络服务器的,需要设备自身有网络能力,然后通过路由器WiFi 或者有线连接,路由器帮我们把报文转发到互联网。

buhuidage的博客 1189

74.9008深度刷机原理|高通QPST/Firehose底层刷写协议详解

移动设备刷机与底层维修技术指南 本文为移动设备维修人员和高级玩家提供全面的刷机与底层维修技术指南,涵盖高通、联发科和苹果A系列芯片的主要操作。 主要内容 核心操作:Bootloader解锁、Fastboot刷写、EDL深度修复、iTunes DFU模式恢复和分区表重建 适用场景:系统故障修复、底层损坏恢复、安全限制解除、系统降级和深度硬件维修 关键技术:详细解析刷机协议栈层级、关键分区作用和刷机安全机制 操作步骤: 环境搭建与驱动安装 Bootloader解锁(以小米为例) 高通机型系统刷写 苹果设备DFU

2601_95651806的博客 205

解决Jupyter Notebook中Plotly图表显示问题

摘要:在Jupyter Notebook中使用Plotly绘图时遇到图表无法显示的问题。通过分析发现Python 3.12版本与Jupyter存在兼容性问题。解决方案是将Python降级到3.11版本,重新创建虚拟环境后图表正常显示。这表明版本兼容性对数据可视化工具至关重要,环境配置检查是解决问题的关键步骤。该案例为遇到类似问题的开发者提供了参考方案。

m0_74337424的博客 124

智能家居:以ZigBee技术实现控制器设计

本文转自公众号 |嵌入式ARM 本文所介绍的智能家居控制器利用ZigBee技术将家庭中许多相对独立的家用电器构成一个统一的智能家居系统,从而方便对家居中的各种电器设备进行本地操作,同时也可通过互联网或GPRS系统对各种电器设备实现远程控制。 ZigBee是一种新兴的近距离、低复杂度、低功耗、低数据速率、低成本的无线网络技术,在众多领域有着广...

测试0901-1 1541

BME688传感器原理图设计,已量产(环境传感器)

在便携式空气质量监测、可穿戴健康设备这类低功耗场景中,BME688 这类集成了 VOC、温湿度、气压的四合一 MEMS 传感器越来越受欢迎 —— 它体积小、功耗低,刚好匹配便携设备的需求。但这类小信号传感器对电源噪声、电平匹配的要求很细,今天结合实际项目里的一款 BME688 接口电路,聊聊硬件设计的关键细节。

不脱发的程序猿 514

从飞思卡尔智能能源网关看嵌入式网关硬件架构与ZigBee应用

嵌入式网关作为物联网系统的核心枢纽,承担着协议转换、数据汇聚和边缘处理的关键任务。其核心原理在于通过异构网络融合,连接不同通信协议的设备,实现数据的统一管理与控制。在智能家居与能源管理领域,这种技术价值尤为突出,它能将传统“哑巴”设备接入网络,实现智能化监控与节能。典型的应用场景包括家庭能源管理、工业数据采集和环境监控等。本文以飞思卡尔智能能源网关参考设计为例,深入剖析了其以i.MX处理器为核心、集成ZigBee、Wi-Fi等多模通信的硬件架构。该设计特别强调了ZigBee Smart Energy协议在能

weixin_34259816的博客 252

YOLO系列算法改进 | C3k2改进篇 | 融合MambaOut轻量化门控架构 | 纯卷积实现超越Mamba性能的同时兼顾极致轻量化与边缘部署效率 | CVPR 2025

YOLO系列算法改进 | C3k2改进篇 | 融合MambaOut轻量化门控架构 | 纯卷积实现超越Mamba性能的同时兼顾极致轻量化与边缘部署效率 | CVPR 2025 (以YOLOv26最新目标检测模型为基础,利用C3k2_MambaOut创新模块进行改进)

2502_91881744的博客 224

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

通过ZigBee技术来实现智能家居控制器的设计方案

ZigBee技术是近几年逐步发展起来,很有市场潜力的一种无线连接技术。它是为了满足低功耗、低数据量和低成本的无线网络要求而诞生的。它基于IEEE无线个人区域网(WirelessPersonal AreaNetwork,WPAN)工作组的80211514标准,被称为ZigBee技术标准。完整的ZigBee协议由应用层、应用汇聚层、网络层、数据链路层和物理层组成,如图1所示。IEEE80211514标准定义了物理层(PHY)和数据链路层(MAC);

581

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

ARM及ZigBee技术实现智能家居控制器的设计

1.能家居系统的基本构成        智能家居系统可通过GSM/GPRS/CDMA/网络、ZigBee个域网、互联网以及小区信息网实现信息的互联互通。用户在户外可通过手机调控家中的电器和照明装置,也可及时得到家中的防盗、防火、防煤气泄漏等报警信息;在家中可通过遥控器调控家电设备。控制器还兼有可视对讲系统室内主机功能,能查阅社区发布的各类信息,必要时可向社区保安发出报警求救信号。系统主要由一个智

ghjk014的专栏 1528

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

zigbee无线传感网技术与应用开发v2.0_智能家居:以ZigBee技术实现控制器设计

本文转自公众号 | 嵌入式ARM本文所介绍的智能家居控制器利用ZigBee技术将家庭中许多相对独立的家用电器构成一个统一的智能家居系统,从而方便对家居中的各种电器设备进行本地操作,同时也可通过互联网或GPRS系统对各种电器设备实现远程控制。ZigBee是一种新兴的近距离、低复杂度、低功耗、低数据速率、低成本的无线网络技术,在众多领域有着广泛的应用前景。智能家居是一个多功能的综合技术系统,它以家庭住...

weixin_39719989的博客 377

基于Zigbee协议的OSGi无线家庭网关设计

 1 引言  随着internet的普及和数字家庭的深人人心.消费电子、计算机、通信3c一体化趋势日益明显,家庭网络化 已经成为家庭现代化的潮流。家庭网络可看作当作一种分布式网络,普通家电通过嵌入网络接口和能实现本地控制的I/O口,成了网络用具(Internet Personal Appliances),通过家庭网关实现网络用具的远程控制.采用基于IEEE802.15.4标准的Zigbee协议,真...

sunxboy的专栏 877

ZigBee+Linux+QT搭建自动喷淋系统

zigbee+linux+QT,从硬件到软件的完整设计系统,可用作毕设或是居家盆栽的智能化喷淋,也可用作参考学习

ITLittleDragon的博客 1590

ZigBee无线传感网络光照度监控系统设计

0 引言 随着农业科技的快速发展。农业信息获取是农业信息化建设的重要组成部分。其中的信息采集和控制技术是不可缺少的重要环节。除了温湿度数据采集之外,农作物生长需要进行光合作用。因此调节适宜的光照度对于提高农作物产量和品质起着至关重要作用田。然而传统的光照度监控系统采用人...

chixianpu8831的博客 2586

基于ZigBee和ARM的智能家居控制系统

随着网络技术和当代通讯技术发展的不断完善,家居智能化已经愈来愈受到人们的关注。智能家居控制系统是以家庭住宅为平台,控制各种家居电器设备,完美地将系统、结构、服务、管理集合为一体的控制系统。 系统通过对住宅内部环境的长期监...

cuanbihanbi60075的博客 1779

简述可编程控制器硬件组态及网络通信的核心思想_智能家居:以ZigBee技术实现控制器设计...

本文转自公众号 | 嵌入式ARM本文所介绍的智能家居控制器利用ZigBee技术将家庭中许多相对独立的家用电器构成一个统一的智能家居系统,从而方便对家居中的各种电器设备进行本地操作,同时也可通过互联网或GPRS系统对各种电器设备实现远程控制。ZigBee是一种新兴的近距离、低复杂度、低功耗、低数据速率、低成本的无线网络技术,在众多领域有着广泛的应用前景。智能家居是一个多功能的综合技术系统,它以家庭住...

weixin_39719729的博客 724
上一篇: 基于ARM9的嵌入式网关的研究
下一篇: 基于ARM的智能家居远程控制系统设计
lanjunlee
博客等级 码龄19年 12粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值