| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 基于stm32的WiFi天气时钟(附源码) -> 正文阅读 |
|
[嵌入式]基于stm32的WiFi天气时钟(附源码) |
前言采用stm32f103vet6作为主控芯片,使用stm32的RTC外设获取时间,控制esp8266获取天气数据,然后使用0.96寸oled进行显示。 一、原理图? 1、esp8266通过串口发送和接收消息,这里我接的是stm32的USART3;其中esp8266的RST引脚和EN引脚可以直接接3.3V高电平,因为我使用的野火指南者板子的esp8266是板载的,所以需要单独配置引脚; 2、我使用的是0.96寸I2C接口的oled显示屏,连接stm32的I2C1引脚,使用硬件I2C控制oled。 二、代码编写步骤1.配置串口:
使用CubeMX软件初始化stm32的USART1和USART3串口(使用默认配置就行),并使能串口中断;编写串口的中断回调函数,代码如下:
代码实现的主要功能:能将usart1接收到的信息重新发送出去,判断串口usart3接收到的消息(这里主要是esp8266回传的信息)通过串口1发送给电脑的串口助手,用来调试查看信息是否正确。 2.配置RTC外设这里我就直接跳过了,网上很多教程; 3.EPS8266配置和数据处理通过串口3发送AT指令控制eps8266连接心知天气; 首先需要注册心知天气账号(https://www.seniverse.com/),获取自己的密钥,替换心知天气api中的Key;具体的配置我就不详细说明了,网上有很多。 发送AT指令的代码如下:
基本的AT指令配置如下:
开始透传之后就可以发送get请求,这时串口3就会接收到天气信息,我们就可以将天气信息进行保存和处理。 信息处理代码如下:
将接收到的天气信息存储到Data_buff字符串,采用strstr(),sscanf(),atoi()等字符串处理函数,将天气情况和最高气温和最低气温从字符串中取出来; 1、首先使用strstr()函数,找到子字符串“text_day”的位置,使用指针变量p存储子字符串出现的首地址; 2、接着使用sscanf()函数取出“text_day”后面代表天气的字符串并保存; 3、继续使用strstr()函数找到“high”和“low”代表天气温度的字符串,再使用atoi()强制转换函数,将两个代表天气字符串后面跟着的数字转换成整型数,最后保存在数组中。 三、显示效果能实时显示时间,约半分钟刷新天气和气温信息 ? 总结上面的就随便写写,具体的还是看我附的源码;我觉得最有收获的就是对数据的处理,c语言虽然学过字符串处理函数,但是很少用到实际的代码中,看来还是要好好学习c语言。 工程代码连接如下: http://链接:https://pan.baidu.com/s/1-On-kjxllcd2yio_w6vmJw?pwd=t6dc 提取码:t6dc --来自百度网盘超级会员V2的分享 |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 22:53:54- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |