基于微信平台的气象预警信息发布系统设计与实现

2017-11-14 11:35谭啸彭浴郑宇洋
现代农业科技 2017年19期
关键词:微信平台实现设计

谭啸++彭浴++郑宇洋

摘要 为进一步提升气象服务能力和水平,拓展气象信息发布手段和发布渠道,使社会公众能够便捷地获取准确丰富的气象信息。本文通过运用株洲区域自动气象站实时数据资料,并针对株洲微气象微信公众平台的服务后台进行系统设计。结果表明,运用上述系统可以迅速、高效地实现对实时气象信息的获取、查询统计、预警等功能。

关键词 气象预警;信息发布;公众服务;微信平台;设计;实现

中图分类号 P409 文献标识码 A 文章编号 1007-5739(2017)19-0216-02

近年来,强降雨导致城市内涝、山体滑坡等气象灾害频繁发生,造成严重的经济损失和社会影响,成为各界普遍关注的问题。株洲市内均匀地分布了195个区域自动气象站监测点,覆盖了全市的所有乡镇街道社区。由于区域自动气象站每5 min向服务器端传送一次数据,其实时降雨量监测数据对于气象灾害预警有着重要的意义。微信作为目前覆盖范围最广、使用人群最多的手机软件,在气象公共服务中也得到了广泛应用[1]。通过手机微信平台的实时信息发布渠道,实现区域自动气象站强降雨信息的实时获取、查询统计、预警等功能,可以给政府和人民群众提供最新、及时、最准确的气象资料,启动相应的应急预案,减轻突发恶劣天气对公众安全造成的影响[2]。

1 系统总体设计

系统以株洲市气象台最新预报结论和城区195个区域自动站实时雨量数据为数据基础,发布实时天气预报结论、区域自动气象站数据,推送气象灾害预警消息。

1.1 系统目标

项目主要需要解决以下3个问题:一是株洲地区1周天气预报查询。二是区域自动气象站实时雨量数据查询。预警平台的数据由区域自动气象站负责数据的传输与采集,监控中心负责对数据的接收、入库处理,并通过微信平台查询区域自动气象站降雨实况。三是依据区域自动气象站实时降雨量和降雨强度推送强降雨预警信息。当区域自动气象站实时降雨量达到预警阈值时,使用微信平台编辑模式的自定义规则,在开发模式下开发接口编写相关程序,向有关人员推送实时气象预警信息,提供气象服务的文本、语音及图文信息[3]。

1.2 系统特点

该预警系统具有以下特点:一是该系统实时监测降雨数据,用户可以在第一时间掌握实时降雨的准确信息;二是通过微信公众服务号,提供了新的信息发布渠道;三是气象预警状态提示和自动推送预警信息使用户可以快速了解紧急情况,提升了工作效率。

1.3 系统工作原理

系统使用降雨实时监测数据为预警依据。降雨实时监测数据来自株洲区域自动气象站,自动气象站向服务器端传送数据的频率是1次/5 min,系统对降雨数据实时监测,每小时从数据服务器统计小时累积雨量,监测时段分为过去1、3、6、12、24 h,并动态监测最新降雨实况。当预报未来24 h有大到暴雨以上降水过程或城区自动雨量站出现20 mm/h以上的降水时,微信平台自动向用户推送相关预警信息。

1.4 开发流程

微信(wx)与微信服务器(wx_server)通信获取相关的数据,公众号菜单的链接实际上是通过微信服务器跳转到站点服务器(site_server)完成[4]。具体开发流程如下。

1.4.1 申请注册微信号,登录并配置服务器。这里的服务器指的是个人Web站点的服务器。填写服务器地址(URL)、Token和EncodingAESKey。

1.4.2 服务器地址的有效性验证。对于开发者,要求URL有效性验证成功后才能接入生效。其后,开发者针对用户每次向公众号发送消息或者产生自定义菜单等,可以依据自身业务逻辑进行回复消息等响应。

1.4.3 获取access_token。公众号的全局唯一接口调用凭据就是access_token,各接口的调用时都需使用它。

1.4.4 程序编写。根据系统设计进行程序的编写。

1.5 技术选择

站点服务器端的Web站点采用的是LNMP(Linux+Nginx+MySQL+PHP)架构,基于气象局已有的数据资源接口,使用微信平台的消息模版功能,实现消息推送功能。后台管理系统采用B/S架构。信息发布以XML消息格式组装,及时响应用户的请求,实现天气查询、数据查询、预警信息发送等相关功能。

2 系统功能设计与实现

