首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >升级STM32 预热: 单片机每隔一定时间 使用 http 获取天气

升级STM32 预热: 单片机每隔一定时间 使用 http 获取天气

作者头像
杨奉武
发布2019-10-14 15:02:45
1.2K0
发布2019-10-14 15:02:45
举报
文章被收录于专栏:知识分享知识分享

一,实现的功能:

  1.1  STM32  AT指令控制Wi-Fi以TCP方式连接服务器(天气Web服务器),然后根据提供的API发送获取天气指令.

  咱用国家气象局提供的API接口 http://www.weather.com.cn/data/sk/前面这些是固定的  后面101010100 为城市代码,后面说明怎么获取城市代码

http://www.weather.com.cn/data/sk/101010100.html      获取北京的天气 提供的方式1

http://www.weather.com.cn/data/cityinfo/101010100.html   获取北京的天气  提供的方式2

  1.2 网页上是直接那样输入 http://www.weather.com.cn/data/sk/101010100.html

    端口号默认是 80,所以不需要写端口号  也可以 http://www.weather.com.cn:80/data/sk/101010100.html

  1.3 咱是用TCP实现的http,所以

    1.3.1  使用TCP连接  IP地址:www.weather.com.cn  端口号:80

    1.3.2  然后发送协议:      "GET /data/sk/101010100.html HTTP/1.1\r\nHost: www.weather.com.cn\r\n\r\n"          即可获取

         但是由于编码格式的问题会出现中文乱码..... 咱只提取temp  和 SD

    1.3.3  单片机程序

    1.3.4  如果不明白我说的!

二,效果图:

三,操作流程

  3.1 硬件设置: 短接STM32   PB2 和 WIFI  RST   (以后均采用硬件复位)

  3.2 下载单片机程序

  3.3  如果想让WIFI连接路由器,可直接 去掉屏蔽

如果采用以上步骤,可略过3.3-3.6使用软件给模块配网过程!

  3.4 由于SmartConfig 当前android9.0以上有兼容性问题,先提供    Airkiss  方式    (微信扫描下方二维码)                 

  3.5 调整波动开关位置,长按PB5               指示灯快闪,给WIFI模块配网        

  3.6 输入路由器密码,点击连接                                        配网成功(已经配置了WIFI连接了路由器)

四,等待大约5S  如果一直不显示!,应该不可能不显示.除非国家气象那个域名有问题了!!!!

六,程序说明

  6.1  讲一下这个函数,上一节没有讲

  控制发送数据,接收判断数据

  真正判断返回处理是放到了

  我把所有需要注释说明的函数都加了这样的注释

  列如:

  我希望我的代码做到方便让别人移植使用

七 补充,其它城市代码

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-10-13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档