straka 发表于 2018-7-20 11:44:45

【DIY】ESP8266太阳能气象站微信订阅号python后台

本帖最后由 straka 于 2018-8-22 11:10 编辑

每天户外运动,想有个能自动查询天气的方式,然而单位地方比较偏,周边没有气象部门站点,最近的有天气预报的地方也是三十多公里外的城区了。那就DIY一个呗。

某宝上找了找有各种模块,最近又学习了python,很快就有了思路。先做个硬件定时采集气象数据发送到服务端,服务端收到数据记录下以供查找中。结合微信的公众号接口,响应公众号查询请求。

硬件部分参考另一篇博文【气象信息采集装置http://www.straka.cn/blog/meteorological_info_collecter/】。

服务端

微信订阅号对服务器端有约束,必须是80端口,收发均封装成XML格式,微信官网提供了xml解析封装的示例代码,直接使用就可以。

服务器端由python搭建,引用web模块监听80端口,同时服务端监听另一个端口,气象采集端将采集到的气象数据发送至该端口,服务端接收后按格式处理好并记录。

用户在订阅号后台发送消息后,微信服务器会封装成xml消息转发至python服务端,服务端对80端口传入的xml请求解析并获取请求用户等信息,并提取最近一次采集到的气象数据,根据请求封装成规定的xml格式返回微信后台,由微信后台发送至用户端。

除天气查询外的其他功能都是通过python服务端直接处理并响应。
这里就不贴代码了,详细代码见
原博客:http://www.straka.cn/blog/wechat_subscribe_python_server/
也可以直接看源码:
https://github.com/atp798/BlogStraka/tree/master/WechatSubscriptionServ

订阅号效果图如下


原博客见http://www.straka.cn/blog/wechat_subscribe_python_server/

MWD--文化易人 发表于 2018-7-22 05:07:24

挺好的东西,产品化,收藏了
页: [1]
查看完整版本: 【DIY】ESP8266太阳能气象站微信订阅号python后台