在微控制器上开发可穿戴设备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

相关文章

一文详解Python如何开发游戏

《一文详解Python如何开发游戏》Python是一种非常流行的编程语言,也可以用来开发游戏模组,:本文主要介绍Python如何开发游戏的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、python简介二、Python 开发 2D 游戏的优劣势优势缺点三、Python 开发 3D

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

Java中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例解析

《Java中的分布式系统开发基于Zookeeper与Dubbo的应用案例解析》本文将通过实际案例,带你走进基于Zookeeper与Dubbo的分布式系统开发,本文通过实例代码给大家介绍的非常详... 目录Java 中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例一、分布式系统中的挑战二

90%的人第一步就错了! 顺利登录wifi路由器后台的技巧

《90%的人第一步就错了!顺利登录wifi路由器后台的技巧》登录Wi-Fi路由器,其实就是进入它的后台管理页面,很多朋友不知道该怎么进入路由器后台设置,感兴趣的朋友可以花3分钟了解一下... 你是不是也遇到过这种情况:家里网速突然变慢、想改WiFi密码却不知道从哪进路由器、新装宽带后完全不知道怎么设置?别慌

基于Go语言开发一个 IP 归属地查询接口工具

《基于Go语言开发一个IP归属地查询接口工具》在日常开发中,IP地址归属地查询是一个常见需求,本文将带大家使用Go语言快速开发一个IP归属地查询接口服务,有需要的小伙伴可以了解下... 目录功能目标技术栈项目结构核心代码(main.go)使用方法扩展功能总结在日常开发中,IP 地址归属地查询是一个常见需求:

录音功能在哪里? 电脑手机等设备打开录音功能的技巧

《录音功能在哪里?电脑手机等设备打开录音功能的技巧》很多时候我们需要使用录音功能,电脑和手机这些常用设备怎么使用录音功能呢?下面我们就来看看详细的教程... 我们在会议讨论、采访记录、课堂学习、灵感创作、法律取证、重要对话时,都可能有录音需求,便于留存关键信息。下面分享一下如何在电脑端和手机端上找到录音功能

Python函数的基本用法、返回值特性、全局变量修改及异常处理技巧

《Python函数的基本用法、返回值特性、全局变量修改及异常处理技巧》本文将通过实际代码示例,深入讲解Python函数的基本用法、返回值特性、全局变量修改以及异常处理技巧,感兴趣的朋友跟随小编一起看看... 目录一、python函数定义与调用1.1 基本函数定义1.2 函数调用二、函数返回值详解2.1 有返

基于 Cursor 开发 Spring Boot 项目详细攻略

《基于Cursor开发SpringBoot项目详细攻略》Cursor是集成GPT4、Claude3.5等LLM的VSCode类AI编程工具,支持SpringBoot项目开发全流程,涵盖环境配... 目录cursor是什么?基于 Cursor 开发 Spring Boot 项目完整指南1. 环境准备2. 创建

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同