2025年esp8266天气预报 源码(esp8266显示天气)

esp8266天气预报 源码(esp8266显示天气)STM32 ESP8266 TFTLCD 实现天气预报显示 前言 项目思路 效果演示 心知天气 API 硬件部分 材料 硬件连接 软件部分 ESP8266AT 固件指令 页面布局 JSON 数据解析 时间数据解析与计时 遇到的问题 最近发现自己学的东西都太杂了 真正开始找工作 才意识到自己应该精通某样技能 认真开始使用 STM32 做小项目后才发现自己有好多东西不知道 感觉自己是真的菜

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



STM32+ESP8266+TFTLCD实现天气预报显示

  • 前言
  • 项目思路
  • 效果演示
  • 心知天气API
  • 硬件部分
  • 材料
  • 硬件连接
  • 软件部分
  • ESP8266AT固件指令
  • 页面布局
  • JSON数据解析
  • 时间数据解析与计时
  • 遇到的问题

最近发现自己学的东西都太杂了,真正开始找工作,才意识到自己应该精通某样技能。认真开始使用STM32做小项目后才发现自己有好多东西不知道,感觉自己是真的菜。虽然这也不是新的技术,但是真正要做到精通,其中道理要研究的东西还是蛮多的。并且好久没有更新文章了,最近在知乎上看到别人使用STM32做了一个实时疫情的显示屏,想着自己也动手做一个显示天气预报的装置。工程源码见文末。

STM32与ESP8266通过串口连接,STM32通过串口向ESP8266发送指令:连接AP,创建TCP连接,创建SSL连接,发送GET请求获取天气数据,STM32解析JSON数据,将天气数据显示在TFTLCD屏幕上。屏幕可显示最近三天的天气情况和显示实时24小时天气(最多显示至第12小时),使用按键来切换,显示不同的天气页面。

esp8266获取心知天气 esp8266显示天气_esp8266获取心知天气
讯享网

esp8266获取心知天气 esp8266显示天气_字符串_02

esp8266获取心知天气 esp8266显示天气_数据_03

我使用心知天气获取天气信息,由于STM32使用cJSON需要消耗大量内存,如果获取的数据量过大会导致JSON数据解析失败的结果,而这个API可以根据自己的要求获取一定数量的数据,不仅可以获取24小时逐小时天气数据,还可以获取逐日天气数据。

esp8266获取心知天气 esp8266显示天气_数据_04

esp8266获取心知天气 esp8266显示天气_字符串_05

esp8266获取心知天气 esp8266显示天气_JSON_06

esp8266获取心知天气 esp8266显示天气_字符串_07

esp8266获取心知天气 esp8266显示天气_字符串_08

esp8266获取心知天气 esp8266显示天气_JSON_09

  1. 连接ap指令:AT+CWJAP=“SSID”,“password”
  2. 创建TCP连接:AT+CIPSTART=“TCP”,“www.domain.com”,80
  3. 创建SSL连接:AT+CIPSTART=“SSL”,“www.domain.com”,443
  4. 设置为透传模式:AT+CIPMODE=1
  5. 发送数据:AT+CIPSEND
  6. 直接向串口发送GET请求
  7. 退出透传模式:
    +++
    AT+CIPMODE=0
  8. 断开TCP连接:AT+CIPCLOSE
  9. 断开SSL连接:AT+CIPCLOSE

时间JSON数据格式:

天气JSON数据格式:

解析数据并储存在结构体中

esp8266获取心知天气 esp8266显示天气_JSON_10

esp8266获取心知天气 esp8266显示天气_字符串_11

LCD中文显示的字库采用的是GBK编码,GBK是兼容GB2312的,有时如果解码有问题就会导致屏幕上显示出与自己定义的文字不一致。发送HTTP请求其中采用的TTF-8编码,如果使用GB2312的编码发送GET请求就会请求不到数据。

小讯
上一篇 2025-04-28 21:43
下一篇 2025-04-20 13:21

相关推荐

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