GrovePiのインストールとNodeJSでLED点滅させるメモ
GrovePiのインストールとNodeJSでLED点滅させるメモです。
RaspberryPi+Arduino UNO+GROVE - ベースシールド+Groveパーツでもいいのですが、なにぶん3機器になってしまいかさばる印象があるため、もう少し、コンパクトにならないかということでRaspberryPiとGroveがほぼ合体できるGrovePiを試してみます。
GrovePiの初期設定
こちらを購入しました。
インストール方法はGet Started with GrovePiにありますが、更にリンク先にあるインストール詳細。
Setting Up The Software - Dexter Industries
こちらのほうがより具体的です。まず一式ダウンロード。
cd /home/pi/Desktop
sudo git clone https://github.com/DexterInd/GrovePi.git
フォルダ移動し、インストールスクリプトの権限を実行できるように設定。
cd /home/pi/Desktop/GrovePi/Script
sudo chmod +x install.sh
インストールスクリプトを実行。
sudo ./install.sh
インストールが終わったらまずフォルダ移動。
cd /home/pi/Desktop/GrovePi/Software/Python
D4にGroveのLEDを挿して以下を実行します。
sudo python grove_led_blink.py
とコンソールが出て、このように点灯します。
まず、Pythonだと楽々。
NodeJSライブラリのインストール
続いて、NodeJSでも操作したいのでnode-grovepiライブラリをインストールします。
動かしたいフォルダで以下を発動。
npm install node-grovepi
これで準備完了です。
LEDを点灯してみる
npmの説明は大変あっさりしているので、GitHubにサンプルを見に行きます。
NodeJSはこのあたりです。
ふむ、LED点灯したいだけなんだけど、ちょっと追いにくいぞ?と思ったけど、いろいろ文献を追ってなんとかLED点灯できました。
// 主要クラスの読み込み
var GrovePi = require('node-grovepi').GrovePi;
var Commands = GrovePi.commands;
var Board = GrovePi.board;
var Digital = GrovePi.sensors.base.Digital; // LED点灯用のDigital入出力クラス
console.log("-- start");
// 点灯用フラグ
var blinkFlag = false;
// ボードの読み込み部分
var board = new Board({
debug: true,
onError: function(err) {
console.log('Something wrong just happened')
console.log(err)
},
onInit: function(res) {
if (res) {
console.log('GrovePi Version :: ' + board.version());
var D4 = new Digital(4); // LEDの接続されたD4ポートの読み込み
// 点滅コード
setInterval(function () {
if(blinkFlag){
D4.write(0);
blinkFlag = false;
} else {
D4.write(1);
blinkFlag = true;
}
}, 1000);
}
}
});
// ボード読み込み開始(これが実質のスタート)
board.init();
こちらを実行すると
node index.js
以下のように1秒ごとに点滅します。
LEDをリレーに切り替えても無事動きます。
リレーの反動で微妙に踊っています笑
ということで、これを、
- AWS IoTを使ってみたもの若干ハマったのでメモ – 1ft-seabass.jp.MEMO
- Wio Node経由でlittleBitsとIFTTT Do Button(Maker Channel)をつなげるメモ – 1ft-seabass.jp.MEMO
のノウハウを使って、GrovePiでややコンパクトになったシステムで、他デバイスと連携したり、AWS IoTを利用してデバイスを遠隔制御できそうです。
それでは、よき、RaspberryPi & Grove & NodeJS Lifeを!


