esp8266天气时钟教程(esp8266开发板制作天气时钟)

esp8266天气时钟教程(esp8266开发板制作天气时钟)作者 颜桂灵 前言 今天的实验 主要是基于 STM32 开发一个可以实时获取天气和时间的小功能 这个功能可以套用在需要显示天气和时钟的设备上 而且硬件成本很低 大家有兴趣可以瞅瞅看 本实验一共有四个实验 实验 1 通过 AT 指令获取天气数据 实验 2 MCU 获取天气数据 实验 3 MCU 获取天气数据和显示 实验 4 MCU 获取时间数据和显示 天气数据来源与 心知天气 nbsp

大家好,我是讯享网,很高兴认识大家。




讯享网

▲作者:颜桂灵
前言:

今天的实验,主要是基于STM32开发一个可以实时获取天气和时间的小功能,这个功能可以套用在需要显示天气和时钟的设备上,而且硬件成本很低,大家有兴趣可以瞅瞅看!

本实验一共有四个实验;

实验1-通过AT指令获取天气数据;

实验2-MCU获取天气数据;

实验3-MCU获取天气数据和显示;

实验4-MCU获取时间数据和显示;

天气数据来源与“心知天气”

 

我使用的是正点原子的ESP8266模块,市面上的ESP8266都大同小异,大家可以自由选择。

 


 


最小系统板: 

USB转TTL(种类有点多,随便选一个就行,我用的是CH340这个芯片的)

ESP8266  OLED(我用的是0.96寸4针,I2C接口)

ST-Link V2下载线

 


本章节软件部分仅需要串口调试助手,我使用的是”QCOM”,因为他有一个可以保存指令的功能;

百度搜索一下就可以下载了;

 

登陆心知天气官网,注册

https://www.seniverse.com/

注册完成后点击“产品”,进入“天气数据”

 


点击“立即免费试用”。

 


点击免费版的“免费申请”。

 


申请后可查看到自己的私钥(自行保存后面需要用到)。

 


重新点击“产品”—>“天气数据”,点击“查看API文档”。

 


点击”天气实况”,打开对应的API接口文档。
 


查看天气实况的接口地址,以及返回的数据结果示例(自行保存后面需要用到)。

 


将ESP8266同USB转TTL模块连接起来,开始实验

接线说明:

 


ESP8266还有两个接口“IO_O”和“RST”,这里直接接3.3V。我是接到MCU的3.3V

IO:低电平时烧录,高电平是使用

RST:低电平复位,高电平正常工作

 

本章节使用AT指令获取到天气情况,这里列出对应的AT指令,串口助手波特率设置位,其他设置默认即可。

 

发送 “AT” :正常启动就会响应“OK”。

 


使用串口发送指令AT+CWMODE=1设置模块Wi_Fi应用模式为Station模式。

 


 

AT+CWMODE=1

 

发送指令AT+RST使模块重启,重启后等待一段时间。

 


发送指令AT+CIPMUX=0 设置模块为单路连接模式。

 

 

发送指令AT+CWJAP=“ssid”,“pwd”,ssid就是你要连接WiFi的名字,pwd就是密码。

 


发送指令AT+CIPSTART=“TCP”,“api.seniverse.com”,80,和心知天气建立TCP连接。

 


发送指令“AT+CIPMODE=1”设置成功则返回OK。

 


 

发送指令“AT+CIPSEND” 开始透传。

 


发送“GET https://api.seniverse.com/v3/weather/now.json?key=私钥&location=城市拼音&language=zh-Hans&unit=c”向网址提出请求,这里的location可以改为自己的城市,我的是深圳(shenzhen),私钥为心知天气中获取到的私钥,语言language用的是中文(zh-Hans),这部分可以自行到心知天气官网的文档查看。

 


接收成功,因为编码方式不同所以会有乱码,不过不影响,后面我们写代码会处理这些数据。

通过接收到的数据,我们可以查看到我当前的天气为26摄氏度。



关于这篇文章你有何疑问

可以扫描下方二维码进行咨询

☟☟☟

小讯
上一篇 2025-05-07 09:18
下一篇 2025-05-02 20:32

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/177825.html