系统由微信用户客户端、腾讯微信第三方服务端和气象局微信服务器端组成。主要任务是连接接口的基础网络、部署服务器、设计信息接口,优化信息接口和气象业务系统之间的信息交互。系统总体结构如图1所示。

气象微信服务端系统工作方式主要包括2种方式:一是信息推送。气象服務端主动下行消息给微信第三方服务器端,通过微信下发给手机用户。二是信息交互。手机用户主动发送相关请求,消息上行到微信第三方服务器端,微信服务器端转发到气象局相关服务器端,气象服务器端作出响应,并给予微信服务器端响应,然后通过微信服务器下行到手机用户。

2.1 天气预报信息查询

此模块通过后台自动更新信息,用户可以随时查询株洲市24 h天气预报及未来1周的趋势预报。还可以查询空气质量预报,并提供国内主要城市和湖南省内城市的天气预报内容可供查询。

2.2 实时降雨功能查询

降雨量查询功能为用户查询到周边区域自动站的实时降雨量信息,用户可以查看附近区域自动站站点实时降雨量情况,相关气象要素来源于区域自动站最近1 h的整点小时数据。通过创建VIEW类型的菜单,点击按钮跳转到数据显示页面。获取access_token的2种方式如下:一是https请求方,即GEThttps://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET。二是http请求方式,即POST(请使用https协议)https://api.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKEN。

编写代码将菜单通过post方式到wx_server,关注公众号之后就可以看到菜单按钮。点击菜单(view类型)按钮即可跳转到相应的页面。数据的添加:195个区域自动站的降雨数据每隔5 min添加到数据库。数据的展示:访问菜单链接(页面),程序查询数据库通过http返回响应数据,查询結果如图2所示。

2.3 强降雨预警推送

预警功能为用户提供短时临近气象预报服务。当预报员预报未来24 h有大到暴雨以上降水过程或区域自动气象站雨量出现20 mm/h以上的降水时,即通过微信平台推送气象预警信息。天气预警为用户提供天气预警信息,用户可以查看到当前期间是否有预警信息。通常情况下,天气预警为空消息,只是在有预警信号产生时,才会发布气象预警,提醒用户注意天气状况。预警信息内容为气象预警类别、预警区域、实时天气状况等。预警消息的推送使用特定内容模板主动向用户发送消息。首先在微信后台中设置消息模板然后编写代码。当最新降雨量数据添加到数据库的同时,根据设置的阈值来判断是否推送给用户。预警消息使用微信的模板消息功能完成,微信的模板消息功能是在需要对用户发送服务通知时,例如刷卡提醒、服务预约成功通知等,针对某一个用户进行提醒。但由于对服务器能力和并发量要求较高、群发消息应用数量多,通过提升服务器性能、修改模板消息调用逻辑、增加后台并发量、缩短循环时间,能实现定向群发功能,消息发送成功后会对微信用户进行声音提醒,效果明显,且群发消息速度快,提升了预警信息的可用性、及时性和有效性[5]。推送结果如图3所示。

3 结语

本文将区域自动气象站降雨的数据结果应用于株洲气象微信公众号中,并通过微信公众平台实现了预警方式的多元化,且更具时效性。微信预警消息推送服务使得有人民群众可以快速了解紧急情况,提升了工作效率,提高了株洲地区气象灾害监测预警预报的水平。

4 参考文献

[1] 汤静,陈伟,肖卫国.微信平台在气象服务中的应用[J].现代农业科技,2016(4):342-343.

[2] 李志良,尹清华,王旭生,等.赤峰气象微信公众平台建设初探[J].内蒙古农业科技,2014(4):66-68.

[3] 徐琼芳,聂菊荣,冯海旭.基于微信平台的气象预警信息发布系统[J].气象科技,2014,42(6):1019-1022.

[4] 卢荣琼,龚胜眉.长沙微农直通微信的应用现状及完善设想[J].湖南农业科学,2016(6):82-85.

[5] 高亭亭,孙伟忠,朱平.广州天气微信的创新设计[J].广东气象,2014,36(6):60-62.

猜你喜欢
微信平台实现设计
BUBA台灯设计
有种设计叫而专
办公室人员尚需制定个人发展规划
新媒体时代微信舆情的监控策略研究
苏州信息学院教务管理系统的设计与实现
浅析铁路通信传输的构成及实现方法
基于微信平台的高中物理“翻转课堂”教学初探
科技期刊全媒体出版实施方案探析
匠心独运的场地设计画上完美句点
设计之味