极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 16509|回复: 1

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

[复制链接]
发表于 2018-7-20 11:44:45 | 显示全部楼层 |阅读模式
本帖最后由 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/

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2018-7-22 05:07:24 | 显示全部楼层
挺好的东西,产品化,收藏了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-5-14 22:55 , Processed in 0.041568 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表