开云体育 黑客挖出苹果荫藏硬件!你的MacBook里有加快计/陀螺仪

henry 发自 凹非寺量子位 | 公众号 QbitAI
亏贼!
尽然有东谈主径直黑进了没公开的接口?发现荫藏的加快度计和陀螺仪接口
苹果API文档里找不到相关信息,但它们就藏在你的MacBook里。

通过它,法子不错及时读取札记本电脑的三轴加快度(x/y/z)和三轴角速率数据。
也便是说,你的MacBook在空间中的回荡、旋转、歪斜,齐能被精准纪录。
惟有轻轻晃一晃电脑、调动一下角度,终局里的数值就会随着跳。
更离谱的是,把手腕逼近心率板10-20秒,法子还能捕捉到通常心率产生的细小振动信号——
相等于在MacBook上“测了个心率”(固然十足不具备医疗意旨)。
这个发现一出,网友径直炸锅:正本MacBook还有这玩意?

也有东谈主初始:
他们会用这些数据来判断你在恳求AppleCare补偿时,是否摔过你的 MacBook。

毕竟,苹果的圭臬保修并不包含偶然损坏,而AppleCare则是付费维修、收取办事费。

要是成就里面确实有加快度传感器,那下次修电脑找意义岂不是齐不好找了?(doge)
M3 Pro上已证实
根据征战者小哥的GitHub,在搭载M3芯片的MacBook Pro上,确乎存在加快度计和陀螺仪数据流。
这些传感器数据是小哥通过系统底层的IOKit HID接口读取到的。
苹果并莫得公开API,也莫得在官方文档中讲明它的用途

具体来说,这个传感器挂在macOS的IOKit成就树底下,名叫AppleSPUHIDDevice
它属于苹果的SPU(Sensor Processing Unit,一分彩app传感器处理单位)体系,由系统驱动AppleSPUHIDDriver惩办。
在HID成就里,usage 3→加快度计,usage 9→陀螺仪,两者来自归并个物理IMU芯片。
根据拆机分析,外界探究可能是Bosch BMI286(未被官方阐明)。
就现在来看,也曾证实的机型有M3系列MacBook Pro,长途经被阐明莫得的包括搭载英特尔芯片的老mac和初代M1芯片的MacBook。
这个传感器颖异嘛?
根据技俩讲明和网友分析,开云体育官方网站这个接口不错读取:三轴加快度、三轴陀螺仪、开盖角度以及环境光相关数据。
至于它的用途,小哥并莫得进一步讲明,但不少网友亦然径直把这个跟MacBook的保修战略相关了起来。
但有一说一,开盖角度检测一直就有——
MacBook判断你是否合盖(屏幕寝息),自身就需要姿态或磁感应判断。

而环境光数据也不奇怪,Mac的屏幕和键盘齐有自动亮度调度功能,自身就依赖后光传感器。
至于“测心跳”,那确乎很专门想,有不少网友暗示我方确乎想体验一下。

把手腕放在触控板隔壁10–20秒,法子会尝试捕捉心跳激励的细小机械振动(BCG旨趣)。
它通过0.8–3Hz带通滤波,自相关算法估算BPM。
不外需要强调的是,这并不成用作医疗用途,仅仅展示传感器聪惠度。
是以,现在还莫得切实的凭证标明:它会纪录历史摔落数据、参与保修判定以及上传用户暴露信息。
况且,据小哥露馅,这个传感器数据流还可能会因为苹果系统的更新而被调和掉。
至于民众最热心的能不成及时检测电脑的位姿,尤其是在摔了后拒保,还要看苹果后续的回报。
我方测试一下
临了,要是感意思意思的话,你也不错在我方的电脑上玩一下。
(确定可参考https://github.com/olvvier/apple-silicon-accelerometer)
先在终局运行:
ioreg-l -w0 | grep -A5 AppleSPUHIDDevice
要是能看到 AppleSPUHIDDevice 节点,讲明成就存在。
然后:
{jz:field.toptypename/}gitclonehttps://github.com/olvvier/apple-silicon-accelerometercdapple-silicon-accelerometerpipinstall -e .sudopython3 motion_live.py
值得一提的是,这里需要 sudo,因为Apple Silicon上走访IOKit HID需要root权限。
告成运行后回荡电脑,终局数值会及时变化。
把手腕放在触控板隔壁10–20 秒,不错尝试“心跳检测”演示。
[1]https://github.com/olvvier/apple-silicon-accelerometer
[2]https://x.com/QingQ77/status/2025556429331943667?s=20
[3]https://medium.com/@oli.bourbonnais/your-macbook-has-an-accelerometer-and-you-can-read-it-in-real-time-in-python-28d9395fb180

备案号: