前言
2023年Zephyr开发者大会(ZDS)于6月27日至30日在捷克布拉格隆重举行。与以往两次不同,本次ZDS由Zephyr项目规划和管理,并作为首届嵌入式开源峰会(EOSS)的一部分进行。在这个令人期待已久的盛会中,全球Zephyr开发者们共同探讨了Zephyr实时操作系统(RTOS)的最新技术与发展趋势。作为一款开源、灵活和可扩展的嵌入式实时操作系统,Zephyr项目在2014年由英特尔发起,2016年作为Linux基金会项目正式面向公众启动,得到了全球范围内的广泛关注和采用。
ZDS 2023共70余个技术报告,涵盖了使用指导与展示、新功能与技术、架构修改与操作系统、多核异构与虚拟化、模拟器、测试、工业流程与代码管理、安全性、应用案例、工具与调试等丰富多样的内容。湖大嵌入式实验室的小伙伴们将对本次大会的所有技术报告进行逐一收集、整理与分享,尽最大努力为Zephyr开发者提供ZDS 2023技术报告的开发经验、实践成果以及解决方案的参考。
今天分享第25篇技术报告,由张国栋整理,题目为:
“使用Zephyr构建开源智能手表”
作者简介

Jakob Krantz是高级嵌入式软件工程师,在 u-blox 担任嵌入式开发人员 6 年,目前正在 Nordic MCU 上使用 Zephyr/nRF Connect。喜欢构建将编程与机电一体化和电子相结合的东西,大多数项目还包括某种类型的3D打印。Jakob Krantz不断学习新事物,不仅很有趣,而且还给了他很大的成就感,这些新事物可以应用于他的爱好项目。
ZSWatch介绍
Jakob Krantz称之为ZSWatch(Zephyr智能手表),命名灵感源自 ZMK 项目(Zephyr 机械键盘)。硬件包括:PCB (KiCAD)、机械外壳(CAD)、Dock、BOM、基于 Zephyr 构建的应用程序、Apps。
选择Zephyr的原因:
最终选取了2个版本,如下图所示:

其中第二个版本的结构如下所示:

硬件选择的结论:对于更多供应商提供官方 Zephyr 驱动程序来说可能是一项不错的投资、使用的传感器 Zephyr 驱动程序仅支持基本传感器使用、最终将Bosch移植到了 Zephyr。
启动过程:为 ZSWatch 创建一个新板、一次添加一个传感器/组件、解决编译问题。
架构:基于模块的应用程序、用于内部通信的 ZBUS、“应用程序”中的单独代码。具体如下图所示。

默认高功耗:默认空闲超时 30 秒、显示屏消耗> 99%、60 mA 全亮度,30 mA 50% - 线性。

低功耗的方法:


用户界面具有以下特点:很棒的 UI 库、开源、灵活并支持任何需要的东西、支持桌面模拟器、处理用户输入、物理按键、触摸(通过 Zephyr LVGL kscan 端口)。应用很丰富。具体如下图所示。





最终生成ZDS应用如下图所示。

在 Linux 上运行:Zephyr native-posix 端口和用于 UI 的 SDL、支持的开发套件上的 hci_usb 示例、避免在闪烁上“浪费”时间。
价格
总体来说价格较便宜,价格如下表所示。

Zephyr LVGL 端口需要一些性能改进。
本机 Posix 端口改进。
尝试新的 Zephyr“传感子系统”。
表盘实施返工。
更多耗电工作。