ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

PiKVM V3 原型机特性深度解析:HDMI 音频采集、内置风扇控制器与 Arduino HID 升级

PiKVM V3 原型机特性深度解析:HDMI 音频采集、内置风扇控制器与 Arduino HID 升级 文档教程【免费下载链接】pikvmOpen and inexpensive DIY IP-KVM based on Raspberry Pi项目地址https://gitcode.com/gh_mirrors/pi/pikvm点击查看免费下载导读2020 年 12 月 20 日PiKVM 项目发布了关于第三代硬件V3原型机的最新进展。这篇来自官方博客的公告docs/blog/posts/2020/2020-12-20/index.md虽然篇幅不长却浓缩了 V3 区别于此前 DIY 版本V1/V2的四大关键特性HDMI 音频采集、内置 PWM 风扇控制器、同时支持 USB 与 PS/2 的 Arduino HID以及全 USB-C 接口标准化。本文将以此公告为骨架结合当前仓库中的 V3 使用指南、音频配置、Arduino HID 文档 及后续版本发布记录逐项解析这些特性的技术背景、最终落地形态与配置方法帮助读者理解 V3 在 KVM-over-IP 产品化道路上的关键设计取舍。一、公告背景从 DIY 走向产品化的 V3公告首先确认了两件事V3 原型机几乎准备就绪且自上次公布以来加入了若干新变更与附加特性。当时的 PiKVM 生态正处于从 V1/V2 纯 DIY 方案向即插即用整机过渡的阶段——这一点在今天的 README 中仍能看到清晰的定位划分V1/V2 面向动手组装V3 则是plug-and-play、fully assembled、industrial grade的整机产品。需要强调的是这篇公告描述的是当时尚未发货的试产原型其中部分特性如 HDMI 音频的软件支持、PS/2 鼠标在公告中明确标注为稍后完成。而今天的仓库文档已经完整记录了这些特性在量产 V3 上的最终形态本文将以公告承诺 → 最终实现的对照方式展开。二、HDMI 音频采集突破 CSI 桥接芯片的硬件缺陷2.1 公告中的问题陈述公告指出了当时 DIY 视频采集方案的一个普遍痛点除了昂贵的 Auvidea B101 之外市面上所有 CSI 桥接芯片都存在硬件电路错误无法采集 HDMI 中的音频信号。V3 在设计上解决了这一缺陷音频采集在硬件层面已经实现软件支持随后跟进并计划与 H.264 视频压缩一起提供给用户。这一承诺在后续产品中完整落地。根据 README 的功能对照表HDMI 音频采集与麦克风双向音频正是 V3/V4 整机与 DIY 版本的关键分水岭——DIY V1/V2 在音频能力一栏均为 ❌。2.2 硬件实现I2S 音频跳线与 tc358743-audio从 V3 使用指南 中可以看到 V3 的音频采集在硬件层面的具体形态。V3 的 HDMI 采集基于 TC358743 芯片板上有一组音频采集跳线jumper #4用于将 I2S 引脚GPIO 18/19/20/21连接到 HDMI 采集芯片I2S HDMI sound-GPIO 18, 19, 20, 21. Can be used for custom purposes if thetc358743-audiooverlay in/boot/config.txtis disabledANDjumpers [4] are removed.也就是说这组跳线与/boot/config.txt中的dtoverlaytc358743-audio设备树覆盖协同工作跳线接通且 overlay 启用时HDMI 输入的音频通过 I2S 总线送入系统只有两者同时被移除/禁用时这些 GPIO 才能挪作他用。这从侧面印证了公告中所说的硬件电路错误是可以通过正确布线规避的——V3 正是通过将 I2S 正确连接到 TC358743 来根治问题的。2.3 软件支持EDID 音频块与 WebRTC 多媒体公告称软件将稍后准备就绪如今 音频配置文档 已经给出了完整方案。值得注意的是V3 上的音频在量产机型中出于兼容性历史原因默认关闭避免破坏老用户的 EDID 配置需要按以下步骤开启确认 V3 HAT 板上的音频跳线jumper #4未拆除且/boot/config.txt中的dtoverlaytc358743-audio未被注释更新系统并重启在 EDID 中启用 Basic Audio 支持并再次重启[rootpikvm ~]# rw [rootpikvm ~]# kvmd-edidconf --set-audioyes [rootpikvm ~]# rebootkvmd-edidconf --set-audio的作用是向 PiKVM 对外暴露的 EDID 中写入音频数据块Audio Data Block让被控主机认为 HDMI 显示设备具备音频输出能力——这正是被控主机决定是否通过 HDMI 输出音频的依据。仓库中 2024-02-15 的发布记录 也提到kvmd-edidconf --set-audio1可以自动为某些特别挑剔的 OS添加音频块。配置完成后在 Web UI 的System菜单中把视频模式切换为WebRTC打开Multimedia开关并将音量调到非零值视频流会重启并开始播放被控主机的音频。音频规格上V3 支持标准位深与采样率的立体声如 32/44.1/48 kHz 配合 16/24 bit。2.4 后续演进从单向往双向音频公告中h264 视频压缩 音频的设想最终演化为完整的双向音频能力除了从 HDMI 采集被控主机的声音扬声器方向V3 还能通过 OTG 模拟一个 USB 麦克风把浏览器端的语音送入被控主机麦克风方向。根据 音频配置文档启用 USB 麦克风需要在/etc/kvmd/override.yaml中添加otg: devices: audio: enabled: true也可以使用kvmd-override命令完成同样的配置见 _config.md 配置指南[rootpikvm ~]# kvmd-override --set otg/devices/audio/enabledtrue同时在 Web UI 中允许浏览器访问麦克风并打开Microphone开关即可。需要注意的是双向音频仅在 WebRTC 模式下可用VNC 不支持音频且 DIY 设备无论 CSI 还是 USB 采集棒都不具备该能力。三、内置风扇控制器解决 Raspberry Pi 的散热问题3.1 公告中的动机公告指出由于 Raspberry Pi 存在散热问题V3 内置了风扇控制器。这在 V3 的整机形态下是合理的金属外壳 主动散热才能保证 7×24 小时 KVM 场景下的长期稳定运行。3.2 实现与落地kvmd-fan 服务从仓库文档看V3 的风扇控制器最终以独立系统服务kvmd-fan的形式落地。2022-01-08 的 KVMD 3.53 发布记录 明确写道The next new feature iskvmd-fan. This new utility implements automatic fan speed control depending on temperature.即kvmd-fan实现依据温度自动调节风扇转速。在 V3 硬件上风扇通过PWM 控制器驱动占用 GPIO 12。根据 V3 使用指南 的 GPIO 说明PWM fan controller-GPIO 12. Can be used for custom purposes if the fan disconnected andkvmd-fanservice is stopped.这意味着 GPIO 12 是 PWM 风扇专用引脚只有拔掉风扇并且停止kvmd-fan服务后才能将它用于其他自定义用途。而 GPIO 引脚清单还警告在 V3/V4 Plus 上某些 GPIO 扩展模块会与kvmd-fan冲突见 GPIO 文档 中的硬件限制说明。3.3 启用方式对于老版本的 V3 HAT 镜像OLED 与风扇默认并未启用需要手动开启新版出厂镜像默认已启用[rootpikvm ~]# rw [rootpikvm ~]# systemctl enable --now kvmd-oled kvmd-oled-reboot kvmd-oled-shutdown [rootpikvm ~]# systemctl enable --now kvmd-fan [rootpikvm ~]# rokvmd-fan与kvmd-oled一起构成了 V3 整机的本地状态呈现与散热管理闭环——OLED 屏显示温度、CPU 与内存占用风扇则依据温度自动调速这正对应公告中解决 RPi 散热问题的设计目标。四、Arduino HIDUSB 与 PS/2 键盘鼠标的统一方案4.1 公告中的定位公告宣布 V3 的 Arduino HID 同时支持USB 和 PS/2 键盘鼠标并强调这一方案对 Apple UEFI 是必需的this thing is necessary to work with Apple UEFI。公告同时坦白 PS/2 鼠标的软件支持稍后完成硬件已就绪。这条背景需要放在当时的时间线理解就在公告发布前一周2020-12-11KVMD 2.6 发布记录 刚刚宣布完全重写 Arduino HID 子系统其中一项关键成果正是Arduino HID 兼容 Mac UEFI能够在启动时访问其菜单并注明如果需要完整的 Mac UEFI 支持请使用 Arduino HID这是推荐方法。V3 公告实际上是这条开发路线的硬件延续。4.2 固件形态多模式编译开关Arduino HID 的软件形态是一套基于 PlatformIO 的 AVR 固件源码位于/usr/share/kvmd/hid/arduino刷写方法见 刷写 Arduino HID。根据 Arduino HID 文档固件的键盘/鼠标组合通过platformio-avr.ini中的编译宏选择[_common] build_flags -DHID_PS2_KBD_CLOCK_PIN7 -DHID_PS2_KBD_DATA_PIN5 -DHID_USB_CHECK_ENDPOINT # ----- The default config with dynamic switching ----- -DHID_DYNAMIC -DHID_WITH_USB -DHID_SET_USB_KBD -DHID_SET_USB_MOUSE_ABS # ----- PS2 keyboard only ----- # -DHID_WITH_PS2 # -DHID_SET_PS2_KBD # ----- PS2 keyboard USB absolute mouse ----- # -DHID_WITH_USB # -DHID_WITH_PS2 # -DHID_SET_PS2_KBD # -DHID_SET_USB_MOUSE_ABS # ----- PS2 keyboard USB relative mouse ----- # -DHID_WITH_USB # -DHID_WITH_PS2 # -DHID_SET_PS2_KBD # -DHID_SET_USB_MOUSE_REL默认固件使用 USB HID 并支持动态模式切换通过注释/取消注释对应宏可以组合出纯 PS/2 键盘PS/2 键盘 USB 绝对鼠标PS/2 键盘 USB 相对鼠标等多种形态。公告中USB 和 PS/2 键盘鼠标的承诺正对应这套可配置的多模式固件体系。4.3 PS/2 接线与已知限制使用 PS/2 键盘时将 Arduino 引脚连接到主板的紫色 PS/2 接口若只有一个通用接口绿紫双色亦可Arduino pin 7 ↔ PS/2 CLOCKArduino pin 5 ↔ PS/2 DATAGND ↔ GND。文档同时提醒纯 PS/2 设备需要把 Arduino 的 VIN 接到树莓派的 5V 引脚而 USB 连接时 Arduino 会自行取电、无需外接。公告发布时 PS/2 鼠标尚未完成Arduino HID 文档 也记录了当时的限制使用 PS/2 固件时无法使用可切换的 USB HID且 PS/2 鼠标暂不支持——文档注明这两个问题都将在近期解决两个不同版本的固件将合并为一个通用版本。此后 KVMD 3.82021-07-10的 Epic Apple fix 发布记录 证实了这条路线对 Mac 的价值Intel 版 Mac 可借助 Arduino HID 进入 Option / CmdR 等启动菜单在引导管理器中相对鼠标可用恢复模式下相对/绝对鼠标均可用。4.4 后续定位被 Pico HID 取代需要提醒的是Arduino HID 如今已被官方标记为Legacy旧版方案。Arduino HID 文档 开篇即警告该方案仅用于旧版 DIY 组装更现代且更好的替代品是 Pico HID基于 Raspberry Pi Pico 的 HID 桥接方案。因此本文对 Arduino HID 的讨论定位在V3 原型机阶段的历史技术路线这一语境下新项目应优先考虑 Pico HID。五、接口标准化全 USB-C 与官方电源兼容公告还宣布 V3 板只使用 USB-C 接口以实现标准化并与官方 Raspberry Pi 电源完全兼容——后者将被推荐作为 V3 的供电方案。这一设计在 V3 使用指南 中得到了印证。V3 前面板提供USB-C 电源输入5.1V 3A后面板则是USB-C OTG 接口承担键盘/鼠标、虚拟 CD-ROM/U 盘、USB 以太网、USB 串口等全部 USB 设备模拟功能此外还有独立的USB-C 串口控制台接口。也就是说USB-C 在 V3 上同时承担了供电 OTG 设备模拟 控制台三重角色充分体现了公告所说的标准化意图。配套地V3 对供电也给出了明确建议使用 5V USB 电源适配器勿遮挡侧面的散热孔首次上电时系统会生成 SSH 密钥与证书耗时数分钟期间不应断电。六、试产计划与产品化时间线历史背景公告末尾公布了当时的发售计划作为产品化历程的一部分记录如下首批限量 30 套面向商业客户与部分感兴趣的用户手工组装试产单套$200–250套件包含V3 主板、Arduino HID 板、适配板、小风扇以及可能的3D 打印外壳不包含Raspberry Pi 与电源计划在 2021 年 1 月开始销售量产型号价格大幅降低约 $100。从后续发布记录可以还原这条时间线的真实走向2021-07-04 的 KVMD 3.7 发布记录 提到首批 v3 在俄罗斯海关延误第二批9 月中国代工计划随后推进。今天仓库中的 V3 使用指南、3D 打印外壳图纸 与 V3.3 图纸后者即Kickstarter/Store 型号都证明 V3 最终以 HAT 组装套件与整机两种形态量产交付。公告中原型机几乎准备就绪的表述与最终产品的一致性为本文特性对照式的解读提供了依据。七、总结2020 年 12 月的这篇 V3 公告虽然只有寥寥数段却精准预告了 PiKVM 产品化阶段的技术重心公告特性最终落地形态仓库依据HDMI 音频采集I2S 跳线 tc358743-audiooverlay EDID 音频块WebRTC 播放docs/v3.md、docs/audio.md内置风扇控制器kvmd-fan服务按温度 PWM 调速占用 GPIO 12docs/blog/posts/2022/2022-01-08/index.md、docs/v3.mdArduino HIDUSB PS/2多模式固件编译宏支持 Apple UEFI后被 Pico HID 取代docs/arduino_hid.md、docs/blog/posts/2020/2020-12-11/index.md全 USB-C 标准化供电、OTG 设备模拟、控制台三合一兼容官方电源docs/v3.md对于研究 PiKVM 硬件演进的读者这篇公告是理解 V3 设计取舍的起点对于实际使用者仓库中对应的功能配置文档、V3 完整指南 与 GPIO 说明 则提供了从特性到可操作配置的完整路径。V3 作为 PiKVM 从 DIY 走向整机产品的承上启下之作其音频 散热 HID 兼容性三大方向也一直延续到了后续的 V4 系列。附注本篇文章所述特性均以当前仓库文档为准。音频、风扇与 HID 的具体配置命令以 PiKVM OS 配置指南 中描述的/etc/kvmd/override.yaml与kvmd-override工具为基础实际使用请以安装的 KVMD 版本为准。赞分享文档教程【免费下载链接】pikvmOpen and inexpensive DIY IP-KVM based on Raspberry Pi项目地址https://gitcode.com/gh_mirrors/pi/pikvm点击查看免费下载相关推荐PiKVM 视频性能修复与 HID 演进uStreamer 2.2 发布解析与 Arduino HID 升级路线PiKVM 视频性能修复与 HID 演进uStreamer 2.2 发布解析与 Arduino HID 升级路线 本文解析 PiKVM 在 2020 年 11文档教程PiKVM V3/V4 双向音频配置实战指南HDMI 扬声器输出与 USB 麦克风输入PiKVM V3/V4 双向音频配置实战指南HDMI 扬声器输出与 USB 麦克风输入 本篇指南以 PiKVM https://link.gitcode.co文档教程PiKVM风扇控制温度曲线自定义配置文件PiKVM风扇控制温度曲线自定义配置文件 你是否遇到过PiKVM设备在长时间运行后温度过高的问题或者风扇噪音过大影响使用体验本文将详细介绍如何通过自定义温文档教程上一篇MAX Pipelines 的 LFM2 架构支持混合全注意力 短卷积解码器实现解析下一篇Metabase 按「年周」分组与 week 表达式完全指南周数算法、三种模式与 SQL 实现原理创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表