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

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

3天内不再提示

采用 STM32H750 探索套件的无线测温集中器的UI设计

jf_pJlTbmA9 来源:STM32 作者:STM32 2023-09-27 15:41 次阅读

▲作品展示

在详述实现过程之前,我们先看一下 ST 专家点评。

ST专家点评

从这个评测贴中我们可以看到这位同学给我们展示了如何使用STM32H750+TouchGFX开发平台快速开发一个GUI产品-无线测温集中器。

从设计思路角度来看:这位同学进行设计前,首先使用思维导图工具对应用的需求进行模块化梳理,这个设计思路是非常推荐的。

一方面有利于进行UI界面规划和设计,另一方面有助于通过TouchGFX提供的MVP机制对UI和后端数据处理进行分离,可以分开调试。

这位同学也提到,由于UI image/font资源多的时候,下载板卡会比较慢,因此UI开发可以先使用TouchGFX Designer的模拟器进行调试,当后端数据处理部分调试好后然后再与UI部分通过MVP集成。

从数据处理的角度看:从功能实现的角度来看无线测温集中器的应用功能UI部分的实现比较完整,交互也比较友好。该设计包含了多个界面(主界面/实时曲线/历史曲线/设备配置/时钟显示/关于),这些界面的实现和界面间切换以及数据的展示和读取。

从整体设计来看:看起来复杂的GUI+数据处理应用,由于TouchGFX Designer提供了很多常用的控件,如:文本显示/图片显示/容器/界面切换/动态,静态曲线/时钟等控件,就非常容易的通过所见即所得+拖拽的方式进行快速设计,通过交互配置就可以实现页面切换,然后通过MVP进行数据展示,是一个很好的参考设计。

一、概述

此项目实际应用,并非使用STM32H750B芯片,显示屏也是7寸的RGB屏,所以,此项目只是使用此开发板实现GUI的功能,后期将GUI移植到具体的项目中。

整个项目的大体框架如下:

wKgaomUDznGAaSR9AANflLFYmB4878.png

无线数据的读取是通过一个SPI的Lora 模块通讯的,读取大量测温模块发出的温度,由于全程都是无线的通讯方式,需要一台可以显示能进行人机交互的设备来管理这些模块。

二、硬件

GUI运行硬件平台为STM32H750B-DK开发板。硬件层的程序最终是基于我司的平台,所以,此次测评主要集中在GUI上。很多底层的程序移植过来也用不上,而且时间比较长,逻辑也比较复杂。连接上随开始板送的传感器与一个RTC模块。

wKgaomUDznOAJbSYAA04u1SnCfw134.png

三、软件

于是,本次的UI就采用仿win10桌面的一种方式。要美观的话还是要大量的贴图,所以先用一些简单的图标进行代替。“桌面”的整体布局使用自定义控件的方式,把任务栏与开始菜单先做成自定义容器,在每个界面中添加这个容器。再实现每个界面 不同的功能。界面设计,大部分工作是使用TouchGFX 4.19.1 Designer 完成的,一些逻辑,要当特定的源文件中修改代码与添加相应的函数实现的。

任务栏可以打开开始菜单,右侧为显示桌面功能。开始菜单中的几个图标,可以进行不同的screen之间的切换。每个screen中都添加这个任务栏的容器,这样每个sreen之间都可以自由的切换了。

wKgaomUDznWAKxN5AAAtSB6cGxk291.png

桌面,显示温湿度传感器的数据,显示无线信号强度,显示报警状态,有消音功能。如果没有有效的无线信号,信号强度图标会从低到高闪烁,以示在搜索信号。

wKgZomUDznaAD5pCAAF1lvVJFVA841.png

当发生报警时,会有弹窗。同时,最上面会有报警状态显示,桌面上,的铃铛会闪烁。当按复位后,报警状态全部消失。

wKgZomUDzniAR65hAADV75zL6OY789.png

也可以按一下铃铛,进行静音。

wKgZomUDznmAauq_AAGBVkRVrEI900.png

实时动态显示功能,这里分不同的线路,每条线路分为A,B,C三相,使用不同的颜色区分。中间增加一个滚轮,用于切换不同的线路号。这里显示的应该是温度曲线,方便调试,增加了可修改周期的正弦曲线,线路号越大,周期越大。无线测温一般测量电缆接头或是断路器的位置,所以,分三相显示。

wKgaomUDznuAECDhAADwd_4rmlg368.png

历史记录可显示报警信息发生时前后的温度记录,也是通过滚轮来切换的。这里的数据,是暂时的,实际使用时,要先读取存储介质上的数据再显示的。

wKgaomUDzn2ARODYAAGNupeilyw495.png

配置界面,可配置报警开关,与报警温度的设置。温度设置通过独立设计的一个虚拟键盘来输入。

wKgZomUDzn6AElM5AAF1p1XhlwE053.png

时钟界面用一个模拟时钟,通过读取RTC的数据来显示时间。

wKgZomUDzoCAMnl6AAOcLAz3HaE542.png

报警记录,通过方向键来切换要显示的报警信息。

wKgaomUDzoGAPTvAAAFMkWD-YNo151.png

网络界面,用于配置网络地址,每一个数字都是通过滑轮的方式进行修改的。

wKgaomUDzoOAWeZfAAFo3EOgoqI545.png

“关于”界面,显示一些基本的信息。

