【DIY数字仪表】RT-Thread结合TouchGFX实战教程

目录

【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.实物完整功能演示:

  1. 开机的第一个界面加载SD卡或者SPI flash中的图片资源到SDRAM中(根据环境变量选择从哪个地方加载)
  2. 加载完成后进入开机动画
  3. 点击任意位置切换到第一个界面,显示天气信息、时间和CPU负载率等信息
  4. 通过点击不同的图标进入不同的界面,分别是2048小游戏界面,智能家居灯光控制界面,系统设置升级界面
  5. 系统升级界面可以选择开机的加载图片位置,升级固件,并且显示当前固件版本和上次升级完成时间

基于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

猜你喜欢

转载自blog.csdn.net/sinat_31039061/article/details/107770551