0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

TouchGFX4.13版具备了将动画推到60FPS的新功能

RTThread物联网操作系统 来源:Excelpoint世健 作者:Excelpoint世健 2020-06-23 17:46 次阅读

01概述

学习一门新技术,最好的办法是带着需求去学习,在项目中不断磨练自己,而不是漫无目的的去学,有了需求驱动,才更容易获得学习成果和完成项目后的成就感。

本项目涉及到的技术有:RT-Thread系统、TouchGFX、MQTT、HTTP、JSON、微信小程序、面向对象编程思想等。每个关键词里都有很多值得深究的技术细节。

本项目所要实现的功能有:

1. 显示屏第一页显示时钟、近三天天气预报和传感器数值

2. 显示屏第二页可以进行传感器阈值设置和开关控制

3. 传感器:温湿度传感器(SHT30),空气质量传感器 (MQ135)

4. 传感器阈值语音提醒,闹钟语音提醒

5. 传感器数值可以通过微信小程序显示,可以通过微信小程序进行开关控制、设置阈值和闹钟时间

6. 支持二次开发,增加更多扩展功能

02硬件框架

TouchGFX4.13版具备了将动画推到60FPS的新功能

硬件端:

主控芯片STM32F746IGT6

操作系统:RT-Thread v4.0.2

GUI:TouchGFX

开发工具:MDK5.29、TouchGFX 4.13.0 Designer、STM32CubeMX5.6.0、微信开发者工具

时间:软件模拟RTC+NTP自动网络对时

天气:通过http客户端get心知天气网络API获取天气信息

温湿度:使用I2C总线获取传感器SHT30模块的数据

空气质量:使用ADC和IO口读取传感器MQ-135(氨气、甲苯)的数据

链接网络:使用ESP8266当作无线网卡来链接网络

5寸电容屏:LCD使用RGB565格式

语音输出:使用中文TTS文字转语音模块,通过UART发送文字转换语音

服务器端:

云端服务器:阿里云物联网平台

通信方式:MQTT

微信小程序端:

编程语言:CSS、XML、JavaScript

通信方式:MQTT over WebSocket

03软件框架

设备连接物联网平台,与物联网平台进行数据通信。物联网平台可将设备数据流转到其他阿里云产品中进行存储和处理。以下是物联网系统的拓扑架构:

本项目的物联网后台部分采用的是阿里云物联网平台,借助阿里云丰富的服务,可为后期扩展更多实用的功能,STM32硬件平台作为设备终端,人机设备采用微信小程序。04RT-Thread使用情况概述

RT-Thread系统介绍:

RT-Thread的内核对象模型是一种非常有趣的面向对象实现方式。系统级的基础设施都是一种内核对象,例如线程,信号量,互斥量,事件,邮箱,消息队列和定时器,内存池,设备驱动等。

对于每一种具体内核对象和对象控制块,除了基本结构外,还有自己的扩展属性(私有属性)。因此从面向对象的观点,可以认为每一种具体对象是抽象对象的派生,继承了基本对象的属性并在此基础上扩展了与自己相关的属性。下图则显示了 RT-Thread 中各类内核对象的派生和继承关系:

TouchGFX4.13版具备了将动画推到60FPS的新功能

在对象管理模块中,定义了通用的数据结构,用来保存各种对象的共同属性,各种具体对象只需要在此基础上加上自己的某些特别的属性,就可以清楚的表示自己的特征。这种设计方法有两大优点:

提高了系统的可重用性和扩展性,增加新的对象类别很容易,只需要继承通用对象的属性再加少量扩展即可;

提供统一的对象操作方式,简化了各种具体对象的操作,提高了系统的可靠性。

RT-Thread使用情况:

内核部分:

线程间同步:信号量、互斥量

线程间通信:邮箱、消息队列

内存管理:memheap管理算法

I/O 设备管理:PIN设备、I2C设备、UART设备、ADC设备、RTC设备、TOUCH设备

