はじめに
今回は OMRON が発売した環境センサを Python で動かしてみます。
このセンサは
- 温度
- 湿度
- 照度
- 気圧
- 騒音
- 3軸加速度
- eTVOC
- 不快指数
を測定することができます。
商品ページはこちらにあります。
前提条件
前提条件は、以下の通りです。
- Pyserial がインストールされている
ドライバーのインストール
こちらのページの ソフトウェアダウンロード から USBドライバをダウンロードしてください。
インストールマニュアルも、同じページにあります。
インストールに成功したら、COMポートを確認しておいてください。今回はCOM3を使用します。
環境データ取得プログラム
まずは git からプログラムを取得します。
git clone https://github.com/nobrin/omron-2jcie-bu01.git
cd omron-2jcie-bu01
omron-2jcie-bu01 フォルダに、get_Env.py を作成します。
from omron_2jcie_bu01 import Omron2JCIE_BU01
sensor = Omron2JCIE_BU01.serial("COM3")
devinfo = sensor.info()
data = sensor.latest_data_long()
print(data)
get_Env.py を実行すると、以下の出力が得られます。
latest_data_long(seq=7,
temperature=Decimal('16.5'),
humidity=Decimal('39.38'),
light=343,
pressure=Decimal('1026.659'),
noise=Decimal('68.41'),
eTVOC=0,
eCO2=400,
thi=Decimal('60.46'),
wbgt=Decimal('13.18'),
vibration=0,
si=Decimal('0'),
pga=Decimal('0'),
seismic_intensity=Decimal('0'),
f_temperature=0, f_humidity=0, f_light=0, f_pressure=0, f_noise=0, f_eTVOC=0, f_eCO2=0, f_thi=0, f_wbgt=0, f_si=0, f_pga=0, f_seismic_intensity=0)
各データの内容はこちらのページに記載がありますが、覚書として以下に記載しておきます。
- seq … シーケンス番号
- temperature … 温度 (℃)
- humidity … 湿度 (%)
- light … 照度 (lx)
- pressure … 気圧 (hPa)
- noise … 騒音 (dB)
- eTVOC … 総揮発性有機化合物濃度 (ppb)
- eCO2 … 二酸化炭素濃度 (ppm)
- thi … 不快指数 (70以上で不快)
- wbgt … 暑さ指数 (31以上で危険)
- vibration … 地震情報 (地震回数、振動回数)
- si … SI値 (構造物に対する地震動の破壊エネルギーの大きさに相当)
- pga … 揺れの強さ (gal)
- seismic_intensity … 震度
必要な環境データのみを取得
取得するコードは以下の通りです。
from omron_2jcie_bu01 import Omron2JCIE_BU01
sensor = Omron2JCIE_BU01.serial("COM3")
devinfo = sensor.info()
data = sensor.latest_data_long()
print(data.temperature)
上記を実行すると、以下の出力が得られます。
16.31
data.(欲しいデータ) で取得することができます。
おわりに
以上で環境センサの取得方法の説明は終わりです。
シリアル通信を使用して環境センサとのやり取りをしていますので、延長ケーブルを使用する際は、データ転送可能な USB 延長ケーブルを使用してください。
次回は PLC との通信方法について説明します。
コメント