zsensor — Zephyr 传感器绑定

zsensor 模块包含一个用于在 Zephyr 中使用传感器的类。

Sensor 类 — Zephyr 适配端的传感器控制

这个类用于在你的开发板上访问传感器的数据。请参阅 Zephyr 文档以了解此处的传感器用法: 传感器

在每个开发板,传感器在 Zephyr 设备树中定义。一个传感器可以测量的数量,称之为传感器通道。传感器可以有多个通道来表示一个属性的不同轴,或传感器可测量的不同属性。有关已定义的传感器通道,请参见下面的 通道

构造器

class zsensor.Sensor(device_name)

设备名称在你的开发板设备树中定义。例如, FRDM-k64f 开发板中加速度传感器的设备名为 “FXOS8700” 。

函数

Sensor.measure()

使用 Zephyr sensor_sample_fetch 从传感器设备获取测量样本,并将其作为有用值存储在内部驱动程序缓冲区中,该值为一个元组形如(值的整数部分,精确到百万分之一的小数部分)。如果成功则返回 none,否则返回 OSError 值。

Sensor.get_float(sensor_channel)

以浮点数形式返回传感器测量样本的值。

Sensor.get_micros(sensor_channel)

以百万分之一为单位,返回传感器测量样本的值。(例如, (1, 500000) 返回值为 1500000

Sensor.get_millis(sensor_channel)

以千分之一为单位,返回传感器测量样本的值。(例如, (1, 500000) 返回值为 1500

Sensor.get_int(sensor_channel)

仅返回测量样本的整数值。(例如, (1, 500000) 返回值为 1

通道

zsensor.ACCEL_X

X 轴上的加速度,单位为米/平方秒 m/s^2。

zsensor.ACCEL_Y

Y 轴上的加速度,单位为米/平方秒 m/s^2。

zsensor.ACCEL_Z

Z 轴上的加速度,单位为米/平方秒 m/s^2。

zsensor.GYRO_X

绕 X 轴的角速度,单位为弧度/秒 radians/s。

zsensor.GYRO_Y

绕 Y 轴的角速度,单位为弧度/秒 radians/s。

zsensor.GYRO_Z

绕 Z 轴的角速度,单位为弧度/秒 radians/s。

zsensor.MAGN_X

X 轴上的磁场,单位为高斯 Gauss。

zsensor.MAGN_Y

Y 轴上的磁场,单位为高斯 Gauss。

zsensor.MAGN_Z

Z 轴上的磁场,单位为高斯 Gauss。

zsensor.DIE_TEMP

器件芯片温度,以摄氏度为单位。

zsensor.PRESS

压力,单位为千帕 kilopascal。

zsensor.PROX

距离传感器。无度量单位。值 1 表示对象靠近。

zsensor.HUMIDITY

湿度,百分比。

zsensor.LIGHT

可见光谱中的照度,单位为勒克斯 lux。

zsensor.ALTITUDE

海拔高度,单位为米 meters。