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

2020-08-07 16:33:42 浏览数 (1)

作者:KK

演示效果展示

1.实物完整功能演示:

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

2.命令行功能演示: 命令行添加了更多功能,不仅可以通过命令行调试系统,还可以通过命令行获取时间、天气信息、升级固件,也能把sd卡中的图片文件复制到spi flash中,命令行的更多功能,欢迎下载源代码体验。

项目介绍

学习一门技术,最好的办法是带着需求去学习,在项目中不断磨练自己,而不是漫无目的的去学,有了需求驱动,才更容易获得学习成果和完成项目后的成就感。本项目的初衷只是为了深入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

代码地址

代码开源地址gitee:https://gitee.com/Aladdin-Wang/hellotouchGFX

本项目的OTA部分的bootloader使用说明:https://gitee.com/Aladdin-Wang/RT-FOTA-STM32L431

0 人点赞