基于云服务器的自动气象数据监测系统的制作方法

文档序号:15555717发布日期:2018-09-29 01:04阅读:439来源:国知局

本发明涉及一种基于云服务器的自动气象数据监测系统,属于气象监测技术领域。



背景技术:

自动气象站是指能自动进行地面气象观测、存储和发送观测数据,并能根据需要将观测数据转换成气象电报和编制成气象报表的地面气象观测设备。地面气象观测是综合气象观测的重要组成部分,是我国各级气象观测站所承担的主要任务之一,它在气象预警、防灾减灾中发挥着不可替代的作用。

随着传感器技术和通信技术的发展,气象观测仪器设备更新换代,气象观测自动化逐渐成为现实。传统的气象站都是在采集到温度、湿度、气压、风速、风向、雨量等气象数据后采用有线方式进行数据的传输,而且传统气象监测仪器体积大、重量重、不易拆卸,运输和安装都有很多困难且设备成本与维护费用偏高。在国家大力推行“中国制造2025”与“互联网+”发展战略的大背景下,将实体制造业与互联网相联接,实现制造业发展的良性循环,因此在气象观测领域,气象仪器的无线化、便捷化、智能化便成为了目前自动气象站的发展方向。



技术实现要素:

本发明为了解决现有技术中存在的问题,提供一种基于云服务器的自动气象站数据监测系统。

为了达到上述目的,本发明提出的技术方案为:一种基于云服务器的自动气象数据监测系统,包括数据采集模块、网络共享部分和网络设备,所述数据采集模块包括若干不同的数据采集器和主控芯片,网络共享部分包括树莓派装置和云服务器,数据采集器与主控芯片连接,主控芯片与树莓派装置连接,树莓派装置与云服务器通过无线网络连接,网络设备可通过无线网络访问云服务器,所述数据采集模块用于采集气象数据并将气象数据传输到主控芯片,主控芯片用于将气象数据传输到树莓派装置,树莓派装置用于将气象数据上传至云服务器。

对上述技术方案的进一步设计为:所述主控芯片还可对所采集的气象数据进行处理,处理过程为对数据进行解析,按照顺序依次检查、加标识位并计算气象要素的瞬时值、算术平均值、极值与滑动平均值,然后对计算出的数值再次进行质量检查,检查完成后将数据重新写入数据包,然后通过串口将处理过的气象数据传输至树莓派装置。

所述主控芯片为stm32f103系列芯片。

所述云服务器内设有mysql数据库,树莓派装置通过远程访问的方式对mysql数据库进行访问,并插入处理过的气象数据,完成数据更新。

所述网络设备通过php脚本实现对mysql数据库的访问;访问时需编写获取mysql数据库中数据表的行数的php脚本,以及获取mysql数据库中数据表内指定条数记录的php脚本。

所述获取指定条数记录的php脚本是按照时间降序排列获取当前数据表内所有记录中时间最靠前的记录,并按照时间升序排列进行输出。

本发明的系统还包括供电设备,所述供电设备包括风光互补性太阳能电池,用于对检测系统进行供电。

所述供电设备还包括系统后备电源,系统后备电源为12v锂电池组。

本发明的有益效果为:

本发明中气象监测站与观察者之间通过互联网进行连接,使得数据观察方式更加灵活,用户人员即使不在工作站,通过手机或笔记本等设备上网也能实时查看到气象要素的变化情况。

本发明中气象站的数据传输实现了无线化,更加方便气象观测站的部署、拆装等活动,降低了气象站观测系统的维护与安装成本。

本发明中气象数据的存储与更新都是在云服务器中完成,节省大量硬件内存,同时降低了由于突发情况导致监测数据丢失的风险。

本发明所属传感器均采用模块化设计的具有自诊断自校准功能的智能传感器,提高系统运行效率与测量精度,降低系统整体功耗。使得运行更加稳定可靠,同时便于系统的后期维护与拆装。

本发明中供电系统的设计遵循节能环保准则,采用风光互补性太阳能电池供电,同时为提高供电方式的可靠性,并选用高性能12v锂电池作为系统后备电源,保证供电的稳定性。

相对于传统气象站,本发明在结构设计上遵循小型化、低成本化设计原则,在体积上尽量减少占用空间减轻重量,成本上提高性价比;同时,在数据采集过程中对数据进行质量控制,大大提高了数据的准确性与可靠性。

附图说明

