你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32+ESP8266获取天气信息并显示到lcd  

[复制链接]
shanji 发布时间:2018-11-5 19:52
本帖最后由 shanji 于 2018-11-6 09:41 编辑

硬件平台:stm32f429、esp8266串口wifi模块.

天气数据来源:丫丫天气 [ http://www.yytianqi.com ].(其他天气都要手机号注册,这个不用,就用它了)

stm32f429通过串口6和esp8266连接,esp8266连接丫丫天气的服务器API接口 api.yytianqi.com,通过GET请求获取数据。
QQ截图20181105192338.jpg


   从官网介绍可以看到,有8个不同类型的请求接口,免费用户能用的是前面2个,我们用forecast7d测试下,例如

GET http://api.yytianqi.com/forecast ... 1&key=xxxxxxxxxxxxx[key自己去官网注册后替换],找个网络调试助手测试下。(key的最后记得按下enter回车再点发送)


QQ截图20181105191102.jpg



       因为是免费用户,只能获取2天的天气。从获取到的信息可以看到,数据是json格式,而且没有gbk编码,要正常显示到LCD的话,要用cjson把我们需要的字段取出,并转换成gbk,
先格式化下网络调试助手接收的数据
{
        "code": 1,
        "msg": "Sucess",
        "counts": 29,
        "data": {
                "cityId": "CH280601",
                "cityName": "深圳",
                "sj": "2018-11-05 19:00:00",
                "list": [{
                        "tq2": "多云",
                        "tq1": "多云",
                        "numtq1": "01",
                        "numtq2": "01",
                        "qw1": "27",
                        "qw2": "22",
                        "fl1": "微风",
                        "fl2": "微风",
                        "numfl1": 0,
                        "numfl2": "0",
                        "fx1": "东北风",
                        "fx2": "无持续风向",
                        "numfx1": "1",
                        "numfx2": "0",
                        "date": "2018-11-05"
                }, {
                        "tq2": "多云",
                        "tq1": "多云",
                        "numtq1": "01",
                        "numtq2": "01",
                        "qw1": "29",
                        "qw2": "22",
                        "fl1": "3-4级",
                        "fl2": "微风",
                        "numfl1": "1",
                        "numfl2": "0",
                        "fx1": "东风",
                        "fx2": "无持续风向",
                        "numfx1": "2",
                        "numfx2": "0",
                        "date": "2018-11-06"
                }]
        }
}

格式化后数据就很容易看懂了,从这里取出我们要显示的字段,搞定。
P81105-194647.jpg

测试示例: 【】STM32F429_获取天气().rar (1.19 MB, 下载次数: 494)
1 收藏 20 评论133 发布时间:2018-11-5 19:52

举报

133个回答
wbnorth 回答时间:2018-11-6 09:40:05
可以,我也跟着楼主玩玩
baobo 回答时间:2018-11-6 09:46:33
好资料,谢谢分享。
zjczm 回答时间:2018-11-6 10:13:42
不错。谢谢分享
dsjsjf 回答时间:2018-11-6 10:55:21
高手 ,学习了
stm1024 回答时间:2018-11-6 11:45:41
不错~~
遇见111 回答时间:2018-11-6 14:00:19
完了一半放那了。。。之前用的心知天气,电脑上可以正常获取,到ESP8266上获取不出来,后来就没玩了
fulmine 回答时间:2018-11-6 17:24:08
很好的资料,谢谢分享
shanji 回答时间:2018-11-6 18:04:07
遇见111 发表于 2018-11-6 14:00
完了一半放那了。。。之前用的心知天气,电脑上可以正常获取,到ESP8266上获取不出来,后来就没玩了 ...

我也是没搞出来,后来就换了天气源了。
小耳朵1500922649 回答时间:2018-11-6 18:27:22
搞个WiFi模块 玩一下

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

相似分享

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版