当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]Now Playing Display 是一款小巧的 USB 供电桌面设备,可将 Mac 上播放的音乐内容(包括专辑封面、曲目名称、艺术家以及进度条)镜像显示在 240×240 的圆形触摸屏上。通过点击按钮即可实现播放/暂停或跳过曲目。

Now Playing Display 是一款小巧的 USB 供电桌面设备,可将 Mac 上播放的音乐内容(包括专辑封面、曲目名称、艺术家以及进度条)镜像显示在 240×240 的圆形触摸屏上。通过点击按钮即可实现播放/暂停或跳过曲目。

只需插入USB-C接口,菜单栏应用便会自动检测设备,推送当前媒体内容,并处理播放指令。

硬件是特意采用现成的,任何人都能在一两个小时内组装完成:

•Seeed XIAO ESP32-C6(预焊接引脚头,方便使用)。

•XIAO 用圆形显示屏(GC9A01A 240×240 + CHSC6X 电容式触摸)

•任意 USB-C 数据线

•3D打印的卡扣式手机壳(STL文件可在Thingiverse上获取)

我为何坚持下去

我想要一个清晰可见的“正在播放”指示器,它不会被其他键盘快捷键、浏览器标签或菜单栏下拉选项所遮挡。

Mac 已经知道正在播放什么内容。Apple Music、Spotify、音乐应用、播客,甚至 Safari/YouTube 的标签页都会将元数据暴露给系统的 MediaRemote 服务,因此显示界面只需作为该服务的扩展即可。

Seeed Studio 的 XIAO ESP32-C6 + 圆形显示屏组合物美价廉,小巧精致,能出色地呈现专辑封面艺术。

它是如何工作的

该设备使用自定义的ESP-IDF固件和配套的MacOS应用程序运行:

1. ESP32 固件(使用 ESP-IDF 在 FreeRTOS 上构建,采用 LVGL 实现用户界面)通过 USB 串口监听一种小型二进制协议。

Mac 会解码专辑封面,将其缩小为 240×240,转换为 RGB565(即显示屏的原生格式,因此 ESP32 不需要进行任何图像处理),然后通过网络传输约 115 KB 的帧数据。曲目元数据仅以 JSON 格式存在。触摸屏幕时,这些事件会反向处理,在主机上变成 AppleScript 的媒体键事件。

首次启动时,在 Mac 应用连接之前,屏幕上会显示一个指向项目页面的二维码。

2. Mac 菜单栏应用是一个使用 py2app 打包的 Python 应用程序。它位于菜单栏中,带有“登录时启动”开关,并静默地监听设备是否通过 USB 出现。当设备出现后,它会开始向苹果的私有 MediaRemote 框架查询当前播放的元数据。

设置

购买硬件后,需将屏幕连接到ESP32,如下图所示:

现在,需要使用 esptool CLI 或 Chrome 浏览器中的 ESP 网页工具来刷写固件。

•下载 firmware.bin

•通过USB-C接口使用CLI(如下图所示)或ESP网络工具连接XIAO ESP32-C6:

•下载并安装 macOS 伴侣应用

•要让其在登录时自动启动,请点击菜单栏图标,然后切换“登录时启动”选项。在 macOS 中,该选项会显示在“系统设置”→“通用”→“登录项”中,可随时将其关闭。

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

一个由 NeoPixel 16 个 LED 组成的环形灯带以及 ESP32 控制器,被封装在一块由激光切割而成的亚克力材质外壳中,可通过移动设备上的 Blynk 应用程序进行控制。

关键字: LED BlynkIOT ESP32

这个项目最初只是一个简单的实验,属于那种你只想快速测试一个想法并看看它是否可行的类型,但在某个阶段它逐渐发展成了一个完整的系统,其中包括射频追踪、实时可视化、定制硬件,最终……还有一架无人机。

关键字: 无人机 GPS ESP32

这是一个轻量级且功能完备的 TFT 显示库,专为与 ESP32-C3 配合使用 1.69 英寸的 ST7789 显示屏而设计。该项目消除了 Arduino IDE、ESP32 核心更新以及现有显示库之间持续存在的不兼容问...

关键字: 显示屏 ESP32-C3 ST7789

ESP32凭借其双核Xtensa LX6架构,成为高性价比的IoT首选。但在FreeRTOS下,如何避免双核“打架”,并高效地进行核间通信(IPC),是性能优化的关键。本文将直击实战痛点。

关键字: ESP32 双核编程 FreeRTOS

尽管我一生都在芝加哥生活,但在成长过程中我对这座城市的实际模样却有着有限的认识。然而,当我进入高中后,我开始了解到芝加哥的全貌。在城市里乘坐公交车和火车成了我日常生活的一部分,虽然这让我能够探索一些我从未去过的地方,但它...

关键字: LED 显示屏 步进电机

该项目推出了一款基于 ESP32 微控制器和 LAN8720A 以太网 PHY 的紧凑型、低功耗的 Modbus RTU 至以太网/ Wi-Fi 的网关。

关键字: 以太网 网关 ESP32 LAN8720A

UPI 已成为印度最受欢迎的支付方式。如果任何企业想要采用智能解决方案,那么就必须实现与 UPI 的对接。这种支付系统使用起来非常简便,我们是通过 ESP32 进行集成的,而二维码则显示在小屏幕上。这种解决方案可用于任何...

关键字: UPI ESP32 微控制器

激光枪单元 — 一款手持式控制器,配备有激光二极管、发射按钮、复位按钮以及一个 4 位的 TM1637 显示屏。每次按下扳机键,激光就会发射 80 毫秒,并且会增加射击次数计数器。前面板上的一个红色 LED 会确认无线连...

关键字: Arduino Nano NRF24L01 TM1637 显示屏

变频振荡器(VFO)常用于无线电发射机和接收机中,尤其是在超外差式接收机中,它们能够实现对工作频率的调节。它们在业余无线电、通信系统和测试电子设备中都非常重要。在我之前的几段视频中,我已经向您展示了几种不同的创建 VFO...

关键字: ESP32 微控制器 Si5351 时钟 变频振荡器

如果你曾经驾驶过遥控飞机,并且想要详细了解飞行过程中的具体情况——比如飞行高度、飞行方向、温度以及有图像记录——那么市面上大多数的 FPV 系统都无法满足你的需求。它们能实时传输视频,但不会存储任何数据。一旦你降落,所有...

关键字: ESP32 飞行记录器 传感器
关闭