一种基于ARM和Boa的智能车库网关设计

来源 :无线互联科技 | 被引量 : 0次 | 上传用户:hhzj1015
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘   要:文章提出并实现了一种用于车位检测无线传感网络的智能车库网关。网关硬件由CC2530模块和ARM系统构成,软件系统移植Linux系统和Boa服务器,通过串口接收车位采集节点的数据。Boa服务器通过调用CGI脚本获取串口数据,最后通过网页发布。
  关键词:智能网关;ARM; ZigBee;智能车库;Boa
  2018年,我国小汽车保有量已经突破2亿辆,城市车位管理的智能化已成为需要迫切解决的问题[1]。随着各种傳感技术及网络技术的发展,车库开始采用Zigbee等无线传感网实时采集车位信息,该类系统布线简单、易扩容,适用性强。但ZigBee网络中协调器一般不进行数据的再处理和发布[2],需要设计一种智能网关完成协调器的接收处理并由服务器将车位信息发布到Internet,4G网络,方便人们获得车位信息、合理使用车位。
  1    系统总体结构
  智能车库网关有3个功能:(1)车库内部网络连接到外部网络的物理接口。(2)检测模块、无线传输设备、数据协调器等设备控制和管理的平台。(3)车库数据处理及发布终端。结合功能需求,网关总体结构设计如图1所示。车位检测由ZigBee网络节点完成,一般由ZigBee传输模块和前端传感器组成。网关中设计ZigBee协调器与检测节点组成完整的无线网络,用来汇总各节点的车位信息。接收的所有车位节点信息以一定的帧格式通过串口发送给ARM平台进行处理和发布[3]。
  2    系统硬件结构及组成
  智能网关硬件主要由ZigBee协调器和ARM开发平台组成。前者主要采用CC2530F256主控芯片,它是用于IEEE 802.15.4,ZigBee等应用的片上系统解决方案,体积小、功耗低[4],可以设置为ZigBee网络协调器。网关中通过它集成的RF收发器来接收车位检测节点的数据。CC2530F256串行通信接口有两个,分别是USART0和USART1,设计中USART0通过串口转USB芯片PL2303与PC机连接用于调试,USART1直接与ARM开发平台主控串口连接。
  ARM开发平台采用TX-2440A,其由主控制模块、串口通信模块、以太网接口模块等组成。主控制器模块采用S3C2440A,可稳定地运行嵌入式Linux系统,同时,提供最多3个串口,设计采用UART1与ZigBee协调器连接,而UART0与PC机连接用于调试。以太网接口模块采用DM9000芯片,它的驱动可以比较方便地移植到Linux系统。
  3    系统软件设计
  软件设计中,ZigBee协调器采用Z-Stack协议栈,应用层设计两个事件:(1)ZigBee网络数据接收事件,处理ZigBee节点反馈的信息,取出车位信息。(2)串口转发事件,将所有车位信息按一定帧格式打包定时发送给ARM系统[5]。ARM平台软件设计包括系统移植、串口数据获取及处理和网关终端网页设计。
  3.1  Linux系统及Boa服务器移植
  选择Linux系统为ARM平台上的操作系统,它主要由BootLoader,Kernel,File System组成,根据系统的硬件进行相应的移植工作。
  Bootloader主要移植工作有:(1)建立网关开发板项目,修改时钟频率和中断配置。(2)修改和添加网卡相关代码,使U-boot支持DM9000,添加ping命令宏定义,方便测试网络。修改网卡MAC地址并给开发板添加IP地址。
  Kernel中主要移植工作有:(1)LCD驱动移植,根据网关的LCD类型,修改内核源码中已有的LCD驱动,设置LCD的时钟频率。配置LCD参数,如.width,.height等。(2)移植DM9000驱动,修改mach-smdk2440.c文件,增加网卡选项。在主板devs.c文件中加入DM9000驱动文件和相关数据结构体。修改驱动dm9000.c源码,添加头文件、指定中断触发方式,设置MAC地址。
  Boa服务器是小巧、高效的Web服务器,是适合嵌入式Linux的HTTP服务器,源代码开放、性能高。具体的移植步骤如图2所示。
  安装Boa源码包后在源码根目录下执行命令.configure,配置Boa服务器;修改源码根目录下的Makefile文件,设置CC=arm-linux-gcc和CPP= arm-linux-gcc;在根文件系统中配置Boa服务器相关目录,将编写好的网页HTML文件存放到/etc/boa/www/目录;CGI脚本存放到/etc/boa/cgi-bin/目录。
  3.2  串口数据与Boa服务器的交互
  ZigBee协调器接收的车位信息需要网关在Linux下通过ARM平台的串口读取,再通过CGI方式与Boa服务器进行交互。
  网关设计中,串口1设备位于/dev/目录下的s3c2410_serial1文件,打开串口是通过使用标准的文件打开函数open函数打开,同时,设定串口的工作模式为读写方式、无延时模式。串口的波特率设置为57600,8位数据位,无校验位,1位停止位。
  串口接收到的车位信息用文档保存通过CGI与Boa服务器进行交互,CGI是外部应用程序与Web服务器之间的接口标准,CGI允许Web服务器运行外部程序,并将输出到Web浏览器,简单来说CGI程序使Boa服务器网页具有交互功能。
  本系统CGI程序主要进行了以下设置:(1)在Web服务器中,打开HTML文件,以进行内容修改。(2)通过文件方式读取从串口中得到的车位数据。(3)根据串口数据对网页的表格内容进行选择,标记网页中要修改的地方。
  网关运行后,可在计算机或者任意移动终端的浏览器中输入设置好的IP地址,看到车库网关网页。每一个车位用数据中的一个位来表示,1代表有车,0表示没车。经测试,停车后网页对应位置显示小车图片。
  4    结语
  该智能车库网关发挥ZigBee无线传感网络采集车位信息的优势,将局域网与外部广域网进行连接。通过ARM嵌入式平台开源设计的优势,使用程序小、效率高的Boa服务器与网页进行连接,能起到非常好的交互作用。
  [参考文献]
  [1]樊勇,任燕,司博章.基于物联网技术的车位检测系统[J].物联网技术,2012(11):29-31.
  [2]王慧,谢东,薛保珊,等.远程监控系统中嵌入式网关的设计[J].西昌学报(自然科学版),2018(12):85-89.
  [3]林关成.基于STC89C52单片机的车库智能监控系统设计[J].计算机与数字工程,2018(10):2160-2163.
  [4]牛国峰,张明新,郑金龙.基于ZigBee的物联网智能家居设计[J].常熟理工学院学报(自然科学),2018(5):51-54.
  [5]李玲,郭晓玲,武仁杰,等.基于NB-IoT及ZigBee的无线传感器网络网关设计[J].通信技术,2019(1):234-237.
