多源传感器数据采集系统的设计与实现
2016-12-29黄递全田寿全
黄递全,向 娟,田寿全
(1.国家测绘地理信息局 重庆测绘院,重庆 400015)
多源传感器数据采集系统的设计与实现
黄递全1,向 娟1,田寿全1
(1.国家测绘地理信息局 重庆测绘院,重庆 400015)
基于Mina框架,利用Java 技术详细设计开发了多源传感器数据采集系统,实现对传感器终端发送的数据进行接收、解析、展示、转换、加密和发送等。多源传感器数据采集系统作为传感器终端和数据中心之间的中介,实现了数据的自定义协议转换,对物联网数据采集技术具有重要意义。
物联网;传感器;数据协议;采集终端
当前,以物联网、云计算等新一代技术为核心的智慧城市建设理念,成为一种未来城市发展的全新模式[1]。智慧城市是城市信息化发展的必然趋势,是在数字城市建设发展到一定阶段,科学技术达到一定水平,社会需求达到一定程度的必然要求。物联网技术作为智慧城市的关键技术之一[2,3],它体现了一种虚拟数字世界和现实物理世界的融合趋势。物联网是一个层次化的网络[4-6]。作为物联网子网之一的传感网是指由随机分布的集成有传感器、数据处理单元和通信单元的微小节点,通过自组织的方式构成的网络。传感器数据采集技术[7,8]具有智能获取、传输和处理信息的功能,它将系统和各个节点有机地连成一个整体,起到互相协同的作用。多源传感器数据采集技术是物联网实现智能感知功能的关键技术。
1 系统设计
1.1 总体架构
多源传感器数据采集系统硬件搭建主要包括传感器设备、供电电源、中央控制单元硬件设备等。经过采集终端系统软件解析转换为有效数据存储,进而发送到服务器中心。采集终端硬件链接如图1。
终端系统形成了传感器数据从终端到中央控制单元再到存储服务器的一体化流程。系统软件将多源传感器数据进行接收、解析,然后按自定义协议存储发送。采集终端数据流程图如图2。
1.2 数据库设计
图1 采集终端硬件链接图
传感器的多样化导致数据格式的不统一,因此需要根据传感器各自数据格式,按自定义协议规范化数据,建立系统化数据库。采集终端数据库包括自身属性数据以及表征监控点状态的传感器数据、GPS数据。采集终端数据库设计如图3所示。
图2 采集终端数据流程图
图3 采集系统数据库设计
1.3 主要功能模块设计
多源传感器数据采集端,也称作中央控制单元,是物联网示范应用的基础,主要实现数据采集、转换、发送等。详细功能设计如图4所示。
1)数据读取。传感器的数据通过RS485串口与中央控制单元链接,中央控制单元根据不同传感器的串口参数(串口号、波特率、停止位、数据位、校验位等)分别与各传感器建立链接通道。链接通道建立后就可以向传感器发送数据读取命令,传感器在接收到数据读取命令后向中央控制单元返回实时数据。
2)数据解析。根据数据来源的串口信息辨识传感器数据与GPS数据。传感器数据解析,根据数据来源辨识该条数据属于哪个类型的传感器数据,再根据相应的数据解析规则解析出数值。GPS数据解析,根据特定编码方式,将字节流转换成字符形式,并获取完整的GPS数据包,其中包括可见卫星信息(GPGSV)、地理定位信息(GPGLL)、推荐最小定位信息(GPRMC)、地面速度信息(GPVTG)、GPS定位信息(GPGGA)、当前卫星信息(GPGSA)、卫星信号中时间信息(GPZDA),再对相应数据进行解析。
3)数据展示。在中央控制单元展示模块中包括实时显示传感器数据及中央控制单元和服务器、传感器的链接状态。这样,既可以看到传感器状态的实时变化,也可以实时看到中央控制单元的链接状态。因此开辟了独立的线程,设置数据刷新的频率,实时更新UI,并且采取异步后台运行的方式。
4)数据存储。创建临时数据库,对各类传感器数据创建相应的表进行存储。在接收最新传感器状态值时,将历史存储数据覆盖,存储该传感器数据记录。在临时数据库保持存储传感器最新的数据记录。
5)数据转换。将传感器有效数据按照设定的协议转换为特定的数据格式。数据转换时将传感器数据和GPS数据分别进行编码,按要求规范化,打包数据,包括包头、协议号、包编号、传感器类型、数据内容等。
6)数据发送。在中央控制单元所在环境建立局域网,并通过3G链接外网,建立中央控制单元与服务器层的网络链接,以3G网的方式发送数据。建立独立线程,设置一定频率,往服务器实时发送数据。
2 系统实现
根据系统总体架构及功能设计,开发了多源传感器数据采集系统。系统实现了传感器数据读取,解析;实现了传感器数据动态展示,监控传感器的实时状态;实现了按自定义协议,规范化传感器数据,将数据传输到数据中心。从界面可以看到采集终端的基本信息,传感器实时数据以及系统信息。采集终端系统界面如图5所示。
图5 采集终端系统界面
3 系统关键技术
1)信号转换技术。传感器最初接收到的数据是模拟信号,为了高效地传输和存储数据,需要将模拟信号转换为数字信号,RS485芯片负责将传感器的模拟信号转换为数字信号,每个信号以MODBUS协议的数据格式传输至中央控制单元。
2)实时网络通信技术。为了保证中央控制单元将数据实时高效地发送至服务器层,拟采用TCP/IP通信协议,通过Socket套接字技术实现中央控制单元与服务器层的链接。TCP/IP协议可以最大限度地保证数据的完整性。
3)多线程管理技术。中央控制单元负责接收各个传感器发送的数据,经过处理发送到服务器层。中央控制单元需要协调数据接收、存储、显示、发送等任务,对多个任务加以控制,采用异步处理技术。多线程地有效管理可以提高系统的效率,实现在同一时间内完成多项任务。其中用于数据显示的UI更新线程采用异步后台运行技术。
4)数据缓存池技术。由于数据的读取和发送由不同线程处理完成,这就涉及到不同线程之间数据交互和共享的问题。采用数据缓存池技术,数据读取线程将最新的数据存储在公共内存中供数据发送线程读取和调用。
5)黑匣子技术。为了最大限度地保证数据的完整性,中央控制单元向服务器层每发送一条数据都会得到一个数据反馈,以确保服务器层完整地接收到数据。假如发送数据后未收到服务器层的反馈,则将数据存入黑匣子数据库,随后再重新发送数据。
6)信息安全技术。为保证传感器数据安全到达服务器层,将传感器数据按协议打包、加密,以加密方式发送到服务器层。
4 结 语
本文采用信号转换技术、实时通信技术、多线程管理技术、C/S编程技术开发了多源传感器数据采集系统,实现了传感器数据的读取、解析、展示、存储、转换、发送等。传感器数据采集系统是物联网服务平台应用的基础部分,实现了传感器数据从终端硬件到数据中心的转换并向Web端、手机应用端提供数据支持,对物联网技术研究有重要意义。智慧城市的建设需要物联网技术的支撑,而物联网技术需要传感器的支持。采集系统实现传感器数据的有效提取,为智慧城市的建设提供了数据来源,在城市数字化、虚拟化、智慧化方面发挥了重要作用。
[1] 孙圣和.现代传感器发展方向[J].电子测量与仪器学报,2009(1)∶1-10
[2] 韩立锋.无线传感器网络技术[J].电信快报,2005(4)∶15-17
[3] 钱志鸿,王义君.面向物联网的无线传感器网络综述[J].电子与信息学报,2013(1)∶215-227
[4] 胡永利,孙艳丰,尹宝才.物联网信息感知与交互技术[J].计算机学报,2012(6)∶1 147-1 163
[5] 黄迪.物联网的应用和发展研究[D].北京∶北京邮电大学,2011
[6] 沈苏彬,毛燕琴,范曲立,等.物联网概念模型与体系结构[J].南京邮电大学学报∶自然科学版,2010(4)∶1-8
[7] 王琳,商周,王学伟.数据采集系统的发展与应用[J].电测与仪表,2004(8)∶4-8
[8] 李威宣,赵静.通用数据采集卡的驱动方法及数据采集[J].武汉理工大学学报∶信息与管理工程版,2007(5)∶16-19
P208
B
1672-4623(2016)01-0020-03
10.3969/j.issn.1672-4623.2016.01.006
黄递全,硕士,主要从事数字城市开发及地理国情普查工作。
2015-04-30。
项目来源:测绘地理信息公益性行业科研专项资助项目(201412008);国家测绘地理信息局2014年基础测绘科技资助项目。