admin 管理员组文章数量: 887021
目录
概述
一、设计背景及设计内容
1.1背景
1.2设计内容
二、软件开发工具
2.1.串口调试助手
2.2 取模软件
2.3 Keil uVision5 MDK(ARM)软件
三、 系统硬件模块
3.1 整体设计方案
3.2 主控模块
3.3 显示模块
3.4 WIFI 模块
3.5 温湿度传感器模块
3.6 蓝牙模块
4 系统软件设计
5 系统测试
5.1 硬件测试
5.2 软件测试
5.2.1 功能测试
6 总结与展望
6.1 总结
6.2 展望
附录
(简述及效果)
概述
随着社会的发展,用于时钟同步的授时系统以及数值天气预报的技术越来越成熟, 而时间同步和天气预报也是人们生活需要获取的信息。本文设计一套适用于家居生活的天气预报 以及时间终端显示设备,能够实时显示本地的天气信息和准确的时间;采用 STM32 嵌入式处理 器为主控芯片,无线网络选用 ESP8266WIFI 模块,通过 TCP 协议访问气象网站以及授时网站的 API 接口,得到 JSON 格式的气象数据以及时间信息并解析,在 OLED 屏幕上显示;测试结果显 示,该设备获取时间与天气信息准确快捷,易于观察,适合在家居生活中应用。
一、设计背景及设计内容
1.1背景
随着社会的发展,人们无论在生活、生产或者其他方面,都很难离开准确的时间 以及天气信息。虽然目前的独立计时的时钟设备精度越来越高,但是时间久了仍会产 生一定的时钟误差,不能保证时间的准确性,天气也是一个影响人们活动及生产的重 要因素,而天气预报涉及多个领域以及庞大的计算才能得出;为了方便家居生活中获 取天气预报以及准确时间信息,网络授时时钟以及天气预报系统等产品也层出不穷。
1.2设计内容
该设计的主要内容介绍:
(1)运用 ESP8266WiFi 模块的 AT 指令配网、与服务器通信,获取网络上的信息 并解析;
(2)利用蓝牙模块的无线连接,在手机端的蓝牙串口 APP 发送指令修改时钟以及 WIFI 的配置。 (3)通过按键扫描实现简单的人机交互。
(3)运用 1.3 寸 OLED 显示屏并设计一定的界面显示获取到的信息。
(4)利用独立看门狗增强系统的稳健性。
(5)整个系统基于 ARM 的 CORTEX-M3 的 STM32F103 硬件平台进行应用编程。
二、软件开发工具
2.1.串口调试助手
XCOM 串行调试助手是专为电脑开发的一款串口调试工具,它具有波特率、校 验位、数据位、停止位、帧超时等多种通讯设定功能;在电脑端先按装好 USB 转串 口驱动后,即可通过 USB 口连接电脑,到开串口选择可以自动识别已连接的串口, 设置好波特率以及校验位等参数后,打卡串口即可进行串口调试;该调试软件支持 ASCII 码或十六进制接收或发送任何数据或字符,并且可以选择周期发送,显示栏还 可以显示由串口发送的信息,方便对各硬件模块进行调试
2.2 取模软件
PCtoLCD2002 是一个易于使用字模软件,该软件无需安装,可以对中英文、符 号以及图片进行取模(图 2),支持多种取模方式:逐行、逐列、行列、列行,可以进 行中英文以及数字的混合取模;取字模时可以选择需要的字体、大小,可根据需要调 节文本的长度、宽度、位置,生成任意形状的字符;此软件系统具有 C、汇编两种 输出形式,并能自行设定输出格式,并能自行设定输出数据的数量。
2.3 Keil uVision5 MDK(ARM)软件
KeilMDK-ARM 是一个 IDE (集成开发环境),它由美国 Keil 软件公司生产, 支持 ARM 为控制芯片开发。ARM 包括 KeilC 编译器,宏汇编器,调试器,实时内 核等行 业标准 。拥 有业界 领先的 ARM C/C++编 译工具 , 能够完 美地支持 Cortex-M,Cortex-R4,ARM7,ARM9,包括全球知名的芯片。本项目将在 Keil uVision5 MDK 集成开发环境下进行设计开发,采用 ST-Link 下 载工具进行程序烧录。
三、 系统硬件模块
3.1 整体设计方案
本课项目设计主要的以搭载 STM32F103ZET6 为主控芯片的开发板为控制核心,控制核心协调各个模块的工作,完成整个功能系统的运行。因为该系统需要具有联网以及显示等功能,所以除了开发板主控制模块以及其按键之外,还需要其他的模块如下:
(1) ESP8266WIFI 模块,用于联网获取数据。
(2) OLED 屏显示模块,用于显示各种信息。
(3) HC-05 蓝牙模块,用于对该系统进行无线设置。
(4) DHT11 温湿度模块,用于检测室内温湿度。
(5) 有源蜂鸣器模块,用于闹钟响铃。
(6) 按键模块,用于进行简单的人机交互。
钟整体设计方案框如图所示:
3.2 主控模块
该系统的主要控制芯片是 STM32F103ZET6;STM32 系列 ARMCortex-M3 结构 32 位处理器,其工作时的电压和功耗都很低,同时也具备很好的实时性。本项目为了节约时间采用正点原子的STM32F103ZET6精英板为基础进行软件开发。
3.3 显示模块
显示模块采用 1.3 英寸的单色 OLED 屏幕。OLED 屏种类繁多,有多种尺寸、分辨率、驱动芯片以及通信协议可供选择;本项目选用尺 寸为 1.3 寸,分辨率为 128*64,驱动芯片为 SSD1306 的四引脚 OLED 屏,支持 IIC 通信协议。
可根据自己需求改为LCD屏,可以把页面设计的更加好看,显示部分需做对应修改。后续附上参考连接。
3.4 WIFI 模块
采用的 ATK-ESP8266 模块是由 ALIENTEK 公司开发的一款具有 UART-WiFi (UART-WiFi)功能的高性能 UART-WiFi 组件,ATK-ESP8266 板载了 由正点原子公司研发的 ATK-ESP-01 组件。该模块以及烧录好固件库,只需要通过串口发送指定的 AT 指令,即可完成相应 的连接、设置以及透传等功能(相关资料可在正点原子资料网下载)。
3.5 温湿度传感器模块
DHT11 型温湿度传感器是一种温度、湿度传感器,它具有校准数字信 号输出的特点,温湿度传感器的作用是测量周围的温湿度,在温、湿度感应器 DHT11 中,采用 8 位的微处理器连接在感温元件和温度元件上。它可以同时检测温度范围是 0~50 摄氏度的温度和湿度范围是 20%~90%的相对湿度。
3.6 蓝牙模块
本项目采用 HC-05 蓝牙模块,它是一款以 Bluetooth Specification V2.0 为基础的数字传输模块,具有 EDR 蓝牙功能,是一款高性能的主从式蓝牙串行模块。 该蓝牙模块采用 2.4 GHz 的 ISM 技术,采用 GFSK 的调制模式。该模块的最大传输 功率为 4 dBm,具有-85 dBm 的接收灵敏度,板载 PCB 天线,可在 10 m 的范围内进 行通讯。该模块具有 LED 灯泡,可以直接检测到蓝牙的连接状况。该模块采用 CSRBC417 芯片,并支持 AT 指令,可根据要求改变角色(主、从)、串口波特率、 设备名称等参数。
4 系统软件设计
略
5 系统测试
5.1 硬件测试
硬件调试必须要备有万用表,而且要能正确的使用万用表。 确定选题的第一件事请就是查阅相关资料并购买相关元器件。而在进行各模块编 程前的第一步就是检查硬件的好坏;检测硬件好坏分两步,第一步是检查单个元器件 或者模块是否正常供电,第二步是通过万用表、调试软件或者编写代码进行模块调式, 测试其能否正常运行并实现其功能,以便尽早更换。
一些简单的硬件的检测,用万用表即可;测量元件是否能通电,是否存在短路、 开路的情况。查看硬件相关资料,确定每个元器件的工作电压。而一些独立的功能模 块的检测,还要依靠对应的调试软件进行,部分模块通电根本观测不出现象。
本文的 ESP8266WIFI 模块,进行调试时需要用到上文所述串口调试助手 XCOM, 通过串口发送 AT 指令,设置 STA 模式,并连接手机 WIFI 热点,再连接知心天气网, 从而获取数据,在调试助手观察返回的结果。
......
5.2 软件测试
硬件测试以及各个模块调试结束,以及编写完各个功能模块的调用程序后,需要 对该程序用程序进行调用测试,查看该模块的功能函数是否能较好的完成对应的功能, 是否有明显的 BUG,并进行修改完善。 接下来,则需要根据系统主程序整体设计思路进行功能结合,该阶段需要结合硬 件调试部分共同完成。将每个功能模块的调用程序嵌入到主程序的对应的地方,使其 在需要的时候履行自己的使命;然后要对整个系统的程序代码进行试运行,并通过运 行的结果对其进行功能测试以及稳定性的测试。最后根据程序运行结果,对系统进行 各方面的调整优化。
5.2.1 功能测试
测试整个系统的功能,首先启动系统,初始化系统的过程中配置并连接好 WIFI 并主动从网络获取一次时间以及天气信息,校准内部 RTC 并显示;人机交互功能由 22 按键以及手机上的蓝颜串口 APP 实现。按键如图 26 所示,红色按键为 RST 复位按 键,可以重启整个系统,按键 KEY0 为界面切换功能按键,KEY1 按键为开启或者关 闭自动切屏按键,KEY2(KEY_UP)为手动更新数据按键。
最终效果图:
界面序号 | 显示信息 | 最终显示效果 |
界面一 | 当前北京时间、日期及温度等信息。 | |
界面二 | 当天的天气信息,包括天气,温度等。 |
界面三 | 当天的降雨率,湿度,风力等级。 | |
界面四 | 闹钟信息界面,闹钟时间以及状态。 | |
界面五 | 今、明以及后三天的大致天气温度信息。 | |
界面六 | WIFI的连接信息及地区名称。 | |
初始化界面 | 显示系统初始化进度 | |
数据更新 界面 | 显示更新进度以及更新结果 (finish!或No WIFI..) |
其他显示界面:
6 总结与展望
6.1 总结
本次设计的基于STM32的动态天气,具有操作简便、结果准确等特点,在居家生活中能帮助人们快速获取天气信息以及准确的时间,方便人们安排接下来的活动和工作。该设计难点在于对ESP8266WIFI模块的运用,以及对从网络上获取的JSON格式数据进行解析,从而得到想要的天气信息,可以空过按键切换信息界面,也可以通过手机的蓝牙调试助手连接蓝牙模块后发送特定格式的指令进行对应的设置。。。
6.2 展望
该系统适合在居家生活中使用,目前只能实现室内温湿度、联网获取时间以及天气信息的显示提醒、闹钟功能,未来可以更换更大的显示模块,设计更简洁美观的界面,让信息获取更加的方便快捷。 由于搭载的STM32具有强大处理性能以及留有很多的外部接口,未来还可以在此系统上进行多方面的功能拓展。也可以更换精简的芯片制作成更加小巧的时钟。。。。
附录
项目源码:
后续添加。
版权声明:本文标题:基于STM32的动态天气时钟毕业设计 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1729140890h1322913.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论