其他文献
目的 探讨小肠三叶肽 (ITF)与大肠癌的发生、进展及预后的关系。方法 收集手术切除的大肠癌标本 ,同时取距癌灶 5cm以外的癌旁组织及 10cm以外的正常组织。用原位杂交法检
要发展学生的写作核心素养,教师先要修炼自身写作教学素养。书面表达力、资源运筹力、课程整合力、语境还原力、知识生产力、现场理答力,是教师写作教学显性的关键能力;坚守
一、教学重、难点在课程目标系统中的关系有人认为:“教学重点是指在一次课的教学过程中,要让学生着重掌握的知识或技能。教学重点是从技术动作的层面来确定的,是教师对动作
我国在2016年提出'中国制造2025'战略计划,简而言之也就是促进科技创新发展,积极促进产业转型发展,并加强人才培养,实现两者的对等,以能够为数量和质量匹配度起到保
2006年,长沙作家于建初出版了一本叫《脚都》的小说,但该书在长沙并没有想象中那样畅销。实际上,即便是这本书298元的价格,也不够洗一次脚的花费。但洗脚毕竟比看书轻松多了。
随着社会环境的不断转变,很多人的心态已经开始发生了转变,特别是人们走进了信息时代,会接触到很多的负面信息,因此在这种情况下思想政治教育就是非常重要的。通过思想政治教
在建筑工程项目实施中土建施工是比较关键的一个组成方面,其质量直接关系着整个建筑工程项目的质量效果,必须要加强质量的控制和管理,除了建筑单位自身的质量控制之外,监理也
《奇妙的想象》是统编教材三年级下册习作单元的习作内容。教学过程中,教师要让学生明确习作内容和要求;引导学生关注关键词,学习审题;结合习作例文,提炼想象的方法;运用思维
耐药结核病已成为结核病疫情上升和难以控制的一个重要原因,而耐多药结核病(MDR-TB) 则是耐药结核病中后果最严重的一种,由于其对多种基本抗结核药产生耐药,给结核病的防治带