[ARM][SBC][電子工作はなし] USBタイプの温湿度気圧計を購入してみた。
- 最終更新日時:2017/12/24 18:48:11
Embed

メリー・クリスマス!
IoTしてますか?
Raspberry PiとかARM板とかは購入していますが、GPIOピンなどは全く活用していない筆者です。
以前はOrange PiにStrawberry LinuxのUSB温度・湿度計モジュールを活用していたのですが、最近のLinuxではソースがコンパイルできなくなっていたこと、また、ソースを配布されていたWebサイトが閉鎖してしまったため、ちょっと困っていました。
代用品を探していたのですが、ちょっとebayで気になっていたのを見つけたので購入してみました。
ちなみに以前のもの。
USB温度・湿度計モジュール・キット - USBRH - ネット販売
[温度計][Linux] Strawberry Linuxから販売されているUSB接続温湿度計を使用してみた。
で、今回購入したものは以下のものです。
DogRatIan's Products - USB-PA TypeA (BME280)
本当かどうか分かりませんが、結構細かくデータを計測できるようです。
対応OSはWindows、MacOS X、Linuxに対応しており、それぞれプログラムおよびソースファイルが配布されています。
私が使用したのはGithubに公開されているLinux向けのソースファイルになります。
DogRatIan/USB-Sensor-OpenSource: Example programs for my USB sensors. /
https://github.com/DogRatIan/USB-Sensor-OpenSource
ちなみに使用してみるとこんな感じで取得できると思います。
今回試してみた環境は以下の通りです。
一部Helpと違う応答を返すので、後ほどソースを確認してみようと思います。
ちなみに、Zabbix-agentから、このプログラムを呼び出すときは、そのままだとNaNを返すだけなので、「SUID」を設定するようにしましょう。
chmod :SUID、GUID、スティッキービットまとめ - Qiita
また、気圧についてはこのままでは"Pa"の単位で出力されてしまうので、ソースを一部修正して"hPa"で出力するようにしました。
こちらが修正したソースファイルになります。
kometchtech/USB-Sensor-OpenSource: Example programs for my USB sensors.
あと、このままではhPaの単位で取得しても、自動的にkでまとめられてしまうので、以下のファイルも修正します。
アイテムの単位計算 | 日本Zabbixユーザー会
テンプレートやアイテム設定などを適切に設定すると、以下のように正常に値が取得できるようになると思います。

ちなみにですが、BME280というSensor自体は結構安く売っており、秋月電子などでも購入することが出来ます。また、ブレッドボードも合わせて購入してくれば、1,000円ぐらいで同じような構成が出来るはずです。安く済ませたい場合はそちらを検討することをおすすめします。使用できるソースプログラムなどについては、Webを検索することでたくさん見つけることが出来ると思います。
USB温度・湿度計モジュール・キット - USBRH - ネット販売
[温度計][Linux] Strawberry Linuxから販売されているUSB接続温湿度計を使用してみた。
で、今回購入したものは以下のものです。
DogRatIan's Products - USB-PA TypeA (BME280)
|
本当かどうか分かりませんが、結構細かくデータを計測できるようです。
対応OSはWindows、MacOS X、Linuxに対応しており、それぞれプログラムおよびソースファイルが配布されています。
私が使用したのはGithubに公開されているLinux向けのソースファイルになります。
DogRatIan/USB-Sensor-OpenSource: Example programs for my USB sensors. /
https://github.com/DogRatIan/USB-Sensor-OpenSource
ちなみに使用してみるとこんな感じで取得できると思います。
今回試してみた環境は以下の通りです。
$ 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と違う応答を返すので、後ほどソースを確認してみようと思います。
ちなみに、Zabbix-agentから、このプログラムを呼び出すときは、そのままだとNaNを返すだけなので、「SUID」を設定するようにしましょう。
chmod :SUID、GUID、スティッキービットまとめ - Qiita
また、気圧についてはこのままでは"Pa"の単位で出力されてしまうので、ソースを一部修正して"hPa"で出力するようにしました。
こちらが修正したソースファイルになります。
kometchtech/USB-Sensor-OpenSource: Example programs for my USB sensors.
あと、このままではhPaの単位で取得しても、自動的にkでまとめられてしまうので、以下のファイルも修正します。
アイテムの単位計算 | 日本Zabbixユーザー会
テンプレートやアイテム設定などを適切に設定すると、以下のように正常に値が取得できるようになると思います。

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