在微控制器上开发可穿戴设备GUI的重要技巧

2024-01-26 03:10

本文主要是介绍在微控制器上开发可穿戴设备GUI的重要技巧,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

通过了解内存、图形和电池续航对用户体验设计和软件开发决策的影响,在MCU设备上构建更好的可穿戴设备GUI。

可穿戴设备市场正在蓬勃发展,这得益于消费者希望获得一系列触手可及的服务,以及更经济、更节能的硬件进入了这一领域。可穿戴技术仍处于起步阶段,呈现出一个有待突破的不稳定市场,苹果、三星和 Zepp Health(华米科技)等供应商都在争夺市场的头号交椅,其开发团队也在不断采用新技术,以求兼顾用户体验(UX)和电池续航。

随着越来越多的可穿戴设备OEM意识到基于微控制器的设备的价值,在此情景下,我们想要分享如何利用这些低功耗、资源受限的平台,来提供能与苹果和安卓生态系统使用的高端硬件相竞争的用户体验。

基于我们数十年来在嵌入式图形用户界面(GUI)方面的经验,以及我们最近与Zepp Health等客户合作的项目,以下是我们对在微控制器(MCU)平台上开发可穿戴设备GUI的主要建议。

1. 减少和优化内存使用

可穿戴设备GUI开发的最大困难就是——将UX设计师的愿景压缩到硬件平台上,但却没有足够的空间容纳大型图像资源和复杂的过渡。内存同时为代码和数据所用,我们优化得越好,受到的限制也就越少。

简化应用程序内存使用的第一步是确定它需要多少空间。无论是在设计阶段还是在用户测试之前,都值得为内存预算和分配建立常规基线,以了解应该在哪里和何时进行调整。

例如,下面的图表(摘自我们的可穿戴设备GUI开发指南的第二部分)说明了如何计算帧缓冲区所需的内存。内存分配是显示器分辨率和色位深度的函数,总内存将占用应用程序所需的帧缓冲区的总数(3D应用程序通常使用额外的深度和模版缓冲)。

除了帧缓冲区之外,您还需要弄清楚应用程序的代码和数据占用。有了这些基线以后,您就可以使用测量和分析工具、应用程序日志和运行时观察来发现和隔离应用程序重大更改后的任何内存问题。

我们的智能手表客户案例研究提供了一个例子:

“使用Storyboard的应用程序内存占用预览,我们马上就知道了,在初始UX设计中的所有图层和字体占用都会超出我们已有的闪存。我们决定折叠屏幕图层并使用Storyboard的字形导出编辑器来去除未使用的字体字符,从而节省空间,同时又不影响设计师的意图。”

Storyboard的应用程序内存占用预览和字形导出编辑器(红框部分)

2. 将MCU的功耗降至最低

高分辨率显示器、位置传感器、心率监测器和蓝牙无线电是一些会消耗更多电池电量的消费者驱动功能。但可穿戴设备用户希望电池续航是以周为单位的,而不是以小时为单位。较新的健身手环甚至能满足充一次电续航长达一个月。

“可穿戴设备在医疗行业还没有得到广泛应用的主要原因之一是需要定期给电池充电。患者可能会忘记充电,或者需要护理人员来进行操作。”——医疗可穿戴设备的电源层面,Electronic Specifier电子报

通过更好的电池、处理器和显示技术,以及基于硬件或应用逻辑来智能应用电源管理方案,可以实现更长的续航。

在我们的可穿戴设备电子书中,我们推荐了两种节能技术:

1. 尽可能触发睡眠模式,仅在有用户事件(如点击或加速传感器输入)时唤醒GUI。

2. 在可穿戴设备中,显示屏是最大的耗电源,因此,当设备处于未唤醒状态或低光照条件时,应将背光调暗。这可以通过降低背光的照明水平或在GUI中使用调光层来实现。

3. 创建有效的可穿戴设备用户体验

要与可穿戴设备市场的顶级商家竞争,就需要了解他们使用了哪些技术和元素来提供消费者喜爱的用户体验。风格、个性和色调与图形性能和应用程序延迟同等重要。

在为可穿戴设备设计UX时,有四个关键因素:

1. 适用性

