RaspberryPi3にGrovePi+とセンサーを接続し、センサー情報を取得
GrovePi+とは、Groveシステムの各種センサーを簡単に使うための、RaspberryPi用シールド。
Groveシステムのセンサーは100種類以上あり、パーツ屋や、amazon、公式から購入できる。
環境構築は、公式のクイックスタートを参考に行った。
ソフトウェアのセットアップ
今回は、既にNOOBSからRasbianをインストール済みのSDカードを利用しているため、下記のセットアップ作業を行う※1。
1. RaspberryPi3の電源を入れ、ターミナルを立ち上げる
2. Desktopディレクトリへ移動し、githubリポジトリをcloneする
$ cd /home/pi/Desktop $ sudo git clone https://github.com/DexterInd/GrovePi
Desktopディレクトリ配下に、GrovePiディレクトリができる。
$ cd /home/pi/Desktop/GrovePi/Script
$ sudo chmod +x install.sh
5. スクリプトを実行する
必ず、sudoで実行すること!
$ sudo ./install.sh
途中、アーカイブのダウンロードをしてよいか確認されるので、その際は「y」を押して許可する。
インストールが完了すると、勝手に再起動する。
6. 再起動後、一旦シャットダウンする
$ sudo shutdown -h now
7. GrovePi+本体をRaspberryPi3にマウントし、RaspberryPi3を起動する
8. ターミナルを開き、スクリプトが正常に実行されたか確認する
$ sudo i2cdetect -y 1
「00:」行、「4」列に、「04」の数字が表示されていれば、インストールは正常に完了している。
9. テスト Grove ledをD4ポートにつなぎ、サンプルを実行
$ cd /home/pi/Desktop/GrovePi/Software/Python $ sudo python grove_led_blink.py
LEDが点滅すれば成功
以上でセットアップは完了。
※1. ここからソフトウェアセットアップ済みのRasbianが入ったMicroSDカードを購入したり、ここからイメージファイルをダウンロードし、手持ちの空MicroSDカードにインストールする場合は、セットアップ作業は不要。
センサー情報の取得
pythonでコードを書いてセンサー情報を取得する事ができる。
セットアップ後、「/home/pi/Desktop/GrovePi/Software/Python/」ディレクトリにライブラリが配置されるので、これを利用する。
今回は、センサーとして、温湿度センサーを使用。
センサーの使い方は、製造元のwikiを見ると大体書いてあるので参考にするとよい。
#!/usr/bin/env python import sys sys.path.append('/home/pi/Desktop/GrovePi/Software/Python/') import time import datetime from grovepi import * import serial # 温湿度センサーはD3ポートに差した ptemperature = 3 # D3ポートをINPUTモードにする pinMode(ptemperature,"INPUT") # ライブラリを使えば、簡単に温湿度情報を取得できる [temperature, humidity] = dht(ptemperature, 1) print(temperature, humidity)
上のpythonファイルを実行すると、以下のような結果を得られる。
(28.1, 43.5)
他のセンサーも同じ要領で使用できる。
今回はデジタルポートを使うセンサーを使用したが、他のポートを使用するものもある。
ちなみにGrovePi+のポートには、デジタルポート、アナログポート、I2Cポート、RaspberryPiシリアル、GrovePiシリアルがある。
ポート情報は、ここに詳しく書いてある。