このドキュメンテーションは、MicroPython の最新開発ブランチのためのものです。 リリースバージョンでは利用できない機能に言及することがあります。

特定のリリースのドキュメントをお探しの場合は、左側のドロップダウンメニューを使って、 望みのバージョンを選択します。

zsensor --- Zephyr センサーバインディング

zsensor モジュールには Zephyr でセンサーを使うためのクラスがあります。

クラス Sensor --- Zephyr ポート用のセンサー制御

このクラスは、ボード上のセンサーからデータにアクセスするのに使います。センサーの使用方法については、Zephyr のドキュメンテーションの センサー を参照してください。

各ボードのために Zephyr devicetree でセンサーが定義されています。特定のセンサーが測定できる数量は、センサーチャンネルと呼ばれます。センサーは、1つのプロパティの異なる軸またはセンサーが測定できる異なるプロパティを表すために、複数のチャンネルを持つことがあります。定義されたセンサーチャネルについては、後述の Channels を参照してください。各チャンネルには、変更または照会可能な複数の属性を設定できます。定義済みのセンサーチャンネル属性については、後述の Channel Attributes を参照してください。

コンストラクタ

class zsensor.Sensor(device_name)

デバイス名は、ボードの devicetree で定義されています。たとえば、FRDM-k64f ボードの加速度センサーのデバイス名は「FXOS8700」です。

メソッド

Sensor.measure()

Zephyr の sensor_sample_fetch を使ってセンサーデバイスから測定サンプルを取得し、それを有用な値として内部のドライバーバッファに格納します。この値は (値の整数部, 値の小数部を百万倍した整数)というペアです。成功した場合は None を返し、失敗した場合は OSError になります。

Sensor.get_float(sensor_channel)

計測したセンサー値を float で返します。

Sensor.get_micros(sensor_channel)

計測したセンサー値を100万倍した値を返します。(例: 値が (1, 500000) であれば 1500000 を返します)

Sensor.get_millis(sensor_channel)

計測したセンサー値を1000倍した値を返します。(例: 値が (1, 500000) であれば 1500 を返します)

Sensor.get_int(sensor_channel)

計測したセンサー値の整数部だけを返します。(例: 値が (1, 500000) であれば 1 を返します)

Sensor.attr_set(sensor_channel, channel_attribute, val1[, val2])

指定したチャンネルの属性を指定した値に設定します。 val1 が float 型である場合は val2 を指定しません。 val1 が整数型である場合は val2 に100万分の1単位の小数部分を指定します。

成功した場合は None を返します。それ以外の場合は OSError が発生します。

Sensor.attr_get_float(sensor_channel, channel_attribute)

センサーのチャンネル属性値を float 型で返します。

多くのセンサーは、これも含めて attr_get 系のメソッドをサポートしていません。

Sensor.attr_get_micros(sensor_channel, channel_attribute)

センサーのチャンネル属性値を100万倍した値を返します。(例: 値が (1, 500000) であれば 1500000 を返します)

Sensor.attr_get_millis(sensor_channel, channel_attribute)

センサーのチャンネル属性値を1000倍した値を返します。(例: 値が (1, 500000) であれば 1500 を返します)

Sensor.attr_get_int(sensor_channel, channel_attribute)

センサーのチャンネル属性値の整数部だけを返します。(例: 値が (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.ACCEL_XYZ

加速度計の3軸すべてを表す擬似チャネル。 Sensor.attr_set()Sensor.attr_get_xxx() メソッドで使います。

zsensor.GYRO_X

X軸の角速度(radians/s)。

zsensor.GYRO_Y

Y軸の角速度(radians/s)。

zsensor.GYRO_Z

Z軸の角速度(radians/s)。

zsensor.GYRO_XYZ

ジャイロスコープの3軸すべてを表す擬似チャネル。 Sensor.attr_set()Sensor.attr_get_xxx() メソッドで使います。

zsensor.MAGN_X

X軸の角速度(radians/s)。

zsensor.MAGN_Y

Y軸の磁場(ガウス)。

zsensor.MAGN_Z

Z軸の磁場(ガウス)。

zsensor.DIE_TEMP

デバイスのダイ温度(摂氏)。

zsensor.PRESS

気圧(キロパスカル)。

zsensor.PROX

近接度。無次元。値が1の場合、物体が近いことを示します。

zsensor.HUMIDITY

湿度(パーセント)。

zsensor.LIGHT

可視スペクトル内の照度(ルクス)。

zsensor.ALTITUDE

高度(メートル)。

チャンネル属性

zsensor.ATTR_SAMPLING_FREQUENCY

センサーのサンプリング周波数、つまりセンサーが 1 秒間に測定を実行する回数。

zsensor.ATTR_LOWER_THRESH

トリガーの下限しきい値。

zsensor.ATTR_UPPER_THRESH

トリガーの上限しきい値。

zsensor.ATTR_SLOPE_TH

任意の動き(傾斜)トリガーのしきい値。

zsensor.ATTR_SLOPE_DUR

トリガーを起動するために傾斜値がしきい値外になる必要がある期間。

zsensor.ATTR_HYSTERESIS
zsensor.ATTR_OVERSAMPLING

オーバーサンプリング係数。

zsensor.ATTR_FULL_SCALE

SI 単位でのセンサー範囲。

zsensor.ATTR_OFFSET

返されるセンサー値は、オフセットで示された量だけ変更されます: final_value = sensor_value + offset

zsensor.ATTR_CALIB_TARGET

キャリブレーションターゲット。これは、内部チップのアルゴリズムが特定の軸、またはすべての軸でキャリブレーションを行うために使います。

zsensor.ATTR_CONFIGURATION

センサーの動作モードを構成します。

zsensor.ATTR_CALIBRATION

センサーに必要なキャリブレーション値を設定します。

zsensor.ATTR_FEATURE_MASK

センサー機能を有効/無効にします。

zsensor.ATTR_ALERT

アラートしきい値またはアラートの有効化/無効化。

zsensor.ATTR_FF_DUR

自由落下の持続時間をミリ秒単位で表します。実行中にサンプリング周波数が変更された場合は、この属性を設定して、自由落下の持続時間を新しいサンプリング周波数に合わせて調整する必要があります。

zsensor.ATTR_BATCH_DURATION

ハードウェアバッチ期間(ティック単位)。

zsensor.ATTR_GAIN
zsensor.ATTR_RESOLUTION