目录
【DIY数字仪表】STM32F429移植TouchGFX到RT-Thread系统(1)
【DIY数字仪表】使用TouchGFX的MVP架构来实现GUI和硬件的双向交互(2)
【DIY数字仪表】RT-Thread移植touchgfx实现自动同步网络时间和天气预报(3)
【DIY数字仪表】RT-Thread移植touchgfx使用sd卡升级固件和图片资源(4)
实验平台:
硬件: 野火挑战者STM32F429 V1开发版
软件: 最新版本的STM32CubeF4固件库,TouchGFXDesigner v4.14和 STM32CubeMX v6.0.0,开发环境MDK v5.29
联系作者:
关注公众号,免费查看,回复“加群”,加入技术交流群
演示效果展示
1.实物完整功能演示:
- 开机的第一个界面加载SD卡或者SPI flash中的图片资源到SDRAM中(根据环境变量选择从哪个地方加载)
- 加载完成后进入开机动画
- 点击任意位置切换到第一个界面,显示天气信息、时间和CPU负载率等信息
- 通过点击不同的图标进入不同的界面,分别是2048小游戏界面,智能家居灯光控制界面,系统设置升级界面
- 系统升级界面可以选择开机的加载图片位置,升级固件,并且显示当前固件版本和上次升级完成时间
基于STM32F429的DIY数字仪表完整演示
视频原地址:https://www.bilibili.com/video/BV1ha4y1E7iC/
2.命令行功能演示:
命令行添加了更多功能,不仅可以通过命令行调试系统,还可以通过命令行获取时间、天气信息、升级固件,也能把sd卡中的图片文件复制到spi flash中,命令行的更多功能,欢迎下载源代码体验。
diy数字仪表固件升级命令行演示
视频原地址:https://www.bilibili.com/video/BV1ct4y1D7Hk/
项目介绍
学习一门技术,最好的办法是带着需求去学习,在项目中不断磨练自己,而不是漫无目的的去学,有了需求驱动,才更容易获得学习成果和完成项目后的成就感。本项目的初衷只是为了深入RT-Thread和TouchGFX的使用方法,学习其中的编程思想。在公众号中开源并分享此项目的笔记和代码,也是为了在记录和分享的过程中,理清代码的细节,能让更多人能加入进来一起学习,参与讨论的人越多,越会有意想不到的收获,如果本项目有幸可能帮助到你学习RT-Thread和TouchGFX,希望你能关注我公众号,并加入进来一起学习。
rtthread使用说明
rtthread软件包使用说明
本次使用的软件包比较多,分类如下:
-
网络需要的软件包:
webclient:用于http webclient获取天气信息
cJSON:用于解析HTTP的JSON消息包; -
触摸使用的软件包:
gt9147:此软件包可以适配野火开发版本的V1和V2系列 -
存储使用的软件包:
FAL:用于存储区域划分;
EasyFlash:用于KV参数的存储,可以实现平衡擦除和断电备份,同时也可以实现二进制存储,使用非常方便;
-
调试使用的软件包:
adbd:主要用于shell调试和文件的传输;
ota_downloader:ota _downloader包含HTTP和ymodem协议的软件包;
nettutils:网络工具包,用于网络相关测试使用,这里只使用了ntp获取网络时间;
rtthread组件使用说明
- 虚拟文件系统
可以为应用程序提供统一的 POSIX 文件和目录操作接口:read、write、poll/select 等,本次挂载的文件系统有FatFS和DevFS - ulog 日志
ulog作为一个小型的日志组件,可以很方便的调试软件 - netdev 网卡
netdev 组件解决了设备多网卡连接时网络连接问题,用于统一管理各个网卡信息与网络连接状态,并且提供统一的网卡调试命令接口
touchgfx控件使用情况
-
BUTTONS
Button
ToggleButton -
IMAGES
Image -
CONTAINERS
ModalWindows -
PROGRESS INDICATORS
BoxProgress
CricleProgress -
MISCELLANEOUS
TextArea
AnalogClock
DigitalClock -
自定义控件: CUSTOM CONTAINERS
MculoadWidget
WeatherWIdget
代码地址
【DIY数字仪表】基于STM32F429
本项目的OTA部分的bootloader使用说明:https://gitee.com/Aladdin-Wang/RT-FOTA-STM32L431