组件部分:

FinSH控制台;

ulog日志;

netdev网卡;

AT命令;

SAL 套接字抽象层;

软件包部分:

阿里物联网SDK包:ali-iotkit-latest;

AT设备软件包:at_device-latest;

TLS软件包:mbedtls-latest;

JSON软件包:cJSON-latest;

网络工具包:netutils-latest;

触摸屏软件包:gt9147-latest;

sht3x软件包:sht3x-latest;

webclient软件包:webclient-latest;

分类使用说明:

用于连接网络的部分:UART设备;netdev网卡;AT命令;SAL 套接字抽象层;at_device-latest;

用于同步时钟的部分:RTC设备;netutils-latest;

用于获取天气的部分:cJSON-latest;webclient-latest;

用于获取温湿度的部分:I2C设备;sht3x-latest;

用于获取空气质量的部分:ADC设备;PIN设备;

用于触摸的部分:I2C设备;gt9147-latest;

用于链接阿里云物联网平台的部分:ali-iotkit-latest;mbedtls-latest;cJSON-latest;

05软件模块说明

TouchGFX介绍:

TouchGFX 4.13版具备了将动画推到60FPS的功能,还增加了可缓存容器、不完全帧缓冲区以及新的L8压缩格式等性能,这表明了 ToughGFX 不断追求优化性能和持续迭代的匠心。4.13版本还解决了另一个问题:嵌入式系统开发人员的用户界面可访问性。通过将TouchGFX Generator集成到 STM32CubeMX 中,经验较少的工程师在使用 TouchGFX 4.13 时,可以通过 STM32CubeMX 这个广为流行的 ST 实用软件程序快速启动项目。这样做的目的在于降低开发者入门门槛,让专业人士和爱好者都能受益于这个交互式的高效解决方案。
责任编辑:pj

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2552

    文章

    51362

    浏览量

    755699
  • 物联网
    +关注

    关注

    2912

    文章

    44889

    浏览量

    375758
  • 软件包
    +关注

    关注

    0

    文章

    104

    浏览量

    11627

原文标题:【RT-Thread作品秀】使用RT-Thread和TouchGFX实现DIY数字仪表

