专栏首页AIoT开源项目分享【DIY数字仪表】RT-Thread结合TouchGFX实战教程(完)

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

作者: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

本文分享自微信公众号 - AIoT开源项目分享(Aladdin-Wang),作者:AIoTkk

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-08-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【DIY数字仪表】RT-Thread移植touchgfx实现自动同步网络时间和天气预报(3)

    作者:KK 本期将介绍一下如何利用rtthread系统同步网络时间和天气预报到UI上。

    AIoT-KK
  • 零代码玩转OTA升级

    前言: 前边讲过stm32通用bootloader的实现方法,没有看过的,可以参考这一篇文章:STM32通用Bootloader——FOTA,这次将在上篇boo...

    AIoT-KK
  • STM32通用Bootloader——FOTA

    固件升级,通常称为 OTA(Over the Air)升级或者 FOTA(Firmware Over-The-Air)升级,即固件通过空中下载进行升级的技术。

    AIoT-KK
  • 想了解数据库安全?看这一篇文章就够了!

    互联网时代,人与人、人与社会交互过程中产生的行为数据、画像数据、信息数据等正在呈指数级增长,同时数据的价值和重要性不言而喻。数据库作为数据的载体,产品和技术也越...

    腾讯云数据库 TencentDB
  • 实时计算数据架构的演变

    存储层,主要是负责存储企业各种系统产生的数据,如 Web 业务系统、订单系统、CRM 系统,ERP 系统、监控系统,数据比如系统的订单交易量,网站的活跃用户数,...

    kk大数据
  • 51Nod 1051 最大子矩阵和

    1051 最大子矩阵和 基准时间限制:2 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 一个M*N的矩阵,找到此矩阵的一个子矩阵,并且这个子...

    attack
  • cwiki-us-angular-app 导入后如何添加到自己的项目

    将 https://stackblitz.com/github/cwiki-us-angular/cwiki-us-angular-app 导入到界面后,如何将...

    HoneyMoose
  • 当CV碰上无人机:ICCV 2019 VisDrone挑战赛冠军解决方案解读

    如今,配备摄像头的无人机或通用无人机已经广泛地应用在农业、航空摄影、快速交付、监视等多个领域。

    机器之心
  • 当CV碰上无人机:ICCV 2019 VisDrone挑战赛冠军解决方案解读

    如今,配备摄像头的无人机或通用无人机已经广泛地应用在农业、航空摄影、快速交付、监视等多个领域。

    OpenCV学堂
  • 工作7年,一位已婚妹子UI自动化测试学习心得

    大家好,我是罗春南,来自海南,工作7年,已是一位3岁孩子妈妈的,90后妹子(已婚,仍可撩

    测试开发技术

扫码关注云+社区

领取腾讯云代金券