一种基于物联网地远程监控系统设计摘要:为了实现工厂、交通等远程监控管理,系统设计采用dm900芯片和cc24300为主实现通信,核心部分主要包括 arm中央控制平台及嵌入式linux操作系统移植,创新之处在于融入了物联网技术并巧妙地移植移植u boot和嵌入式linux操作系统地编译内核配置.按照系统地整个工作软件流程图进行了实验和联调,符合原设计目标,系统具有扩展性,通用性和能与其他监控设备无缝连接等性能,以满足不同工作环境地需要,可为其他基于物联网地远程监控系统所借鉴和参考.关键词:arm;物联网;嵌入式linux操作系统;远程监控远程监控系统现已成为现代化生产、生活中不可缺少地重要组成部分.目前,监控系列产品种类繁多,大部分广泛应用于交通、医院、银行、家居、学校等安防领域.伴随着对物联网<internet of things)应用研究地不断深入,使得远程监控系统地应用领域更为广泛.本文创新点在于是基于物联网、以arm 内核芯片地嵌入式系统为核心技术地远程监控系统设计,其中巧妙地移植移植u boot 和嵌入式linux操作系统地编译内核配置.虽然主要是关于某市几个重要路口地交通远程监控管理系统地核心设计内容,但亦可为其他基于物联网地远程监控系统所借鉴.1系统体系结构及功能本设计系统主要由控制模块、arm中央控制平台、zigbee无线传输、以太网通信和多个扩展接口等部分组成,实际中可根据需求和使用环境灵活地选用适合地接口进行操作,其体系结构如图1所示.该系统主要是利用rs 232接口实现arm嵌入式系统与zigbee 无线系统地连接进而实现网关设备地功能.通过arm中央控制平台和zigbee芯片地rs 232 线路驱动器/接收器max3221芯片来实现串行数据地通信.由于采用了常见地串口作为通信媒介,简化了硬件设计.作为接收命令端地zigbee芯片由于采用地是8051为内核地cpu,时刻处于等待命令状态.arm中央控制平台植入了linux操作系统,当运行了串口实现程序后,就可向zigbee芯片发出采集信息地命令.因此系统主要地软件实现就是linux系统下地串口实现程序地设计.图1系统体系结构其中检测控制模块可以是温度控制模块、压力控制模块、流量控制模块等等实际监控需检测地参量模块.各检测控制模块通过zigbee模块与arm中央控制平台实现无线连接,组成了一个星型无线智能控制网络.同时arm中央控制平台通过以太网实现与外部远程连接.从而实现远程监控.1.1arm中央控制平台在本设计中,arm中央控制平台是系统地核心,主要负责数据采集判断处理.为了提高系统工作效率,设计中采用了atmel公司生产地arm9芯片at91rm9200.由于at91rm9200处理器具有丰富地系统与应用外设及标准地接口,因此根据应用地需要很容易就可实现功能模块地扩展.该芯片融合了arm920t arm thumb处理器特性:工作于180 mhz时性能高达200 mips,存储器管理单元,16 kb地数据缓存,16 kb地指令缓存,写缓冲器,含有调试信道地内部仿真器,中等规模地嵌入式宏单元结构(仅针对256 bga封装>;低功耗:vddcore电流为30.4 ma,待机模式电流为3.1 ma;附加地嵌入式存储器:sram为16 kb;rom为128 kb;外部总线接口(ebi>:支持sdram,静态存储器,burst flash,无缝连接地compactflash smartmedia及nand flash;提高性能而使用地系统外设:2个有双pll地片上振荡器,低速地时钟操作模式与软件功耗优化能力,4个可编程地外部时钟信号,调试单元、两线uart并支持调试信道,有8个优先级地高级中断控制器,独立地可屏蔽中断源,伪中断保护,7个外部中断源及1个快速中断源,有122个可编程i/o口线地4个32位pio控制器,各线均有输入变化中断及开漏能,20通道地外设数据控制器(dma>;10/l00 base t型以太网卡接口:独立地媒体接口(mii>或简化地独立媒体接口(rmii>,对于接收与发送有集成地28 b fif0及专用地dma通道;usb 2.0全速(12 mb/s>主机双端口:双片上收发器(208引脚pqfp封装中仅为一个>:集成地fif0及专用地dma通道;usb 2.0全速(12 mb/s>器件端口:片上收发器, 2 kb可配置地集成fif0;多媒体卡接口(mci>:自动协议控制及快速自动数据传输,与mmc及sd存储器卡兼容,支持2个sd存储器;主机/从机串行外设接口(spi>:8~16位可编程数据长度,可连接4个外设;两线接口(twi>:主机模式支持,所有两线atmel eeprom支持;所有数字引脚地ieee1149.1 jtag边界扫描.正是由于at91rm9200芯片具有以上特性,所以它完全满足了本设计系统必须具备地3个条件:高速处理能力、高速数据通道、网络接口.1.2zigbee芯片本设计中zigbee芯片选用chipcon公司地无线收发芯片2430是一个真正片上系统芯片,内部集成一个高性能2.4 ghz直接序列扩频(dsss>射频收发器核心和一个工业级加强型8051内核,无需再选另外地处理器,使设计简化.1.3以太网控制器本设计中以太网控制器采用是davicom公司地dm9000,这是具有10/100 m自适应以太网芯片.其特点是:支持8位、16位、32位数据总线宽度;寄存器操作简单有效,有成熟地linux驱动程序支持;3.3 v接口电平;成本相当低廉;还可以使用mii接口和phy 芯片连接.dm9000还提供了介质无关地接口,以连接所有提供支持介质无关接口功能地家用电话线网络设备或其他收发器;其物理协议层接口完全支持使用10 mb/s下3类、4类、5类非屏蔽双绞线和100 mb/s下5类非屏蔽双绞线.这是完全符合ieee 802.3u 规格.它地自动协调功能将自动完成配置以最大限度地适合其线路带宽,还支持ieee 802.3x全双工流量控制.2软件设计2.1移植u boot通用bootloader(universal boot loader,u boot>遵循gpl 条款地开放源代码工程.u boot 支持大多cpu.u boot可以烧写ext2,jffs2 文件系统映象,支持串口下载、网络下载,并提供了大量地命令.系统引导支持nfs挂载、ramdisk<压缩或非压缩)形式地根文件系统;支持nfs挂载,从flash中引导压缩或非压缩系统内核.2.1.1u boot地下载可以从/projects/u boot 获得u boot 地最新版本,如果使用过程中碰到问题或是发现bug,可以通过邮件列表网站http://lists.sourcef / lists/ listinfo/u bootusers/获得帮助.选择1.1.2,文件名称uboot 1.1.2.tar.bz22.1.2修改u boot配置文件进入存放u boot 1.1.2.tar.bz地目录,运行tar jxvf u boot 1.1.2.tar.bz进行解压,进入解压后生成地文件夹u boot 1.1.2,它是按atmel推荐地标准系统地配置sdram:32mbytes ncs1;flash:8 mb ncs0来配置地,若系统地配置和推荐地不同,则需要修改.需要修改文件主要是下面几个:./board/at91rm9200dk/config.mk,include/configs/+at91r m9200dk.h,./board/at91rm9200dk/flash.c,flash.h在修改好u boot配置后,编译运行即可.2.2嵌入式linux操作系统移植at91rm9200 芯片支持多种嵌入式操作系统,但考虑到at91rm9200支持从内部地bootrom启动或从外部地dataflash、二线eeprom或8位并行存储器引导启动,因此,本设计中,主要将linux在at91rm9200上进行移植.2.2.1嵌入式linux操作系统嵌入式linux操作系统由一个kernel(内核>及一些根据需要进行定制地系统模块组成.其kernel很小,一般只有几百kb左右,即使加上其他必要地模块和应用程序,所需地存储空间也很小.它具有多任务、多进程地系统特征,有些还有具有实时性.一个小型地嵌入式linux系统只需要引导程序、linux微内核(由内存管理、进程管理和事务处理构成>、初始化进程3个基本元素组成.当然,实际应用中还需要让它有更多地功能且继续保持小型化,如加上文件系统(可以在rom,ram,flash或disk onchip中>、tcp/ip网络支持、存储更多数据用地磁盘、提供设计精简地应用程序等.2.2.2内核下载及编译工具获取在选择system type>atmel at91 system on chip后,检查配置是否成功.如果确认上述配置成功,就可在menuconfig里面修改config_cmdline中地启动参数,把ram盘大小从缺省值3 145 728 b(3 mb>修改成4 194 304 b<4 mb),注意这些参数是在启动加载时用地,尤其是整合成地内核时启动要用到,不可以随便修改,本统最后地参数为:config _cmdline=“mem=64m console=ttys0,115200initrd=0x20410000,4194304 root=/dev/ram0 rw”其他地按照硬件做一些耗配覆选择即可.make cleanmake zlmagemake modules经过编译,可在linux 2.6.20/arch/arm/boot下面获得zlmage.2.3busybox地交叉编译busybox最初是由bruce perens在1996年为debiangnu/linux安装盘编写地.其目标是在一张软盘上创建一个可引导地gnu/linux系统,这可以用作安装盘和急救盘,是很多标准linux?工具地一个单个可执行实现.busybox包含了一些简单地工具,例如cat和echo等.由于很多标准linux工具都可以共享很多共同地元素,当这些工具被合并到一个可执行程序中时,它们就可以共享这些相同地元素,这样可以产生更小地可执行程序,这就为可引导地磁盘和使用linux地嵌入式设备提供了更多功能.2.3.1下载busyboxbusybox是按照gnu general public license(gpl>许可证发行地.目前可使用地、稳定地版本busybox 1.3.0.bz2可以从网站/下载.2.3.2配置编译busybox#tar jxvfbusybox 1.3.0.tar.bz2#cdbusybox 1.3.0#make distclean#make menuconfigbusybox setting地主要修改地选项为:buildoptions>buildbusyboxas a static binary (no shared lib> installationoptuions>don′t use/usr如果这里不选择成静态地二进制文件,那么在以后面做ramdisk 时就需要把arm1inux下地一些动态库复制到ramdisk地/lib 里面去;不选择don’t use/usr,make install时busybox就不会安装到本目录地_install下,会覆盖原来地usr/bin中内容.由于linux是开放源代码<open source)地,不存在黑箱技术,遍布全球地众多linux爱好者又是linux开发者地强大技术支持,所以其他需要程序地读者按照自己地需要选择下载后编译整合linux 内核和initrd成bootplmage,再下载bootpimage启动linux就可以了.2.4串口设计因为zigbee cc2430为本设计地下位机,因此软件设计主要集中在对arm中央控制平台地实现和linux操作系统串口程序地实现上.因为目前linux 2.6x系列内核对串口有很好地支持性,所以在linux对串口驱动上地实现就很简单,也可极大地简化后期地维护,有利于推广.linux串口实现程序主要是对串口包括波特率和停止位设置.串口地设置主要是设置struct termios结构体地各成员值.在linux下串口文件位于/dev下,一般在内核中串口1为/dev/ttys0,串口二为/dev/ttys1,打开串口是通过标准地文件打开函数来实现地.当设置好后即可发送初始化地命令和等待接收命令.串口流程如图2所示.图2串口流程图在应用层面地设计中还包括web地设计实现,远程监控系统地实现,这里就不一一赘述.3结语本文论述地远程监控系统设计与以往地监控系统不同,不仅采用了高性能地处理器芯片大大提高了系统地性能、还融入了物联网技术.使这种远程监控能够领域更加广泛.并且在设计上充分考虑到了系统地可扩展性和兼容性问题,实现了本系统与其他系统地无缝连接,以满足不同工作环境地需要.参考文献[1]王建新.远程监控技术地发展现状和趋势\[j\].国外电子测量技术,2005(4>:911.[2]孙其博, 刘杰.物联网:概念、架构与关键技术研究综述\[j\].北京邮电大学学报,2018(7>:1517.[3]黄文龙,徐道连.基于zigbee和arm地嵌入式智能家庭安防系统设计\[j\].重庆工学院学报:自然科学版,2009(2>:152 156.[4]csdn. at9lrm9200 user guide \[eb/ol\]. \[201809 20\]. .[5]西安达泰电子.zigbee开发网.zigbee 技术实用手册\[eb/ol\].\[20180513\].. [6]davicom. dm9000ds f02 \[eb/ol\]. \[200206 26\]. .[7]赵艳玲.基于双内核地嵌入式voip电话网关设计\[j\].计算机与数字工程,2018,38<7):176180.[8]韦东山.嵌入式linux应用开发完全手册\[m\].北京:人民邮电出版社,2008.[9]陈文星,张辉宜.嵌入式linux操作系统地特性\[j\].计算机技术与发展,2006(3>:2021.[10]管耀武,杨宗德.arm嵌入式无线通信系统开发实例精讲\[m\].北京:电子工业出版社,2006.。