右上角有一根灯绳,只要点一下,会下拉一个界面。

四、总结

经过一段时间的开发设计,对TouchGFX的架构有了一个比较深入的掌握,对于后续项目产品中使用TouchGFX奠定了基础。

使用TouchGFX Designer进行界面的设计,大大的减少了设计所用的时间,完整的PC仿真方案,不用每次烧写调度,进一步减少了开发周期。GUI的设计,大部分使用TouchGFX Designer就可以完成,TouchGFX Designer自带的一些动画、关联功能,不需要大量的美工,就可以做出比较完善、美观的UI。几乎适应于任何应用项目中。

来源:STM32论坛网友jinyi7016 版权归原作者所有

直接转载来源:STM32

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理

审核编辑 黄宇

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

    关注

    0

    文章

    27

    浏览量

    8666
  • GUI
    GUI
    +关注

    关注

    3

    文章

    660

    浏览量

    39668
  • 无线测温
    +关注

    关注

    3

    文章

    273

    浏览量

    11724
  • STM32H750
    +关注

    关注

    1

    文章

    16

    浏览量

    1756
收藏 人收藏

    评论

    相关推荐

    STM32H750使能内存保护后DMA异常的原因?怎么解决?

    STM32H750 在使能内存保护后启用cache 导致SPI+DMA传输不准确,具体就是调用HAL_SPI_TransmitReceive_DMA 这个函数,读到的数据全是0,但是拿逻辑分析仪看上面显示的数据是正确的。
    发表于 05-24 07:53

    如何提快STM32H750的DMA中断响应时间?

    STM32H750程序在外部FLash运行,中断程序是在RAM中。测试中断响应时间有1us多,怎样能缩短这个时间。 上面的响应时间指的是触发DMA传输到进入中断的时间,DMA只传一个数据,将定时比较值传入到数组中。 还有个疑问中断嵌套会增加进入优先级高中断的时间吗
    发表于 05-20 08:19

    远程抄表集中器是什么?

    1.远程抄表集中器的定义与功能远程抄表集中器,是一种现代化的智能设备,主要用于收集和处理各类电、水、气等公用事业表计的数据。它通过无线或有线通信技术,实现对大量计量设备的远程自动化抄表,大大提高
    的头像 发表于 04-24 14:11 448次阅读
    远程抄表<b class='flag-5'>集中器</b>是什么?

    请问电机控制使用RT1050还是STM32H750

    咨询一下,最近在选择电机控制方案,一种是使用RT1050,一种是STM32H750
    发表于 04-22 07:42

    STM32H750可以仿真但运行又进不了main是为什么?

    STM32H750遇到可以仿真,但运行又进不了main的情况 仿真上可以正常运行,但直接运行时就进不了main(),请问有兄弟遇到相同情况吗?
    发表于 04-16 06:10

    调试STM32H750的FMC总线读写遇到的问题求解

    最近调试STM32H750的FMC总线读写,PSRAM扩展模式,设置16位带宽,调试时发现写数据需要写四次才能写到寄存里,因此测量读写波形,出现以下问题,1.发现发送写单个个16位数据时,写信
    发表于 04-10 08:12

    STM32H750不能使用IAR进行仿真是为什么?

    大家好,我现在正在使用STM32H750,使用的IDE 是IAR 现在在进行Debug的时候遇到一个问题,由于使用了QSPI-flash,现在程序可以下载,但是不能仿真,是参照CebuMX的例程写的,想请教下有没有前辈遇到过这个问题。
    发表于 04-09 08:14

    STM32H750 QSPI flash重映射模式下有方法能实现读写操作吗?

    STM32H750 QSPI flash重映射模式下有方法能实现读写操作吗
    发表于 03-25 08:06

    STM32H750 BootLoader如何重刷?

    STM32H750 BootLoader如何重刷,在哪里可以找到文档
    发表于 03-20 06:44

    STM32H750可以使用Cube.AI吗?

    STM32H750,可以使用Cube.AI吗
    发表于 03-19 06:14

    stm32H750使用FreeRTOS有时死机的原因?

    stm32H750使用FreeRTOS,偶尔会出现所有线程停止运行的状况(流水指示灯不闪,程序不跑),此时点击触摸屏触发一下串口中断,所有的线程又会恢复运行,从堆栈调用情况看,有点像是串口发送
    发表于 03-18 07:54

    STM32H750使用TouchGFX字体大而多导致卡死怎么解决?

    本人使用的STM32H750开发板,现可以正常工作(显示和交互),但在一页面下添加多段文字字体大而多时,编译下载则会卡死,如图所示 如将溶解氧取掉后再编译下载则不会卡死。 现已排查了与堆栈大小没有关系,已不知如何下手排查问题。
    发表于 03-12 08:13

    STM32H750如何提高数据包大小?

    我使用STM32H750官方的VCP例程,FS模式。 程序默认CDC_DATA_FS_MAX_PACKET_SIZE是64位,我试着修改最大只能到256,如果再大会导致接收不到数据。芯片资料MPSIZ设置范围可以到2047。 我想提高数据包大小应该怎么修改
    发表于 03-07 06:12

    stm32h750如何使用两个usb口?

    我现在在使用stm32h750芯片,想要使用两个usb口,一个作为device连接电脑,一个作为host连接u盘。spi之类的都有需要spi1 spi2这种,但是并不明白我这个usb怎么做,好像
    发表于 02-26 06:51