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

[ 复制链接 ]
admin | 2020-2-8 12:41:47 | 显示全部楼层 | 阅读模式 打印 上一主题 下一主题

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x


前言:

实现功能概要:
  STM32使用AT指令控制Wi-Fi以TCP方式连接服务器(YY天气Web服务器),然后使用http的get协议获取今天的天气数据
  单片机提取今天的温度和湿度数据,把温湿度数据显示在OLED液晶屏.
                                  效果图

                    

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

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



访问天气服务器:
  http://api.yytianqi.com/observe?city=CH010100&key=1qwt0q9jj4feli(云凌阁)o2   获取北京天气

  http://api.yytianqi.com/observe?city=城市代码&key=自己注册获取的key值

  详细请参考: https://www.cnblogs.com/yangfengwu/p/11681116.html


  浏览器访问IP地址以后获取的数据
  

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

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



单片机如何实现:

网页上是直接输入 http://api.yytianqi.com/observe?city=CH010100&key=1qwt0q9jj4felio2
那样输入以后端口号默认是 80,所以不需要写端口号  
http://api.yytianqi.com:80/observe?city=CH010100&key=1qwt0q9jj4felio2  和上面的等价

实际上是先用TCP连接了域名:api.yytianqi.com  端口号:80
然后发送:"GET /observe?city=CH010100&key=1qwt0q9jj4felio2 HTTP/1.1\r\nHost: api.yytianqi.com\r\n\r\n"       HTTP的get协议
下图是测试截图

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

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



所以单片机只需要控制网络模块以TCP方式连接域名为:api.yytianqi.com  端口号:80的服务器

然后发送 "GET /observe?city=CH010100&key=1qwt0q9jj4felio2 HTTP/1.1\r\nHost: api.yytianqi.com\r\n\r\n"  即可
有可能会问为什么这样就可以获取呢!如果想知道实质,就需要看数据篇PHP部分.不要心急哈,慢慢来.

程序下载测试:

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

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

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






2,下载单片机程序

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

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





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

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








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


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

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




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

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



如果采用以上步骤,可略过  "WIFI配网,让WIFI连接路由器"  部分,编译下载程序后,即可实现功能!


WIFI配网,让WIFI连接路由器:


  打开可以配网的APP,给Wi-Fi配网

  请参考基础篇: https://www.cnblogs.com/yangfengwu/p/11760590.html

  

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

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




最终效果

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

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

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






程序说明(不走配网步骤)
1,连接的服务器信息,和获取的文件路径

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

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





2,去掉屏蔽,省去配网步骤

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

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




3,单片机通过AT指令配置8266以TCP透传模式方式连接Web服务器

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

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






4,单片机发送http协议给Web服务器

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

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





5,解析返回的数据,然后显示在液晶上

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

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






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

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






程序说明(走配网步骤)

1,按钮按下3S执行配网

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

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





2,配网程序

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

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






3,配网成功,执行连接TCP服务器程序
    注:此时主循环一直运行,使用的非阻塞框架!

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

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







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

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




温馨提示:
1、在论坛里发表的文章仅代表作者本人的观点,与本网站立场无关。
2、论坛的所有内容都不保证其准确性,有效性,时间性。阅读本站内容因误导等因素而造成的损失本站不承担连带责任。
3、当政府机关依照法定程序要求披露信息时,论坛均得免责。
4、若因线路及非本站所能控制范围的故障导致暂停服务期间造成的一切不便与损失,论坛不负任何责任。
5、注册会员通过任何手段和方法针对论坛进行破坏,我们有权对其行为作出处理。并保留进一步追究其责任的权利。
回复 推荐到N格

使用道具 举报

大神点评(1)

您需要登录后才可以回帖 登录 | 立即注册
    云凌阁
    掌门师兄 | 2020-6-10 15:34:05 | 显示全部楼层
    确实是好帖啊,顶先!
    回复 支持 反对

    使用道具 举报

    相关推荐
    云凌阁

    关注1

    粉丝0

    帖子94526

    发布主题