屏幕越小,在显示信息量和交互界面尺寸方面需要克服的挑战就越大。大型、高分辨率的图像和长文本字符串应该被淘汰,并以简短、简化、能够快速传达行动和信息的元素取而代之。

2. 复杂性

可穿戴设备不是手机或平板电脑,用户的期望通常是“扫一眼,快速点击”。因此不能使用太多的元素让屏幕变得混乱,也不能有太多的导航层,否则用户会感到迷茫和不悦。

3. 专注

可穿戴设备通常与手机、平板电脑或台式机配对,应该作为这些设备的补充,而不是替代品。仅将您的用户体验设计专注于基本和核心功能上,并考虑设备之间的操作。请确保您的用户体验设计能够有效地做到,在配对的智能手机或平板电脑上映射智能手表的操作(如取消通知)。

4. 差异化

复制流行供应商的用户体验设计和行为选择也许是一条“捷径”,但吸引新用户和保持品牌忠诚度的最好方法是拥有自己的与众不同之处。

4. 图像的运行时优化

与代码优化一样,图像表现受大小、执行和渲染时间的影响。特别是,用于微控制器的可穿戴设备GUI的空间和处理器资源有限,因此图像越复杂,运行起来就越困难。

图像优化有很多工作要做,未来,我们将分享更多有关图像、字体优化的案例和内容。

总结

可穿戴设备市场已有了蓬勃发展,要取得更多的市场份额,供应商就需要重点关注如何在节能硬件上构建丰富的功能。了解内存、图形和电池续航对用户体验设计和软件开发决策的影响,将有助于您确立在可穿戴设备市场上的领先地位。

这篇关于在微控制器上开发可穿戴设备GUI的重要技巧的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/645462

相关文章

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

MyBatis 动态 SQL 优化之标签的实战与技巧(常见用法)

《MyBatis动态SQL优化之标签的实战与技巧(常见用法)》本文通过详细的示例和实际应用场景,介绍了如何有效利用这些标签来优化MyBatis配置,提升开发效率,确保SQL的高效执行和安全性,感... 目录动态SQL详解一、动态SQL的核心概念1.1 什么是动态SQL?1.2 动态SQL的优点1.3 动态S

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

Python GUI框架中的PyQt详解

《PythonGUI框架中的PyQt详解》PyQt是Python语言中最强大且广泛应用的GUI框架之一,基于Qt库的Python绑定实现,本文将深入解析PyQt的核心模块,并通过代码示例展示其应用场... 目录一、PyQt核心模块概览二、核心模块详解与示例1. QtCore - 核心基础模块2. QtWid

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

电脑win32spl.dll文件丢失咋办? win32spl.dll丢失无法连接打印机修复技巧

《电脑win32spl.dll文件丢失咋办?win32spl.dll丢失无法连接打印机修复技巧》电脑突然提示win32spl.dll文件丢失,打印机死活连不上,今天就来给大家详细讲解一下这个问题的解... 不知道大家在使用电脑的时候是否遇到过关于win32spl.dll文件丢失的问题,win32spl.dl

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

SpringBoot整合jasypt实现重要数据加密

《SpringBoot整合jasypt实现重要数据加密》Jasypt是一个专注于简化Java加密操作的开源工具,:本文主要介绍详细介绍了如何使用jasypt实现重要数据加密,感兴趣的小伙伴可... 目录jasypt简介 jasypt的优点SpringBoot使用jasypt创建mapper接口配置文件加密

基于Python开发批量提取Excel图片的小工具

《基于Python开发批量提取Excel图片的小工具》这篇文章主要为大家详细介绍了如何使用Python中的openpyxl库开发一个小工具,可以实现批量提取Excel图片,有需要的小伙伴可以参考一下... 目前有一个需求,就是批量读取当前目录下所有文件夹里的Excel文件,去获取出Excel文件中的图片,并

电脑报错cxcore100.dll丢失怎么办? 多种免费修复缺失的cxcore100.dll文件的技巧

《电脑报错cxcore100.dll丢失怎么办?多种免费修复缺失的cxcore100.dll文件的技巧》你是否也遇到过“由于找不到cxcore100.dll,无法继续执行代码,重新安装程序可能会解... 当电脑报错“cxcore100.dll未找到”时,这通常意味着系统无法找到或加载这编程个必要的动态链接库