GrovePi
Raspberry Pi で Grove センサーを使う際に便利に使える拡張ボードです。 Dexter Industries 社が販売しています
Raspberry Pi の GPIO ピンに被せるようにして使います
Raspberry Pi 2 や 3 には GrovePi+ を、Raspberry Pi Zero (W も含む) には GrovePi Zero という組み合わせになります
これを使う利点
- Grove センサーが利用可能
- Grove コネクタという規格があり、その規格に沿っているセンサーであれば、取り付けに半田付けが不要となる仕組み。ピンを間違うことが無いためセンサーやボードを壊す恐れが無くなります
- 出回っているセンサーの種類は 180 を超えるらしい
- Raspberry Pi 単体では読み取り事の出来ない「アナログ電圧信号」を読み取り可能
- A/Dコンバータが GrovePi 上に実装されています
購入
Amazon.co.jp でも買えますが、ちょっと高くありませんか。。。?
そこで Amazon.com で買ってみましょう。商品 26.99 USD + 送料 約 15 USD = 4663円 (110.56円/USD) と1週間で届きました
使い方
ハードウェア面
Raspberry Pi Zero W に GrovePi Zero を取り付けて、 D3 ポートに Grove ブザーを接続した様子
※ GPIO ピンにはシリアルコンソールを接続しています
ソフトウェア面
GitHub DexterInd/GrovePi に掲載されている通り実行すれば OK です
ただし git
が必要になりますがすっぴんの Raspbian には入っていませんので、それは手動で入れておきます
インストールには全体で 30 分ほどかかりますので時間のある時に行いましょう(ディスクI/Oが...つらい)
再起動すればモジュールが読み込まれ、使えるようになります
$ sudo apt install -y git
$ curl -kL dexterindustries.com/update_grovepi | sudo bash
$ sudo systemctl reboot
使ってみる
python で使うのが手軽です
import grovepi
をすると grovepi
インスタンスが使えるようになるので、あとは pinMode()
や digitalWrite()
を使う形です
$ python
Python 2.7.13 (default, Nov 24 2017, 17:33:09)
[GCC 6.3.0 20170516] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import grovepi
>>> grovepi.pinMode(3, "OUTPUT")
1
>>> grovepi.digitalWrite(3, 1)
1
>>> grovepi.digitalWrite(3, 0)
1
ブザーやリレー、LED が接続されていれば、これだけで制御できます
Raspberry Pi Zero W + USB セルラーモデムで SORACOM に接続する と組み合わせれば、簡単に IoT なプロダクトのプロトタイプができます
資料について
ポート番号はドキュメントに対応表があります
analog は digital として使うこともできます
この辺は analog のサンプル や digital のサンプル が参考になります
リファレンスを見ると digitalWrite()
や analogRead()
といった基本的なメソッドだけでなく、Grove センサーに対応したメソッドも準備されているため、より簡単にプログラミングできそうです
python の REPL 環境について
ちょっと話が外れますが python で Ruby の pry のような REPL (対話型評価環境) をやりたいのであれば ptpython が良いようです
Pythonメモ : 補完等ができるREPLのptpythonを使ってみる
$ sudo pip install ptpython
Raspberry Pi Zero だと、ちょっと動作が重たいかも
あとがき
1日に2本書いてしまった。まだ資料は 0 byte だ。
EoT