どうも、CHASUKEです。
先日購入した「ラズパイZERO WH」に1枚で様々なセンサー情報が取得できる『Enviro pHAT』を取り付けてみました。
https://chasuke.com/pizerostarterkit/
こちらのボードからセンサー情報を取得するのは、Pythonライブラリが無料公開されているので、とても簡単です。最大の難点は、「はんだ付け」する必要があることくらいです..
ということで、今回はラズパイに『Enviro pHAT』を装備して、センサー情報を取得してみた話です。「ラズパイ使ってセンサー情報取って面白いことしてみたいなぁー」って企んでる方にオススメです^^
『Enviro pHAT』搭載のセンサー
pHATとは、ラズパイのピンヘッダーに接続できるモジュールのことです。
このモジュール上をみると、「BARO/TEMP」「LIGHT/COLOR」「MOTION」など沢山のセンサーが備わっているのがわかります^^
▼搭載されているセンサーの一覧がこちら。
搭載モジュール | 取得可能なセンサー情報 |
BMP280 | 温度、気圧 |
TCS3472 | 光、色 |
LSM303D | 加速度、磁気 |
ADS1015 | 4チャンネルA/Dコンバータ |
その他 | LED × 2 |
これだけ情報が取得できるとなるとワクワクしますな^^
『Enviro pHAT』をラズパイZeroに装備
スイッチサイエンスにて購入。秋月電子通商でも販売されています。
こちらの製品は、イギリスのPimoroni社(※ピモロニと読みます)が開発・販売するものなので、パッケージは英語仕様です。
が、パッケージの中央右あたりに「海賊ロボ忍者さる」とう文字が見える!!
『海賊ロボ忍者さる』とは
Pimoroni製品のパッケージやモジュール裏などにマークされている「海賊ロボ忍者さる」という日本語ですが、調べてみると、Pimoroni社の由来になっているみたい♪
Pi → Pirate → 海賊
Mo → Monkey → さる
Ro → Robot → ロボ
Ni → Ninja → 忍者
内容物
袋の中身です。
カッコいいモジュールですね。
ピンソケットが同梱されています。ちなみに1番右のピンは今回使用していません。
ピンソケットを取り付ける
▼しっかりテープで固定しましょう。
ラズパイZeroのケースがちょうど良い高さで固定できました。
▼久々のはんだ付けで緊張したw
なんとか完了!!
溶かした時に出る煙めっちゃ吸い込んじゃって喉を痛めました。有害なので、扇風機や換気扇で避けるようにしましょう^^
ラズパイZeroに取り付けてみた
「ラズパイZero WH」であれば最初からGPIOピンヘッダーが用意されていますので、そこに接続するだけでOKです。
▼こんな感じになった。
電源ON状態で、接続したら電源が落ちてしまったので、ちゃんと電源OFFにしてから差し込みましょう!!
Pythonスクリプトでセンサー情報GET
ラズパイには最初からPythonがインストールされているので、公開ライブラリを利用することでとっても簡単にセンサー情報が取得できます。
MacのターミナルからSSHでラズパイZeroに接続して試してみました。
$ ssh pi@192.168.24.28
pi@192.168.24.28's password:
ラズパイで利用できる「pimoroni-dashboard」をインストールして「Enviro pHAT」用のPythonライブラリを落としてこれます♪
こちらのコマンドで「Pimoroni-Dashboard」をインストールします。
pi@raspberrypi:~ $ sudo apt-get install pimoroni
プロンプトが返ってきたら、インストール完了です。
▼ちなみに、ラズパイZeroだと下記のようなメッセージが表示されますが、問題なくインストールできました。。
Support for your operating system is experimental. Please visit
forums.pimoroni.com if you experience issues with this product.
▼メニューに「Pimoroni Dashboard」が表示されるようになりました。
続いて、さきほどの「pimoroni-dashboard」を起動。
pi@raspberrypi:~ $ pimoroni-dashboard
※途中でいくつかダイアログが表示されますが、「了解」を選択。
▼こんな画面が立ち上がってくるので、「2 My Pimoroni product is a pHAT」を選択。
▼製品リストから「Enviro pHAT」を選択します。
これでライブラリやら、サンプルスクリプトのインストールが完了です♪
▼サンプルスクリプトは「/home/pi/Pimoroni/」配下にあります。
pi@raspberrypi:~ $ ls /home/pi/Pimoroni/envirophat/examples
advanced all.py motion_detect.py temperature.py
▼この中の「all.py」を実行してみると、「Enviro pHAT」に搭載されている全てのセンサー情報を1秒ごとにリアルタイム表示します。
pi@raspberrypi:~/Pimoroni/envirophat/examples $ python3 all.py
--- Enviro pHAT Monitoring ---
Temp: 28.78c
Pressure: 1020.14hPa
Altitude: -57.23m
Light: 1420
RGB: 82, 95, 90
Heading: 217.88
Magnetometer: -2809 -2208 282
Accelerometer: 0.02g 0.08g 1.07g
Analog: 0: 0.525, 1: 0.543, 2: 0.54, 3: 0.543
ぬぉぉぉ、めっちゃ取れたw
やはり温度は増し増しなので、オフセットが必要ですね。明るさセンサーは照明のON/OFF、光センサーはLEDライトの色判断に使えそうですな。
それぞれのセンサー情報を取得方法は、実行したスクリプトの中身をみれば、すぐにわかります。これだけの情報があれば、アイデア次第で色々と遊べそうだ♪
▼LEDが2つ付いているので、こちらもライブラリを使って「Lチカ」が可能です。
pi@raspberrypi:~ $ python3
Python 3.5.3 (default, Jan 19 2017, 14:11:04)
[GCC 6.3.0 20170124] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from envirophat import leds
>>> leds.on()
True
>>> leds.off()
>>>
>>> exit()
pi@raspberrypi:~ $
▼PythonのWebフレームワークFlaskを使って簡単にセンサー情報を返すAPIとかも作れます。
最後に
ラズパイのGPIOヘッダに接続できるモジュール「Enviro pHAT」を試してみました。これだけ多くのセンサーが1枚に集約されてるので、お得感がスゴイですね。
ちなみに、PimoroniのpHATは、センサーモジュールだけでなく、LEDでテキストスクロールできる「Scroll pHAT HD」など色々とあります。こちらも近いうちに使ってみます^^
ラズパイでセンサーIoTを試してみたい方は、この1枚はオススメです!!
それではまた。