olvvier/apple-silicon-accelerometer

智能家居 ⭐⭐⭐☆☆ (3/5) 🧩 软硬件结合 已发布
olvvier 248 Stars 未知 BOM 完整度: /5 教程完整度: /5

项目简介

reading the undocumented mems accelerometer + gyroscope on apple silicon macbooks via iokit hid


这个开源项目「apple-silicon-accelerometer」的核心价值在于,它成功解锁了Apple Silicon MacBook上一个长期被隐藏的硬件能力——内置MEMS惯性测量单元(IMU),包含加速度计和陀螺仪。这个传感器由传感器处理单元(SPU)管理,苹果并未通过任何公开API或框架向开发者开放,因此长期以来鲜为人知。项目通过IOKit HID接口,以约800Hz的原始采样率直接读取三轴加速度和角速度数据,并以约100Hz的回调频率提供给用户。技术栈上,项目基于Python开发,核心依赖是macimu库,底层通过C语言与IOKit交互,使用IOHIDDeviceCreate和异步回调机制获取22字节的HID报告,数据解析后通过Mahony AHRS四元数滤波器融合加速度计和陀螺仪数据,实时计算设备的横滚、俯仰和偏航角。项目还内置了零依赖的双二阶巴特沃斯滤波器,支持高通、低通滤波、重力去除和峰值检测等信号处理功能。它解决了开发者无法在macOS上直接访问内置运动传感器的痛点,让原本只能用于系统内部任务(如屏幕旋转检测、跌落保护)的IMU数据变得可编程、可实时获取。适用场景非常广泛:可以用于开发触觉反馈应用(如将敲击力度转换为机械键盘音效的Haptyk)、交互式桌面玩具(如拍打笔记本发出声音的Spank)、手势控制工具(如轻敲执行快捷操作的Knock),以及任何需要感知设备姿态、振动或运动状态的创意编程项目。需要注意的是,由于IOKit HID设备访问需要提升权限,运行脚本时需使用sudo。

标签