一种气象服务通信展示系统的开发和应用
2022-04-29邹庆彪谭晗凌黄飞龙曾慧明
邹庆彪,谭晗凌,黄飞龙,曾慧明
(广东省气象探测数据中心,广东广州 510080)
随着科学技术的发展,目前流行的新媒体如微博[1]、微信公众号[2-3]、抖音等[4]为公众提供了更全面、更丰富的气象服务和防灾信息,极大地推动了气象服务领域持续健康的发展[5]。但随着新媒体的种类、数量以及传递的信息越来越多,一些短板也随之出现。过多的气象信息对于公众可能会存在疲于关注甚至是主动忽略的情况,而专业化的气象信息和气象服务如雷达回波图等对于公众有一定的获取难度从而导致较少的关注。除此之外,大部分新媒体需要借助智能手机APP传播信息,部分不用智能手机的老人、儿童或不关注微博、公众号等新媒体的人群则无法获取相关气象服务,从而导致受众群体有限,气象服务和预警信息未能全覆盖。
目前,根据广东省气象局站网系统的统计,广东省已经建设了地基气象观测站约6 500多个,而根据《广东省综合气象观测站网规划(2021—2025,远景至2035)》的规划,未来将新增各类地基气象观测站约11 000个。其中,除了常规气象观测站外,还有为特定行业和部门开展专业领域气象服务的应用气象观测站和志愿气象观测站,如交通气象站、生物预警和气象综合监测站等,均存在数据大屏展示的需求。在此背景下,为进一步拓宽和优化气象服务的方式和水平,充分利用大量的观测站资源,针对新媒体的短板,切实提高气象服务和预警信息的实用性、时效性、普适性和精准度,本研究介绍了一套基于嵌入式技术和无线通信技术的气象自动站数据展示系统,实现云服务器数据或自动站数据远程户外投放的功能。该系统能结合自动站资源,通过无线的方式为公众提供实时的、轻量化定制的气象服务,能广泛应用于交通站、农业生态站等场景为系统周围的用户和人民群众提供直观的气象观测数据和预警预报信息。
1 系统框架设计
该系统是基于嵌入式技术和无线通讯技术设计和开发,基于嵌入式WebSocket技术[6-7]实现嵌入式服务器功能,基于4G 通讯技术和WiFi/LoRa无线组网技术[8-9]实现数据的流通,打通了云服务器和采集器到户外显示屏和移动设备的通讯链路,实现了云数据或自动站数据到户外显示屏的点对点通讯。
该系统主要功能是根据用户的需求从远程数据库或本地自动站获取实时气象要素数据,或者结合相关的预警预报信息,加工生成产品并根据实际情况通过WiFi/LoRa等通讯方式传输给站点附近的显示屏幕和移动设备以提供丰富的气象数据展示画面和实时预警预报信息。为满足系统的实用性、易用性,同时兼顾鲁棒性,考虑到一般的气象服务的时效性要求,该系统由数据源、嵌入式设备、显示模块组成,如图1所示。
图1 系统组成示意图
1)数据源。
系统的数据可以来源于气象专网服务器和观测场的采集器。考虑到服务产品的更新周期,专网服务器由气象数据库和UDP服务器组成[10]。UDP服务器采用C#编写,封装了设备认证的功能,能通过HTTP向数据库接口请求数据并做出相应的解析、数据封装和主动转发。
2)嵌入式设备。
该部分由4G/IoT通讯模块、主控模块、WiFi/LoRa通讯模块组成。4G/IoT通讯模块使用气象局专网物联网卡,因而可以接收专网服务器发来的数据。主控模块由ESP32模组[11]、电源模块、数据通信模块组成,采用Arduino平台对其进行嵌入式软件开发;电源模块使用AMS1117系列的5 V转3.3 V线性稳压器;ESP32采用TTL电平通讯,因此数据通信模块由SIPEX公司生产的SP3232组成,完成TTL到RS-232的转换。
3)显示模块。
显示模块由WiFi/LoRa接收模块和显示设备或仅移动设备组成。若接收模块搭配显示屏,则两者通过串口进行通讯,显示屏可以是智能大屏电视和LED点阵显示屏。
2 关键技术
2.1 服务器与嵌入式设备的通信
为满足低功耗、减少网络流量等要求,服务器采用UDP的数据传输方式,封装了设备认证、智能发送、报文加密的功能。服务器的工作流程如图2所示。
图2 服务器任务流程示意图
服务器主要完成2个任务,接收设备的注册消息并更新在线列表和根据在线列表完成数据发送。一方面,注册消息的报文按协议的格式进行校验;另一方面,服务器会按照预设的发送周期检查数据库里的在线列表,根据在线情况和设备号预设的请求接口地址请求数据并按照相应的协议加密数据并发送至客户端。报文格式如图3所示。
图3 报文格式
主控模块开机时,需要先向4G/IoT模块发送AT指令完成网络接入点等参数的设置和启动网络的工作,随后才能正常收发数据。为保证主控模块保持在线状态,发送注册信息的周期为显示模块请求产品周期的1/3。
2.2 数据解析及产品生成
根据用户定义的数据来源,主控模块有两种任务流程,如图4所示。主控模块可以通过4G/IoT通讯模块从气象内网UDP服务器或通过RS232接口从采集器获取气象数据,用户可根据实际需要选择不同的数据获取方式。
图4 主控模块任务流程示意图
当主控模块收到数据后对接收的数据进行校验、解析和产品生成。如果校验失败,则丢弃数据。校验成功后,嵌入式系统会将数据按照预定的格式解析并保留在内存栈中,直到下一次数据的更新。
主控模块的分区表1所示,将Flash分为了4个部分。其中,app0约占2560KB用于存放主控程序,而spiffs分区占用内存约1 472 kB用于创建SPIFFS文件系统。在烧录主控模块的固件时,会将预先基于HTML5+JavaSricpt[12]开发的模板网页(CSS、HTML以及JS文件)存入Flash的spiffs分区当中。在嵌入式系统运行的过程中,如果有显示模块对产品进行请求,嵌入式系统会按照产品模板对此时的内存进行搜索获取相应的数据,并将模板和数据进行整合形成展示网页。
表1 主控模块分区表
2.3 产品推送及展示
如图4所示,主控模块开机后会启动WiFi或者LoRa建立热点并启动嵌入式Web服务。该服务基于WebSocket协议,可以使得主控模块和客户端建立在单个TCP连接上进行的全双工通讯,以便任一方都可以通过建立的连接将数据推送到另一端,且只需要建立一次连接,就可以一直保持连接状态,比传统的HTTP协议更加高效和实用。
WiFi和LoRa两种网络适用的情景不同,Lo-Ra的传输速率为几百到几十Kbps(速率越低传输距离越长),传输距离在城镇中可达2~5 km,郊区可达15 km,通过中继功能可以大幅度增加传输距离,适合低数据速率和长距离传输;WiFi传输速率一般为11 Mbps,适合大数据量和短距离的情况。用户可以根据实际情况选择相应的数据传输方式。当客户端成功连上热点后,根据特定的API周期性地请求产品,并根据设备的类型进行产品的展示。为实现跨平台应用,解决不同显示设备屏幕大小存在差异的问题,在编写产品模板时,采用了网页自适应技术使页面能自动匹配设备的屏幕大小,因此不同设备类型获取的产品都不会出现比例失真的现象。当显示屏设备为LED点阵显示屏时,接收模块将数据解析为相应的格式即可供LED显示屏正常显示。
3 气象服务功能设计
根据系统软硬件组成情况,为满足进一步拓宽面向社会的气象服务方式和水平,系统可以提供精准的气象服务、定制化的服务范围、个性化的展示。
3.1 精准的数据服务
用户可以根据气象服务面向的目标群体选择相应的气象数据和预警信息,如面向高速公路则可以着重选择能见度、雨量和道路预警信息等要素;如面向农业服务,则可以着重选择雨量、温度、辐射等要素。除此之外,用户也可以选择获取并展示产品图片,如雷达产品图、卫星云图等。远程服务器根据用户需求,从数据库接口获取相应的数据后通过UDP服务器发送至主控模块并推送至指定的客户端,从而形成精准的气象服务。
3.2 灵活的通信服务
用户可以定制气象服务覆盖的范围,根据范围的大小选择使用不同的通讯方式。如农村或小城镇建设有气象站,即可采用本系统向群众提供实时的气象数据,让群众更方便地获取和直观地认识天气情况。
3.3 个性化的展示
根据用户的需求可以定制不同的展示模板和展示内容,从而实现个性化的气象服务展示页面,以满足不同场合下的需求,如用于科普展示时需要丰富的界面,用于农场等场合则追求直观的展示界面。
4 应用情况
广州大学于2020年6月建设了一个观测场用于教学和科普,由于用户要求在观测场和教室内都能查看自动站的数据,因此在该站安装了第1章所述的系统。在该站中,由于数据未上传至省局数据库且用户只需要本站的数据,因此系统不需要4G/IoT通讯模块,主控模块直接通过RS232串口从采集器获取数据。通过主控模块建立的WebServer服务和基于LoRa创建的热点,显示屏侧的显示模块能够接收数据并让显示屏展示。在观测场选用了LED显示屏,如图5a所示。在200 m外的教室中,考虑到个性化的教学展示需求,显示屏使用智能电视,其展示页面如图5b所示。
图5 LED点阵(a)和智能电视(b)显示屏展示效果图
经用户反馈,该系统自布设至今运行稳定。
5 结论
本研究介绍了一套自主设计的基于嵌入式技术和无线通信技术开发的气象自动站无线通信及数据展示系统。该系统能通过无线的方式为用户提供实时的轻量化定制的气象数据服务,能在嵌入式设备附近的显示屏幕上提供丰富的气象数据展示。由于其具有无线和嵌入式的特点,因此具有较高的灵活性和较广的应用范围,能切实提高气象服务的实用性、时效性、普适性。
除了展示传统的自动气象站要素外,该系统还能展示产品图片和相关预警信息,如雷达产品、卫星产品、城市预警预报等。与新媒体的气象服务相比,凭借将来大规模兴建的自动气象站,该系统能使群众获取更加精准的、易于获取和直观的气象信息,极大地拓宽了气象服务的方式,提高气象服务水平。