图1为本发明整体系统结构图。

图2为本发明气象数据采集模块结构图。

图3为本发明气象数据网络共享部分结构示意图。

图4为本发明以风速为代表的数据显示界面折线图。

图5为本发明以风向为代表的数据显示界面扇形图。

具体实施方式

下面结合附图以及具体实施例对本发明进行详细说明。

实施例

如图1所示,本实施例的基于云服务器的自动气象数据监测系统包括数据采集模块、网络共享部分和网络设备,数据采集模块包括若干不同的数据采集器和主控芯片,网络共享部分包括树莓派装置和云服务器,数据采集器与主控芯片连接,主控芯片与树莓派装置连接,树莓派装置与云服务器通过无线网络连接,网络设备可通过无线网络访问云服务器。

本实施例中数据采集模块结构图如图2所示,数据采集器负责对包括气温、相对湿度、大气压力、风速、风向、雨量在内的多种气象要素数据进行采集,数据采集器在设计过程中预留足够接口,研究人员可根据实际需要增加气象要素的采集种类,例如光照强度、空气能见度、空气pm2.5值等其他气象要素。在本实施例中,数据采集模块选用stm32f103作为主控芯片,同时也可根据实际情况选用其它类型的芯片作为主控芯片。各类传感器的选用需充分考虑测量精确度、功耗等情况,均选用模块化处理的智能传感器,降低系统功耗,提高系统运行效率与测量精度,数据采集器采集到数据后传输给主控芯片数据采集模块用于采集气象数据并将气象数据传输到主控芯片,主控芯片用于将气象数据传输到树莓派装置,树莓派装置用于将气象数据上传至云服务器,用户可通过网络设备(计算机、手机等)访问云服务器来获取气象数据。

本实施例中,气象数据采集完成后通过软件设计,对气象数据进行分析与数据质量控制,确保数据的准确性。系统将采集到的不同气象要素数据通过网络传输到服务器,在传输过程中对采集到的数据进行分析,按照格式检查、气候界限值检查、内部一致性检查、时间一致性检查和空间一致性检查,其中实时质量控制不包括空间一致性检查。在一系列检查后,使用中国气象局规定的质量控制码(qc码)对数据进行标志,将处理好后的气象数据进行打包,最后将数据更新到服务器的数据库中进行存储与调用。用户通过网页访问的形式,可以实时查看所采集到的气象数据。

图3为本实施例的数据网络共享部分结构示意图,为了搭建一个可以通过网络访问的服务器,本系统选择使用阿里云提供的“云服务器ecs”产品。ecs(elasticcomputeservice,云服务器)是一种简单高效、处理能力可弹性伸缩的计算服务器,通过它可以快速构建稳定、安全的应用,提高运维效率,降低it成本,使得主要精力都在核心业务的开发上。本是实例中ecs选择了小规格适合小型web应用的配置。具体配置为:1核心处理器,2gb内存,1mbps网络带宽。当在实际量产运营时可根据具体情况提高设备配置。对树莓派网卡进行配置时,将网卡ip固定下来,方便通过网卡访问树莓派,本发明中树莓派通过usb无线网卡接入网络。

数据网络共享部分硬件结构选用的是树莓派三代,树莓派在整个系统中相当于一台小型电脑,数据采集模块将采集完成且经过质量控制后的数据打包发送至树莓派装置中,树莓派作为中转节点,通过远程访问的方式对ecs中的mysql数据库进行访问,在数据库中插入接收到的气象数据,最终完成数据更新。

本实施例约定从stm32数据采集模块通过串口usart发送给树莓派装置的字符串为“ser%s1%s2%s3%s4%s5%s6\r\n”。其中,开始的“ser”用于标识识别,防止乱码的干扰;“s1”、“s2”等表示六种气象元素数据的一种;而“%”是用来分割不同数据的分割标志;最后“\r\n”表示一条字符串结束。因此,在树莓派收到一条数据后,可以通过“ser”来判断数据的开始;通过“\r\n”来判断数据的结束;通过“%”来将不同的气象要素分离出来以备使用。

lnmp指的是一种采用linux作为操作系统、nginx作为服务器、mysql作为数据库、php作为服务器脚本的服务器环境。本实施例中,在lnmp环境下,使用html、css、javascript等web技术来进行系统网页开发。使用html编写静态的欢迎界面;通过php编写需要访问mysql数据并进行动态更新的页面。通过使用css来对网站中的页面进行布局及美化。

