[ARM][SBC][電子工作はなし] USBタイプの温湿度気圧計を購入してみた。

2017-12-24 14:15:09ARM, PC、Gadget, zabbixBME280, github, script, zabbix, 気圧, 温度, 湿度, 設定

25372712958_12d5844418_m.jpg

メリー・クリスマス!

IoTしてますか?
Raspberry PiとかARM板とかは購入していますが、GPIOピンなどは全く活用していない筆者です。

以前はOrange PiにStrawberry LinuxのUSB温度・湿度計モジュールを活用していたのですが、最近のLinuxではソースがコンパイルできなくなっていたこと、また、ソースを配布されていたWebサイトが閉鎖してしまったため、ちょっと困っていました。
代用品を探していたのですが、ちょっとebayで気になっていたのを見つけたので購入してみました。

ちなみに以前のもの。

USB温度・湿度計モジュール・キット – USBRH – ネット販売

で、今回購入したものは以下のものです。

本当かどうか分かりませんが、結構細かくデータを計測できるようです。

Operating Temperature (CPU):-20°C ~ +70°C
Connection to PC: USB (CDC Virtual COM port)
Power: USB Powered
Pressure Accuracy:
(0-65°C, 300 to 1100 hPa) 
+/-1 hPa (+/-100 Pa)
Pressure Range: 300 – 1100 hPa (30000 – 110000 Pa)
Temperture Accuracy:+/-1°C
Humidity Accuracy:+/-3 %RH

対応OSはWindows、MacOS X、Linuxに対応しており、それぞれプログラムおよびソースファイルが配布されています。
私が使用したのはGithubに公開されているLinux向けのソースファイルになります。

ちなみに使用してみるとこんな感じで取得できると思います。
今回試してみた環境は以下の通りです。

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.3 LTS"
kometch@ntp01:$ ./get_pa_linux -d /dev/ttyACM0 -a
22.3
43.3
102331.7
SENSOR
kometch@ntp01:$ ./get_pa_linux -d /dev/ttyACM0
102327.0
kometch@ntp01:$ ./get_pa_linux -d /dev/ttyACM0 -t
22.1
kometch@ntp01:$ ./get_pa_linux -d /dev/ttyACM0 -h
44.1
kometch@ntp01:$ ./get_pa_linux -d /dev/ttyACM0 -p
102339.7
kometch@ntp01:$ ./get_pa_linux -d /dev/ttyACM0 -a -j
{ "temperature": 21.9, "humidity": 44.3, "pressure": 102334.9, "name": "SENSOR" }

一部Helpと違う応答を返すので、後ほどソースを確認してみようと思います。

POINT

ちなみに、Zabbix-agentから、このプログラムを呼び出すときは、そのままだとNaNを返すだけなので、「SUID」を設定するようにしましょう。

また、気圧についてはこのままでは“Pa"の単位で出力されてしまうので、ソースを一部修正して“hPa"で出力するようにしました。

こちらが修正したソースファイルになります。

あと、このままではhPaの単位で取得しても、自動的にkでまとめられてしまうので、以下のファイルも修正します。

テンプレートやアイテム設定などを適切に設定すると、以下のように正常に値が取得できるようになると思います。

Screenshot-2017-12-24 zabbix

ちなみにですが、BME280というSensor自体は結構安く売っており、秋月電子などでも購入することが出来ます。また、ブレッドボードも合わせて購入してくれば、1,000円ぐらいで同じような構成が出来るはずです。安く済ませたい場合はそちらを検討することをおすすめします。使用できるソースプログラムなどについては、Webを検索することでたくさん見つけることが出来ると思います。

2019/07/09:追記

POINT

Zabbixへの投入が前提なら、ソースファイル側で気圧をhPaにするようにしなくても、Zabbixでの「保存前処理」で乗算を行っても良いかもしれません。

POINT

また、Zabbixの単位計算についても、4.0.0から予め除外できるようになっているので、こちらもphpファイルへの編集は不要になりました。

Intel SSD 760p M.2 PCIEx4 256GBモデル SSDPEKKW256G8XT
インテル (2018-01-25)
売り上げランキング: 1,925
この記事を書いた人

kometchtech

うつ病を患いながら、IT業界の末席にいるおっさんエンジニア。科学計算をしたことがないのに、HPC分野にお邪魔している。

興味のある分野で学習したことをblogにまとめつつ、うつ病の経過症状のメモも置いておく日々。

じつはRouterboard User Group JPの中の人でもある。

Amazon欲しいものリスト / Arm板を恵んでくれる人募集中

2017-12-24 14:15:09ARM, PC、Gadget, zabbixBME280, github, script, zabbix, 気圧, 温度, 湿度, 設定