APP下载

基于树莓派的测控系统网络架构设计*

2020-05-30李晨安胡博文

机电工程技术 2020年4期
关键词:树莓测控间隔

张 成,李晨安,张 欢,胡博文,孔 洁

(合肥通用机械研究院有限公司,合肥 230031)

0 引言

物联网作为新一代信息技术,发展速度远远高于传统互联网[1]。然而,物联网技术迟迟未能在市场中完全普及开来,主要有以下原因。

(1)物联网协议未统一。从物联网概念诞生起,物联网通信协议一直是众多厂家争夺竞争优势的关键因素,目前比较流行的物联网协议包括NB-IOT[2](Narrow Band Internet of Things)、 LoRa (Long Range)、 eMTC (enhanced Machine-Type Communication)等。不同协议相互之间的不兼容,严重影响了物联网行业的快速发展。

(2)物联网数据的海量性[3]。大型测试系统包括海量的传感器节点,如何将这些数据收集起来进行存储、查询和分析,是非常困难的任务。

(3)物联网传感器节点的异构性[4]。大型测试系统包括类型各异的传感器节点,既有传统的温度、湿度和压力等信号,也有诸如加速度、振动、噪声和光学图像等信号。不同的传感器通信方式不同,信号类型不同,更为困难的是,对不同传感器采集的精度和速度的要求都是不同的。传感器节点的异构性对后台信号处理平台造成了非常大的困难。

(4)物联网传感器数据的非连续性。由于物联网传感器节点的采样间隔不同,在日常运转中存在大量冗余,然而在特殊时间节点却异常重要,例如设备的预警,监控数据的回放等。用户如果希望查询某时刻的传感器节点数据,通常情况下,会采用数据插值法,用前后时间节点采集到的数据进行加权计算得出。由于数据的动态变化,传感器的采样间隔和数据插值算法的设计,都会对系统的性能造成很大的影响。

总的来说,物联网不同于互联网,大量是由机器产生的数据。物联网的难点并非单纯实现数据与数据之间的通信[5]。核心要素在于,物联网网络架构不仅要实现数据通信的功能,还要以相对低成本、实时地且稳定可靠地实现数据的交互及存储查询功能,并根据设备状态做出相应的调节控制,关键在于网络架构的设计,以及核心算法的处理。因此设计了一套以树莓派为核心的多节点物联网远程测控系统软硬件解决方案,利用树莓派等开源硬件产品,通过设计合理的网络和算法结构,将数据上传与存储的难度降低到可控的程度。

1 系统总体架构

本文设计的技术平台主要应用于制冷空调产品的实时性能检测。与其他工业物联网行业不同,试验室性能测控系统不仅对数据的实时性要求较高,也对数据的存储和分析查询要求较高,既要让用户能够灵活地对试验历史数据进行分析和查询,又要根据测试情况,对试验室设备运行状况进行及时地预警及优化。

本文设计的物联网网络架构包含物联网测试系统的全部软硬件功能。其中,硬件部分包括传感器节点、串口或网关服务器,并使用树莓派作为整个测控平台的中心处理单元[6-7]。软件部分包括树莓派中的数据处理算法、云后台数据服务器数据库及Web浏览器功能开发。

由于传感器节点的测量精度和采集间隔不同,系统配备了不同类型的数据采集服务器,包括无线串口服务器、中低速网络采集器、高速网络采集器等,传感器数据在数据采集服务器中进行采样预处理后,集中上传给测控服务器树莓派。树莓派是整个测控平台的核心,定期接收采集数据服务器不同类型的数据上传,并根据设备运行的状态动态调整采样时间间隔,通过加权计算,动态调整预警门限值的大小,之后,树莓派将全部数据打包,通过 (HyperText Transfer Protocol,HTTP)协议上传至后台云端服务器。系统采集存储过程也称为数据正向过程,如图1所示。

图1 物联网测控平台正向过程

物联网测控平台还具有设备控制与调节的功能,也称为数据逆向过程,逆向过程的设定需要管理员权限,(User Interface,UI)界面并不对普通用户开放。如图2所示。

