海洋表面温湿度实时监测系统的设计

2018-08-01 08:06徐凤新
现代计算机 2018年19期
关键词:温湿度数据处理北斗

徐凤新

(上海海事大学信息工程学院,上海 201306)

0 引言

温度和湿度是同类人生活密切相关的重要环境参数,海洋温湿度数据也是进行卫星辐射定标的重要数据。因此设计一种海洋表面温湿度实时监测系统对于卫星辐射定标以及其他有关海洋环境的研究工作有着重要的意义。本系统利用温湿度传感器、SD存储卡、ARM嵌入式处理器,结合北斗通信卫星系统组成一个完整的温湿度检测系统。系统简单灵活,可在线、实时存储和显示温湿度数据信息。和传统的定期取回检测相比,在线监测减少了研究人员的工作量,也减少了数据丢失和数据失真等不必要的麻烦。而且本系统可移植性较高,可以移植运用于其他相关的领域[1-2]。

1 系统介绍

海洋表面温湿度实时监测系统主要包括:海上平台、北斗数据传输系统和岸上平台3部分,如图1所示。

温湿度传感器对海洋表面的温湿度数据进行采集,ARM Cortex-M4作为数据处理终端的核心处理器对采集到的信号进行读取分析,处理好的数据一路存储在系统自带的SD中,另一路通过RS-232串口传送给北斗天线,透过北斗信道,最终将数据发送至岸上平台的数据存储系统,对数据进行接收、存储和实时显示。

图1 系统的整体框架

2 系统硬件设计

2.1 数据处理终端

数据处理终端主要包括:主控系统、温湿度传感器模块和双路SD卡模块,并引出两个接口,一个为太阳能供电接口,连接太阳能供电系统,另一个为北斗天线接口,连接北斗卫星信号发射天线。数据处理终端以ARM Cortex-M4处理器为主控芯片,采用DHT22数字温湿度传感器,为了保证数据的安全性,采用双路SD卡系统对采集的数据进行存储。整个数据处理终端的拓扑结构如图2所示。

图2 数据处理终端的结构图

(1)ARM Cortex-M4处理器

本系统采用ST公司(意法半导体)基于ARM Cor⁃tex-M4内核的STM32 F4系列高性能微控制器。具体型号为STM32F407ZGT6。该芯片时钟频率高达168MHz,拥有 1024KB Flash,192+4KB 的 SRAM,工作电压1.8V~3.6V,工作温度范围-40~80℃。该系列的微处理器具有高性能、低功耗、低价格、技术成熟和资料齐全等优点[3]。

STM32F407ZGT6是本系统的核心控制器,在本系统中起着重要的作用,承担着连接温湿度传感器,获取、处理并存储温湿度数据,与北斗卫星发射天线进行通信等重要职责。图3为ARM Cortex-M4结构简图。

图3 ARM Cortex-M4结构简图

(2)温湿度传感器

本系统采用的温湿度传感器为DHT22,是一款含有已校准数字信号输出的温湿度复合传感器。它运用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电容式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。DHT22具备超小的体积、极低的功耗,信号传输距离可达20米以上等优点,采用单排引脚封装,连接方便。温湿度传感器电路图如图4所示[4]。

DHT22的供电电压范围为3.3V~5.5V,建议供电电压为5V。数据线SDA引脚为三态结构,用于读写传感器数据,在应用电路中,需加一个5.1K的上拉电阻。3脚为悬空引脚,不能接VDD或者GND,4脚为GND。

图4 温湿度传感器电路图

(3)Micro SD卡模块

由于海上环境的特殊性,为了保证数据的安全,本系统采用双路8GB Micro SD卡进行数据存储。Micro SD卡支持两种工作模式:SPI模式和SDIO模式。SPI是利用4根信号线进行通信的串行接口协议,包括主/从两种模式。SPI模式虽然简单易用,但是却损失了传输速度。SDIO模式采用SDIO接口,SDIO接口可扩展性更强,传输速度更快,旨在为移动设备提供高速低功耗I/O数据传输解决方案。SDIO有三种工作模式:SPI、1位SD模式、4位SD模式。所以综合比较,选择SDIO模式更能满足系统的需要[5]。SD卡模块和STM32连接的电路图如图5所示。