由于mysql本身并没有gui界面,所有的交互操作都是通过命令行实现的。因此,除了上述的lnmp环境外,本发明还使用了phpmyadmin来对mysql数据库进行管理。phpmyadmin是一个开源的、基于php编写的软件,可以使操作者通过web来对数据库进行操作。此外,为了快速上传网站代码,通过sftp(securefiletransferprotocol,安全文件传输协议)建立了本地电脑与云端服务器的连接。同时,在购买esc时,还购买了域名。通过将ecs实例与该域名绑定,就可以通过域名而不是ip地址来访问网站,这样便于使用者记忆和使用,观察人员直接通过访问域名的方式登录网页观察气象数据的变化情况,数据需要保密,可以通过对页面设置访问密码或进行用户认证等方式加强保密性。

本发明搭建的网站基于nginx服务器,通过nginx服务器响应浏览器的请求。当用户通过浏览器访问某个页面时,nginx会将请求页面中的php代码提交给php模块,在本发明中php代码多实现的是访问mysql数据库获取所需数据的功能;得到数据库中数据后,php模块将完整的处理结果返回给nginx,然后nginx将页面返回给浏览器,最后,用户访问的页面显示在自己的浏览器中。

mysql数据库中数据的访问通过php脚本实现的。在php脚本中通过使用mysqli函数集可以十分便捷的访问mysql数据库。根据本发明需求,分别编写获取数据库中表的行数的php脚本,以及获取数据库中表内指定条数记录的php脚本。其中,获取指定条数的数据的脚本具体实现的是:按照时间降序排列获取当前表内所有记录中时间最靠前的记录,并按照时间升序排列进行输出。

创建完成上述两个php脚本后,通过ajax来对页面中的数据进行更新。ajax(asynchronousjavascriptandxml,异步javascript和xml)是一种通过现有标准所实现的新的请求数据的方法。ajax可以在不重新加载整个页面的情况下,实现与服务器的数据交换,并对页面的某一部分内容进行更新。同时ajax并不需要额外的插件实现,只要浏览器上允许运行javascript就可以顺利运行ajax。本文中,通过ajax技术,访问上述两个php数据库查询脚本,就可以在浏览器端获取到所需的数据库记录。

树莓派可以使用pymysql模块来对mysql进行访问。通过设置连接服务器的ip(host)、端口(port)、访问用户名(user)、访问密码(passwd)、访问的具体数据库(db)这些参数,可以实现远程的对ecs上mysql数据库的访问[21]。本发明所实现的远程访问函数包括数据库连接函数、sql语句执行函数、断开连接函数。

本实施例还可以分别为温度、相对湿度、气压、风速、风向、雨量六种气象元素创建图表,其中为风向数据创建扇形图,为其他气象元素数据创建折线图。本发明中使折线图中同时显示12个数据点。接着要为风向创建扇形图,扇形图可以根据具体数据设置风向为16方位图中一个方向,在更新数据时创建一个长度为16的全零数组,并将数组中要显示方向的对应位置的数据设为1,这样便可实现风向的数据的显示。

本实施例的系统中供电方式采用风光互补性太阳能电池供电,利用太阳能电池方阵与小型风力发电机将发出的电能存储到蓄电池组中,用以为系统提供电能,由于气象数据采集要求系统具有连续工作的特性,所以在使用太阳能电池供电的同时在系统中配备高性能12v锂电池组作为系统后备电源,系统默认供电方式选择太阳能电池供电,当太阳能电池提供的电能不足以驱动系统工作时,电压检测电路会检测到低电压,输出报警信号,同时电源切换电路切换至锂电池组继续为系统供电,供电电流一般不超过2000ma。

本发明基于云服务器的自动气象站数据监测系统,将气象站检测到的气象数据以远程访问的方式更新至ecs(elasticcomputeservice,云服务器)中的mysql数据库中,实现数据的更新与存储,通过上网设备访问系统开发的网页便可以实时查看气象站监测到的气象数据,为增强数据观测的可读性,可以将气象数据采用数据加图形等多种方式展示给观察人员。图4、图5分别为本发明以风速为代表的数据显示界面折线图和以风向为代表的数据显示界面扇形图。

本发明的基于云服务器的自动气象数据监测系统不局限于上述各实施例,凡采用等同替换方式得到的技术方案均落在本发明要求保护的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1