图2 物联网测控平台反向过程

2 子系统模块

2.1 传感器节点

该项目主要采用如下传感器节点。

(1)温度传感器。赛亿凌公司生产,核心芯片为DS18B20+,输出RS485数字信号。本项目通过串联的方式将温度传感器级联起来,共部署100个温度传感器。

(2)压力传感器。GE Druck公司生产,精度为0.25%,输出-5~5 V电压信号。

(3)脉动压力传感器。美国PCB公司生产,精度为7.25 mV/kPa,输出-5~5 V电压信号。

(4)加速度计。美国PCB公司生产,精度为10 mV/g,测量范围0.5~10 kHz,输出-5~5 V电压信号。

(5)麦克风。丹麦GRAS公司生产,精度为50 mV/Pa,输出-5~5 V电压信号。

不同的传感器对采集间隔和精度差异很大,如脉动压力传感器和加速度计传感器对采集间隔的要求为1 ms以下,而温度传感器对采集间隔的要求较低,10 s即可。系统设计了多套采集系统并联组合的方案,最终将预处理之后的数据发送给树莓派统一处理。

2.2 数据采集服务器

根据传感器输出信号的类型,以及对采集间隔和采集精度的要求不同,使用3种类型的数据采集服务器分别进行信号处理。

(1)无线串口收发服务器。使用中泰电子的DRF2659C模块,核心芯片是TI公司的CC2630。将温度传感器输出的RS485协议信号封装成Zigbee协议进行空口无线传输,通过中泰电子的DRF2658C模块将Zigbee信号还原成为RS485信号,再封装成USB协议接口数据上传至树莓派。使用过程中,数据采集服务器DRF2658C作为主设备,DRF2659C作为从设备,一台主模块DRF2658C可以连接多台从模块,易于扩展。

(2)低速网络数据服务器。使用研华公司的6217测量模块,测量类型为电压和电流信号,本项目中为压力和流量传感器,可以实现1 s的采样时间间隔。

(3)高速网络数据服务器。使用NI公司的cDAQ-9184测控平台,测量类型为电压和电流信号,将脉动压力传感器、加速度计传感器和麦克风传感器,分别接入cDAQ中,系统的分辨率设为1 kbps,对采集数据进行FFT频谱变化,分别输出脉动压力值、压缩机转速值、压缩机振动值,以及环境噪声值,输出数据处理时间可以低至1 s。

2.3 数据处理服务器

树莓派作为智能硬件平台的代表,具有众多优点:开源的硬件平台,使用灵活的Python开发语言[8-10],具有丰富的外设接口,易于扩展性以及高性价比等。系统使用树莓派作为核心的数据处理中心,主要完成以下工作。

(1)将数据采集器上传的数据集中加载处理。树莓派定时将以太网、USB和无线空口的数据分别加载到内存中。其中,USB外设的存放路径为“/dev/USB00/”,以太网数据采用Socket连接,依次寻址到所有网络服务器设备,所有采集数据加载完成后进行统一格式处理。

(2)将处理后的数据上传至腾讯云服务器后台。树莓派将采集数据打包整理好后,作为客户端,使用HTTP协议格式,将数据定时循环发送并上传至腾讯云服务器。

(3)实时监测腾讯云服务器发送来的信号指令用于调节和控制设备。考虑到设备的控制与调节,本项目在树莓派中也部署了Socket服务器后台,用于监测来自用户网页反馈的信号数据。树莓派监测到高级管理员从浏览器发送过来的指令后,会立即将数据封装成Modbus的协议格式,通过无线串口服务器,发送给调节和控制设备,用于设备的启停和调节器的动态调节。

(4) 实现动态采集、调度和预警等算法。

2.4 算法设计

该项目算法设计包括以下两种。

(1)动态调整采集时间间隔。通过对树莓派采集的数据进行分析,实时监测设备运行的核心指标,并由此根据设备的运行情况,分为“正常”、“预警”和“报警”3种状态类型。每种状态类型设计不同的采样时间间隔,具体设计如表1所示。

