如何在 Ubuntu 13.04 中使用 Surface Pro 上的 iio 访问传感器数据

如何在 Ubuntu 13.04 中使用 Surface Pro 上的 iio 访问传感器数据

我在 Surface Pro 上运行着 Ubuntu 13.04。

其中一个 USB 设备(ID 045e:0794)已注册多个 hid 传感器设备:

  • HID-SENSOR-200041.0:灯光:环境光
  • HID-SENSOR-200062.0:机械:布尔开关阵列
  • HID-SENSOR-200073.0:运动:加速度计 3D
  • HID-SENSOR-200076.0:运动:陀螺仪 3D
  • HID-SENSOR-200083.0:方向:指南针 3D
  • HID-SENSOR-200086.0:方向:倾斜仪 3D
  • HID-SENSOR-20008a.0:方向:设备方向

加载 hid-sensor-als 时,/sys/bus/iio/devices/iio:device0 中有一个 iio 设备可用,并且还会创建 /dev/iio:device0。

加载 hid-sensor-accel-3d 和 hid-sensor-gyro-3d 时也会创建新的 iio 设备。

现在我的问题是如何从这些传感器获取和读取数据?

答案1

我在 Fedora 20 下对 Yoga 2 Pro 进行了同样的练习。问题在于传感器集线器传感器驱动程序不公开原始接口,因此您必须使用缓冲接口,这不容易设置。此外,驱动程序可能无法正确初始化某些传感器,因此它们会挂起。

上面提到的演示中提到了一个名为 generic_buffer 的程序。但是,该程序存在许多问题,至少最容易获得的版本存在问题。

我有一个修复版本的 generic_bufferhttps://github.com/pfps/yoga-laptop在传感器下。我还有一个程序可以监控加速度计并相应地旋转屏幕。请随意使用和滥用它们,如果可以的话,请改进它们。

答案2

快速谷歌搜索,我发现了这个:https://archive.fosdem.org/2012/schedule/event/693/127_iio-a-new-subsystem.pdf

第 22-24 页:用户空间 API,有一些访问 /sys 中的设备文件的 shell 命令。

在 Linux 内核树中,“Documentation/ABI/testing/sysfs-bus-iio”也有一些信息。

我不是专家,但也许这可以为你提供一些帮助?

相关内容