2.2 北斗信道传输方案

本系统是投放于宽阔的海洋上的,那么远距离数据传输只能借助于无线网络通信。由表1可知,在无线网络覆盖地区,选择GSM、GPRS、CDMA中的任意一种都可以达到数据传输的目的,但在没有网络覆盖的区域,以上方式都会失效。本系统单位时间传输的数据量不大,但安全性和实时性要求很高,并且海上平台位于远海,通信环境恶劣,综合以上因素考虑,在我国境内无盲区的北斗卫星通信方式成为首选[6]。

图5 SD卡模块连接电路图

表1 几种常用的无线通信方式的比较

(1)北斗卫星通信系统

北斗卫星导航定位系统是我国自主研制开发的区域性有源三维卫星定位与通信系统,该系统主要有快速定位、简短通信和精密授时三大功能,是继美国的全球定位系统(GPS)、俄罗斯的GLONASS之后第三个成熟的卫星导航系统。

北斗卫星导航系统具有通信、定位和授时三大功能,本系统的数据传输主要是运用了北斗卫星系统的通信功能,北斗一代卫星以及北斗二代卫星中的静止轨道卫星均提供通信服务。

北斗卫星通信系统覆盖范围广、没有通信盲区、信息加密传输安全。用户终端机分为指挥型用户机和通信型用户机,指挥型用户机可以监收其所有下属用户机的通信数据,并可以向其任一下属用户机发送命令或与其进行数据通信[6]。

(2)北斗卫星天线

本系统所选用的北斗卫星天线为北斗一号/GPS双模一体式普通型用户机,该款天线是由北京星地恒通信息科技有限公司研制。该天线可以适应高盐雾、高腐蚀海上使用环境,用户可利用该产品实现北斗定位、短信息通信功能和GPS定位功能。

图6 北斗卫星系统框图

图7 北斗卫星天线示意图

图8 北斗卫星天线实物图

(3)北斗信道传输方案的拓扑结构

北斗通信信道分为三个部分,海上平台的北斗发射天线,岸上平台的北斗接收天线以及北斗通信卫星。数据传输的方向为:海上平台北斗发射天线—北斗通信卫星—岸上平台北斗接收天线。北斗传输方案一共有三个接口,海上平台北斗发射天线预留两个接口,一个接口为24V太阳能供电电源接口,另一个为RS-232接口,用于连接数据处理终端。岸上平台的北斗接收天线预留一个RS-232接口,用于连接岸站PC端,岸上平台上的北斗接收天线供市电。图9为北斗信道传输方案的拓扑及结构示意图。

图9 北斗卫星信号传输示意图

2.3 太阳能供电系统

综合考虑海上平台的功耗、制作成本以及对海洋环境的影响,本系统海上平台采用太阳能供电。太阳能是一种能量巨大、无污染、使用安全的能源[7]。

太阳能供电系统主要由太阳能电池板、控制器和储能铅蓄电池组成。整个太阳能供电系统有两个接口,一个接口输出电压为5V,给数据处理终端供电,一个接口输出电压为24V,给北斗卫星信号发射天线供电。太阳能供电系统结构图如图10所示。

图10 太阳能供电系统结构图

3 系统软件设计

系统软件包括两个部分,一部分是岸上平台上运行的数据接收程序和前端网页实时数据显示系统,另一部分是运行在海上平台STM32处理器内部的数据处理和北斗信号传输程序。岸上平台上的数据接收程序使用C语言编写,在Linux系统下进行运行,实时数据显示网站使用LAMP(Linux操作系统+Apache服务器+MySQL数据库+PHP语言)进行系统环境的配置,网页部分采用PHP语言进行编写。ARM Cortex-M4处理器内运行的程序是使用C语言在Keil UVision4开发平台下编写,主要包括两部分,一是和北斗卫星天线进行通信,二是负责对温湿度传感器采集到得数据进行处理、发送和存储。