表1 树莓派采样间隔设计

(2)设定系统关键指标的阈值门限。设计合理的预警和报警阈值门限,在整个系统的设计中极为关键,根据压缩机多个关键性能指标加权,得到如表2所示阈值设定加权值。

表2 系统关键指标加权值设定

以上几个指标是衡量压缩机性能及试验装置试验台性能的关键指标,当这些数据均处于“正常”状态时,数据采集间隔为10 s;当其中任意一项指标处于预警状态时,数据采集间隔为3 s;当其中任意一项指标处于报警状态时,采集间隔为1 s;当排气压力逐渐升高过程时,采样间隔及数据的变化情况如图3所示。

图3 树莓派采样间隔动态调整

2.5 数据存储及查询

测试系统的后台云服务器部署在腾讯云上,主要功能是进行数据的存储和分析,并通过浏览器呈现给客户端UI用户,通过进行用户的绑定和区分,对高级管理员授予设备控制和调节的权限。

云服务器使用的操作系统为Ubuntu Server 16.04.1 LTS64位,用Nginx作为代理服务器,后端采用python flask框架,主要实现数据存储、用户登录管理以及认证加密等功能,前端采用HTML5+CSS3+JQuery的框架,调用Bootstrap库和eCharts曲线库来完成界面的优化工作[11-13]。

云服务器的核心难点在于数据库的设计,即如何将海量物联网的数据进行有效存储及查询。系统采用Mysql与MongoDB双重数据库存储架构,原因如下。

(1)Mysql是关系型数据库的代表,非常适合小型网站的数据存储,优点是灵活稳定,且有丰富的插件可供使用,缺点是读写大量数据时速度较慢,且存储空间受限,本项目主要使用Mysql作为用户信息和系统关键数据的存储。

(2)MongoDB是近年来较为流行的分布式数据库,优点是数据分集复制,能存储海量数据,且读写数据速度很快,适合负载量较大存储场景,缺点是表结构不明确,系统关键信息存储安全性相对Mysql较低,本项目主要使用MongoDB数据库存储海量的物联网传感器节点数据,也为后期用户使用诸如Pandas等数据分析工具进行数据查询分析打下基础[14-15]。

3 系统演示及性能分析

系统最终上传的数据通过浏览器展示给用户,为此,设计了图表形式来呈现,如图4所示。浏览器的刷新时间可以实现最快1 s/次。考虑到数据上传的效率以及网络带宽,设计了与树莓派采样间隔类似的算法,根据数据状态的变化,分为“正常”、“预警”和“报警”3种状态类型,每种状态类型设计的采样时间间隔分别为10 s、3 s和1 s。

图4 用户浏览器实时数据表格显示

4 结束语

物联网测控系统的关键难点在于数据稳定可靠的传输以及实现的相对低成本。本文利用树莓派等开源硬件产品,通过设计合理的网络和算法结构,将数据上传与存储的难度降低到可控的程度,主要有以下几点创新:(1) 将树莓派等智能硬件产品应用在于制冷空调产品的实时性能检测行业中,基本满足试验室测控系统对采集数据的实时性需求以及数据分析查询的需求;(2) 针对不同传感器节点对采集时间和精度的要求不同,设计了一套完整的并行数据采集服务器架构,可以兼顾不同数据接口和采样要求,并且控制其保持同步输出;(3) 通过在树莓派和云服务器中设计分段的采样间隔,设置关键数据的阈值加权预警,适当降低数据上传和存储的数据量,降低带宽负荷以及数据库存储难度,能够满足对设备预警和报警状态的判定需求。

猜你喜欢

树莓测控间隔
间隔问题
昆山祺迈测控设备有限公司
基于树莓派的骑行智能头盔设计
间隔之谜
基于树莓派的远程家居控制系统的设计
基于现代测控技术及其应用分析
虚拟仪器技术在农业装备测控中的应用
向着新航程进发——远望7号测控船首航记录
响应面法优化红树莓酒发酵工艺
上楼梯的学问