PythonからGroveを使用する「Grove.py」ライブラリ

Seeed K.K.の松岡です。
今回は、Seeed本社が今年から提供している、Grove.pyライブラリを紹介します。

f:id:matsujirushix:20191107135139p:plain

Grove.pyライブラリとは?

Groveのソフトウェアというと、wikiに載っているサンプルコードはArduino Unoのものがほとんどで、例えばRaspberry Piから使用しようとすると、Wiring Pipigpioといった低レベルI/Oライブラリを使って、チップのデータシートとにらめっこして自らコードを作らなければいけませんでした。賛同してくれる方は少ないかも?ですが低レベルなコードを書くのは楽しいことではありますが、手早く実験したいときには苦痛です。

そこで、組み込みLinuxを対象にした、Groveモジュールを利用するためのPythonライブラリ「Grove.py」を提供することにしました。

github.com

対象のマイコンボードは、Raspberry Pi、Raspberry Pi Zero、Coral Dev BoardNVIDIA Jetson Nanoで、Grove Base Hat for Raspberry PiもしくはGrove Base Hat for Raspberry Pi Zeroを使ってGroveモジュールとの接続を想定しています。

対象言語はPythonで、約50種類(2019/11/7時点)のGroveモジュールに対応しています。

Coral Dev BoardにGrove Base Hatを載せる場合は、コネクタ部分をケーブルで延長するなど、一工夫必要です。

使い方

それでは、Raspberry PiとGrove Base Hat for Raspberry Piを組み合わせた場合の、使い方を紹介します。
Raspbianは2019-09-26-raspbian-buster.imgを使いました。

インストール方法

$ sudo apt update
$ sudo apt upgrade

しておいて、Seeedが用意しているインストール用シェルファイルinstall.shを実行してください。

$ curl -sL https://github.com/Seeed-Studio/grove.py/raw/master/install.sh | sudo bash -s -

install.shが、いくつかのファイルをネットワークからダウンロードしてインストールします。それなりに時間がかかるので、気長に待ちます。

Lastest Grove.py from github install complete !!!!!と表示されれば成功です。

f:id:matsujirushix:20191107143239p:plain

サンプルコードを実行

次は、サンプルコードを実行してみましょう。

サンプルコードはGrove.pyに同封されています。(具体的には後ほど確認)
githubからGrove.pyをクローン(ダウンロード)してもいいのですが、すでにRaspberry PiにGrove.pyがインストールされているので、そこのサンプルコードを使うことにしましょう。

pip show grove.pyコマンドで、Grove.pyがインストールされたディレクトリを調べます。

f:id:matsujirushix:20191107144113p:plain

Locationに表示されたディレクトリ配下のgroveディレクトリが、Grove.pyです。

例として、grove_led.pyを見てみましょう。
中身はこのようになっていて、コメント、ライブラリ、サンプルコードの構成になっています。

f:id:matsujirushix:20191107145359p:plain

サンプルコード部分は、1秒オン、1秒オフを繰り返すものになっています。
Grove - LEDをD5コネクタに接続して、python grove_led.py 5を実行してください。

Grove - LEDが手元に無かったので、代わりにGrove - Buzzerを使いました。

f:id:matsujirushix:20191107153335p:plain

f:id:matsujirushix:20191107153426p:plain

変更履歴

日付 変更者 変更内容
2019/11/7 松岡 作成