3.1 海上平台软件设计

(1)FreeRTOS

FreeRTOS是一款可移植的、开放源代码的微型实时操作系统内核,它免费下载、免版税,并可用于商业应用。它为多种不同的处理器架构和开发工具提供移植包。每个官方移植包都包含一个配置好的应用范例,用来展示内核特性,加快学习进程,并允许“开箱即用(out of the box)”式的开发[8-9]。

FreeRTOS提供的功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能等,可基本满足较小系统的需要。FreeRTOS内核支持优先级调度算法,每个任务可根据重要程度的不同被赋予一定的优先级,CPU总是让处于就绪态的、优先级最高的任务先运行。FreeRT0S内核同时支持轮换调度算法,系统允许不同的任务使用相同的优先级,在没有更高优先级任务就绪的情况下,同一优先级的任务共享CPU的使用时间。本系统处理任务量较少,所以,FreeRTOS完全满足要求[9]。

海上平台的软件程序运行在STM32内部的Fre⁃eRTOS系统中。STM32程序对温湿度传感器的SDA总线进行循环扫描,将采集到的温湿度数据处理后存储在双路SD卡中,然后再将数据通过RS-232串口传送给北斗卫星信号发射天线。程序的流程图如图11所示。

图11 海上平台软件运行流程图

3.2 岸上平台软件设计

(1)数据库设计

数据库关系表如下,其中带有下划线的是主键。大洋环境信息表(编号,录入时间,温度,湿度)

本系统的数据表如表所示。

(2)北斗卫星数据接收程序设计

本程序工作在Linux环境中,使用串口接收数据,波特率为115200,8位数据位,无奇偶校验位,1位停止位。程序使用多线程技术,使用两个线程分别用于接收和命令控制。在接收到数据之后,需要解析数据中的内容,将解析的内容保存至MySQL数据库中。

(3)前端实时显示网页设计

本网页使用LAMP(Linux操作系统+Apache服务器+MySQL数据库+PHP语言)进行系统网站环境的配置。网站环境如下表所示,使用PHP语言开发。

表2 信息表

表3 系统网站环境

4 实验结果及分析

为了检测海洋表面温湿度实时监测系统的性能,对该系统进行运行测试,测试结果表明,系统能实现温湿度数据的采集、存储、传输和实时显示等各种功能,运行效果良好。表4为2017年7月13日在上海海事大学临港校区进行系统测试时,测试到的数据结果,实验结果表明,所测得的温度误差在0.5℃以内,湿度误差小于5%。

表4 实际测量结果

图12网页显示端实际效果图

图13 为本系统海上平台的数据处理终端、太阳能供电系统及外层的防护装置。

图13 海上平台全貌

5 结语

本文设计的海洋表面温湿度监测系统,采用高性能、低功耗的STM32微处理器为硬件平台控制核心,同时嵌入实时操作系统FreeRTOS,设计并实现了对海洋表面温湿度的实时监测,具有低成本、高性能、操作简单以及抗干扰能力强等特点。采用模块化设计方法,降低了系统开发的复杂度,大大缩短了设计周期和设计成本,经过实验和测试,可以满足海洋表面温湿度数据处理和存储的技术要求,因此,经过对该系统进行简单的修改,就可以灵活地应用于其他领域。

猜你喜欢
温湿度数据处理北斗
一种智能化电热处理炉用温湿度传感器的变送器
北斗时钟盘
认知诊断缺失数据处理方法的比较:零替换、多重插补与极大似然估计法*
基于低频功率数据处理的负荷分解方法
文物展柜内环境温湿度的调控与监测
无人机测绘数据处理关键技术及运用
蛋鸡育雏育成舍环境控制技术
温湿度独立控制空调系统在医院建筑中的应用研究
“北斗”离我们有多远
高层建筑沉降监测数据处理中多元回归分析方法的应用研究