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

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扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版