0%

Raspberry PiをWiringPiとJohnny-FiveのRaspi-ioを使ってLチカする

Johnny-FiveにはArdiono以外でもFirmata互換のインタフェースを使えるようにするIO Pluginsがあります。Raspberry Pi用のRaspi-ioを使ってLチカをしてみます。GPIOピンアサインが正しいことをWiringPiを使って確認します。

ブレッドボード配線

Raspberry PiにLEDを配線します。アノードはGPIO17(P1-11)と接続します。抵抗器は1.0K ohmを使いました。

raspi-led2.png

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 を点灯します。

$ gpio -g write 17 1

GPIO17 を消灯します。

$ gpio -g write 17 1

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
>>