sensor module

class sensor.MCP3204(spi, vref=5.0)

Bases: object

MPC3204 ADC(アナログデジタルコンバータ)を使用するためのクラス

Parameters:
  • spi -- SPIインターフェースオブジェクト

  • vref -- 参照電圧(今回の場合は5.0V)

class sensor.Sensor

Bases: object

センサからの情報取得を行う

_is_valid(data, sensor: str)

センサデータの値の取得状態を判定するメソッド

Parameters:
  • data (int|float) -- センサデータ

  • sensor (str) -- センサ名

Notes

センサデータに応じてエラーを出力

SUCCESS = 0 : 正常

EMPTY_STRING_ERROR = 1 : 空文字エラー

NAN_ERROR = 2 : nanエラー

INF_ERROR = 3 : infエラー

MIN_VALUE_ERROR = 4 : 最小値エラー

MAX_VALUE_ERROR = 5 : 最大値エラー

get(sensor: str)

各種センサデータを取得するためのメソッド

Parameters:

sensor (str) -- センサ名

Returns:
  • result (int) -- センサ名

  • data (float) -- センサデータ

data = read_sensor.get

センサデータを取得

Type:

sensor

result = self._is_valid

センサデータ状態を取得

Type:

data, sensor

Notes

センサごとに指定回数だけデータ取得を試みる(デフォルトではすべてのセンサで3回試行)

センサデータが正常に取得できていた場合previous_sensor_dataを書き換えてdata,resultを返却

センサデータを正常に取得できなかった場合は前回値を返却

upload_csv(upload_sensor_list=[])

センサから値を取得しデータセットを作成.その後送信

Parameters:

upload_sensor_list -- アップロードしたいセンサのリスト. パラメータ指定しない場合,センサすべてが指定される

upload_sensor_list

取得可能なセンサすべてのリスト

Notes

カラムに設定された要素についてセンサデータを取得してdfに保存. このとき,インデックスとして時刻データを設定

データが正常であればinfluxDBでデータセットを送信.データが正常でない場合,csvファイルに保存

class sensor.SensorResult(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

数字を定数として扱うためにconstantsを作成

Notes

SUCCESS = 0 : 正常

EMPTY_STRING_ERROR = 1 : 空文字エラー

NAN_ERROR = 2 : nanエラー

INF_ERROR = 3 : infエラー

MIN_VALUE_ERROR = 4 : 最小値エラー

MAX_VALUE_ERROR = 5 : 最大値エラー

EMPTY_STRING_ERROR = 1
INF_ERROR = 3
MAX_VALUE_ERROR = 5
MIN_VALUE_ERROR = 4
NAN_ERROR = 2
SUCCESS = 0