随着各行业信息化的加速及物联网技术的不断发展,传感器及传感器网络的部署不断加速发展。传感节点作为传感器网络的数据汇集节点和传感器接入及管理节点,承担着数据收发、节点管理及与上层网络的通信功能,在传感器网络中起着至关重要的作用。传感器网络结构示意图如图1所示。传感器节点(Sensor Node)通过有线(如RS-485、RS-232、CAN等)或无线(如ZigBee、Bluetooth等)通信连接方式将传感器(Sensor)汇集到一个传感网络节点,构成一个星形传感器网络。传感器节点负责管理与之相连接的传感器设备,并将传感器采集到的数据通过互联网络发送到数据库存储以供应用层连接使用。
智能化的传感器节点可有效提高传感器网络的管理效率和优化传感器网络配置。本文基于嵌入式系统,设计了一种可远程管理配置传感器设备的智能传感节点,以提高传感器网络的管理和使用效率。
1 智能传感节点功能与原理
传感器节点的功能定位是对下接入数字通信型传感器或模拟式传感器(可选),自动扫描识别接入的传感器设备,并远程对其进行需要的配置。配置完成后,转入正常工作状态,接收传感器采集来的数据,并按照通信协议规范将数据通过网络通信接口送到上层应用网络,图2所示为智能传感器节点一般原理示意图[1-3]。
根据功能需求,传感节点主要由可选的接入传感器信号调理、网络通信接口、微控制器和供电模块部分组成。如图2所示[4],可选标准化信号接口与调理模块适用于直接接入模拟传感器,以太网RS-485、无线Wi-Fi、ZigBee和3G等模块主要以有线或无线方式接入数字化的传感器及连接互联网。RS-232也可用于接入传感器,但主要用于智能传感节点的终端调试。
微处理器采用基于ARM11架构的三星S3C6410嵌入式处理器[5]。S3C6410是一个16/32位RISC微处理器,还为2.5G和3G通信服务提供优化的H/W性能,支持USB主设备及USB OTG功能,支持UART、I2C总线,提供SPI、GPIO接口和MMC/SD主设备。
微处理器除了承担传感器接入识别及通信外,还可以运行基于嵌入式Web服务的配置和管理程序。由于本传感器节点可将传感器及其组成的传感网络接入到现有的互联网络,从而实现数据远程转发的作用,因此,本传感器节点也可称之为传感路由器。
2 硬件模块设计
2.1信号接口调理模块
限于篇幅,本文只说明了电流信号接口模块的设计。图3所示为电流信号接口调理电路原理框图。由于S3C6410内部自带一个具有8通道模拟输入的10 bit/12 bit ADC转换模块,在5 MHz的ADC时钟下,最大转换率是1 MS/s,ADC转换器带有片上采样保持功能,且支持电源休眠模式。本设计采用了S3C6410内部自带的ADC转换模块。图4所示为电流-电压信号变换/放大电路,输入的电流由100 Ω精密负载电阻变换为电压信号,由同向放大电路放大至ADC转换所需要的电平,增益可以由电位器来进行微调。运放采用AD8551芯片,其在低压差单电源情况下表现完美,具有极低失调电压(5 μV)和极低的温漂(0.03 ?滋V/°C)。
图5所示为电源供电电路,稳压芯片采用了线性LM1117DT5.0和LM1117DT3.3,具有较宽的输出电压范围(1.25 V~13.8 V),输出电流可达800 mA。
2.2 通信接口模块
图6所示为Ethernet网络通信接口电路原理图,是智能传感节点与上层数据库服务器进行通信的主要方式,也是本地或远程访问智能传感器的通信方式。以太网主控芯片采用ENC28J60,通过SPI串行口与微控制器相连。ENC28J60是带有行业标准串行外设接口的独立以太网控制器,采用了一系列包过滤机制以对传入的数据进行限制,内部还提供了一个DMA模块,以实现快速数据吞吐和硬件支持的IP校验和计算,与微处理器通过两个中断引脚和SPI实现,数据传输速率高达10 Mb/s。
3 嵌入式系统及Web服务构建
3.1系统内核的构建
智能传感节点采用的微处理器芯片是Samsung S3C6410,是一款基于ARM11内核能够运行嵌入式系统的移动式智能处理器[5]。本设计采用嵌入式Linux操作系统,负责管理传感器的接入、数据采集、网络通信及提供Web服务等。系统内核基于linux-2.6.36版本进行裁减移植[6-7],主要保留了系统运行内核、电源检测管理、通信接口驱动、网络服务相关的部分。添加了ADC驱动,Wi-Fi、Bluetooth、3G、ZigBee等无线通信协议及驱动[8]、修改了部分硬件驱动,经广州友善之臂公司提供的交叉编译工具arm-linux-gcc-4.3.2完成内核重新编译,并制作根文件系统。最后将映像文件下载到SD/MMC卡中,并设置系统从SD/MMC引导启动[9-11]。
3.2 嵌入式轻量级Web服务构建
为便于通过智能传感节点对传感器进行远程配置管理和对传感节点进行管理设置,在智能传感节点嵌入式操作系统中配置了小型轻量级Web服务boa引擎[12],通过CGI程序getpara.cgi、setpara.cgi、scan.cgi分别读取传感节点的配置信息、更改配置信息和扫描接入的传感设备,从而实现远程管理传感设备和传感节点。图7为使用360安全浏览器通过内网IP地址访问智能传感节点查看节点信息的页面,左边导航栏可分别扫描接入的传感设备、查看节点配置信息和更改节点配置信息等。智能传感节点通过执行通用网关Web服务器程序scan.cgi发送统一的状态查询命令CMD_SCAN(0x01),各接入的传感器设备接收到此命令后,返回一条确认信息RET_ACK(Ox11)和自身的身份信息INFO_ID,通过解析可显示在管理页面上;通过执行getpara.cgi程序可将当前选中的传感设备的配置信息读取出来并显示在页面上;同样,通过执行setpara.cgi程序可对当前的传感器设备进行参数配置;根据需要还可编写其他功能的CGI程序来完成相应的管理或配置功能。由于这些工作是通过Web网络浏览器来完成的,因此可在本地或远程通过IP地址访问智能传感节点来实现传感器设备的配置与管理。
智能化的传感节点在传感器网络中承担着网络的维护和传感器或传感节点的管理及配置作用。在提高传感器网络的运行效率,实现数据的采集与传输及通过能效管理以延长传感器网络使用寿命等方面都具有至关重要的作用。本文设计开发的基于嵌入式系统的智能传感节点,可实现以有线或无线等通信方式接入多种类型与功能的传感器设备。构建的轻量级Web服务可在本地或远程对接入的传感器设备进行管理配置,提高了传感器网络的智能化管理和运行效率。本文下一步的工作是不断完善智能传感节点的硬件设计与软件开发,增加对传感器设备状态进行管理和监测、数据转发控制与处理功能,使其智能化、低功耗和高可靠等性能不断提高。
参考文献
[1] 周岳斌.IEEE 1451混合接入模式下网络化智能传感系统建模与实现[D].广州:华南理工大学,2012.
[2] 吴键,袁慎芳.无线传感器网络节点的设计和实现[J].仪器仪表学报,2006(9):1120-1124.
[3] 陈向群,朱伟,杨瑞多.网络化智能传感器通用开发平台的设计与实现[J].仪器仪表学报,2004(9):34-38.
[4] 翟羽佳,吴仲城,沈春山.基于STM32的传感器接口模块的设计[J].电子技术,2011(8):57-60.
[5] User′s Manual S3C6410X RISC Microprocessor REV1.10[Z].2008.
[6] 冯世奎.基于ARM的Linux嵌入式系统移植的研究与应用[D].成都:电子科技大学,2006.
[7] 赵明鑫.Linux内核在ARM上的裁减与移植[J].计算机与数字工程,2009(7):81-84.
[8] 胡友水,李汉强.基于ARM的嵌入式TCP/IP协议的实现[J].电子技术应用,2003,29(12):25-27.
[9] 李剑,赵鹏程,汤建彬.32位ARM嵌入式处理器的调试技术[J].电子技术应用,2003,29(3):25-27.
[10] 王志峰.基于嵌入式Linux下SD卡驱动研究与设计[D].沈阳:沈阳工业大学,2010.
[11] 孙伟忠,吴庆洪.SD卡引导Linux内核在ARM11中的实现[J].机电信息,2010(24):41-42.
[12] 杨虎,王卫东.基于ARM9的WEB服务器设计与实现[J].电子设计工程,2013(2):10-11,15.