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