文章出处:【微信号:RTThread,微信公众号:RTThread物联网操作系统】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    TouchGFX助力STM32打造高效GUI显示方案

    TouchGFX 是一款针对 STM32 微控制器优化的先进免费图形软件框架。 TouchGFX 利用 STM32 图形功能和架构,通过创建令人惊叹的类似智能手机的图形用户界面,加速
    的头像 发表于 01-13 15:16 98次阅读
    <b class='flag-5'>TouchGFX</b>助力STM32打造高效GUI显示方案

    Amazon Q Business新功能发布,助力企业提效

    Business作为一款先进的生成式AI助手,其核心使命在于帮助企业员工轻松查找信息、获取深度洞察,并在日常工作中迅速采取实际行动。通过智能化的操作,它极大地减轻员工的负担,使得繁琐耗时的工作变得更为高效。 此次新功能的发布,更是
    的头像 发表于 12-24 10:42 154次阅读

    请问DS90UB953和DS90UB954的组合,是否支持4M以上分辨率的摄像头?

    请问DS90UB953和DS90UB954的组合,是否支持4M以上分辨率的摄像头?比如我们使用13M的sensor,进行全尺寸拍照或者1080P60fps视频传输? 另外DS90UB954是否支持两路1080P 60fps 的视频同时聚合复用接收?
    发表于 12-17 07:06

    【新品体验】贝启科技BQ3568HM开源鸿蒙开发板免费试用

    贝启科技BQ3568开源鸿蒙开发板是一款功能全面的开发板,搭载RK3568鸿蒙系统主板和OpenHarmony标准系统,具备高性能处理器(Quad-core ARM Cortex-A55,主频高达
    发表于 12-12 17:13

    Zigbee 3.0的新功能

    电子发烧友网站提供《Zigbee 3.0的新功能.pdf》资料免费下载
    发表于 09-26 10:45 3次下载
    Zigbee 3.0的<b class='flag-5'>新功能</b>

    轩展科技 FCB-ER9500:4K画质新高度,60FPS流畅度新体验,震撼来袭!

    FCB-ER9500一体化摄像机,已于近日震撼上市。这款集尖端科技与卓越性能于一身的产品,不仅4K画质推向新的高度,更以60FPS的流畅度为用户带来了前所未有的流畅体验,震撼整个
    的头像 发表于 08-30 18:03 1075次阅读
    轩展科技 FCB-ER9500:4K画质新高度,<b class='flag-5'>60FPS</b>流畅度新体验,震撼来袭!

    DS90UB933-Q1适用于1MP/60fps摄像头10/12 位、100MHz的FPD-link III串行器数据表

    电子发烧友网站提供《DS90UB933-Q1适用于1MP/60fps摄像头10/12 位、100MHz的FPD-link III串行器数据表.pdf》资料免费下载
    发表于 07-02 09:48 0次下载
    DS90UB933-Q1适用于1MP/<b class='flag-5'>60fps</b>摄像头10/12 位、100MHz的FPD-link III串行器数据表

    TouchGFX 中 MCU 负载的计算过程介绍

    TouchGFX Desinger 下载的 TBS(TouchGFX Board Setup)大都带有 MCU 的 负载计算功能,那么如何在自己的板子上增加 MCU 负载计算功能
    的头像 发表于 05-24 13:24 522次阅读
    <b class='flag-5'>TouchGFX</b> 中 MCU 负载的计算过程介绍

    在UVC固件中支持不同的FPS吗?

    摄像头,因此我想用一个 USB 描述符来处理它们,以简化操作。 例如,假设摄像机 A 只发送 30fps 的 MJPEG 1080p,而摄像机 B 发送相同格式但不同 FPS(如 60fps)的视频
    发表于 05-15 07:53

    瑞芯微工业处理器8K视频编解码+8K显示案例测试

    本案例使用GStreamer API通过ARM从本地导入8K视频文件(H.264编码格式或H.265编码格式),然后进行H.264或H.265(NV12)解码,解码后的图像以30fps60fps的帧率,实时显示到HDMI显示
    发表于 04-28 14:28 939次阅读
    瑞芯微工业处理器8K视频编解码+8K显示案例测试

    TouchGFX4.13的字库和字体不能显示,死机的问题怎么解决?

    我用的是TouchGFX4.13的版本,我把字库生成二进制文本放置到SD卡,通过文件系统缓存到SDRAM,但是一执行到如下类似的函数textArea1.setTypedText(touchgfx
    发表于 03-29 06:55

    程序通过touchgfx designer下载到开发板,无法实现触摸功能怎么处理?

    用NUCLEO-G071RB和X-NUCLEO-GFX01M1做触摸显示实验,希望点击按钮能跳转到相关界面,在touchgfx designer模拟仿真可以实现,但是程序通过touchgfx
    发表于 03-25 06:33

    120fps能否成为VR眩晕的“关键门槛”?

    据悉,研究共招募32位参与者,平均年龄介于18至51岁,男女比例均衡。每位参与者分别体验60fps、90fps、120fps及180
    的头像 发表于 03-18 15:36 840次阅读

    关于Fcx3采用usb2.0支持高分辨率的问题求解

    一下为约120Mbps 720p@ 60fps/* Max bit rate @60fps (bits/s). 720 x 1280 x 2 x 60 x 8 = 884736000 */转换一下为约
    发表于 02-28 06:08

    鸿蒙开发之发动画

    FPS(Frame Per Second),即每秒的动画帧数,帧率越高则动画就会越流畅。 ArkUI中,产生动画的方式是改变属性值且指定动画
    的头像 发表于 02-01 15:25 662次阅读
    鸿蒙开发之发<b class='flag-5'>动画</b>篇