Johnny-Five にはArdiono以外でもFirmata互換のインタフェースを使えるようにするIO Plugins があります。Raspberry Pi用のRaspi-io を使ってLチカをしてみます。GPIOピンアサインが正しいことをWiringPi を使って確認します。
ブレッドボード配線 Raspberry PiにLEDを配線します。アノードはGPIO17(P1-11)と接続します。抵抗器は1.0K ohmを使いました。
WiringPi WiringPi をインストールします。WiringPiを使うとgpio
コマンドでRaspberry PiのGPIOを簡単に制御することができます。
WiringPiをビルドしてインストールします。
$ git clone git://git.drogon.net/wiringPi $ cd wiringPi $ ./build
バージョンを確認します。
$ gpio -v gpio version: 2.26 Copyright (c) 2012-2015 Gordon Henderson This is free software with ABSOLUTELY NO WARRANTY. For details type : gpio -warranty Raspberry Pi Details: Type: Model B, Revision: 2, Memory: 512MB, Maker: Egoman
使い方 GPIO17 を点灯します。
GPIO17 を消灯します。
Raspi-io プロジェクトを作成します。
$ mkdir -p ~/node_apps/raspi-io-led $ cd !$
package.jsonに必要なパッケージを記述します。
~/node_apps/raspi-io-led/package.json { "name" : "raspi-io-led" , "version" : "0.0.1" , "private" : true , "dependencies" : { "johnny-five" :"0.8.50" , "raspi-io" : "3.1.0" }, "scripts" : {"start" : "node app.js" } }
npm install
します。
$ npm install ... raspi-io@3.1.0 node_modules/raspi-io ├── raspi-board@2.1.1 ├── raspi-gpio@1.2.1 (raspi-peripheral@1.1.1, nan@1.6.2) ├── raspi-pwm@1.3.1 (raspi-peripheral@1.1.1, nan@1.6.2) ├── raspi@1.3.0 (nan@1.6.2, raspi-wiringpi@1.0.4) └── raspi-i2c@1.0.0 (ini-builder@1.0.3, raspi-peripheral@1.1.1, execSync@1.0.2, i2c-bus@0.11.1)
app.jsを書きます。P1-11(GPIO17)をLチカします。
~/node_apps/raspi-io-led/app.js var raspi = require ('raspi-io' );var five = require ('johnny-five' );var board = new five.Board({ io: new raspi() }); board.on('ready' , function ( ) { (new five.Led('P1-11' )).strobe(); });
LEDを操作する場合sudo
が必要です。プログラムを実行するとLチカが始まります。
$ sudo npm start > raspi-io-led@0.0.1 start /home/pi/node_apps/raspi-io-led > node app.js 1428244040441 Device(s) undefined 1428244040574 Connected RaspberryPi-IO 1428244040653 Repl Initialized >>