ブログ
 

Nodejs & raspberry pi でLEDをチカチカさせる

2016年1月


このエントリーをはてなブックマークに追加

 
 

こんにちは、開発担当のトゥアンです。
今回はraspberry piのGPIOとブレッドボードを接続し、LEDをチカチカさせる簡単なプログラムを紹介します。

とりあえず準備するモノ
– raspberry pi
– 抵抗器:470Ω
– LED
– ブレッドボード
– ジャンパー線 オス-メス

GPIOとは?
ラズベリーパイにはGPIO(General Purpose Input/Outut)、つまり入出力端子が備わっています。このGPIOを使って、ラズベリーパイから外部へ信号を出力したり、受信したりすることができます。

回路図設計
 
Screen Shot 2016-01-25 at 23.50.11
 

GPIOのポート6(GND)とポート18を使って、ポート18の状態を制御します。
ポート18は1になったらLEDが点灯し、0になったらLEDを 消灯する。
 
Screen Shot 2016-01-25 at 23.51.13
 

LEDを制御しよう
1.Nodejsをインストールします。

Nodejsのインストーラーをダウンロードする
 
$ wget https://s3-eu-west-1.
amazonaws.com/conoroneill.net/
wp-content/uploads/2015/02/
node-v0.12.0-linux-arm-pi.tar.gz

 
ダウンロードしたファイルを解凍させる。
 
$ tar -zxvf node-v0.12.0
-linux-arm-pi.tar.gz

 
解凍したフォルダの中身をすべて/usr/local/に移動させます。これでNode.jsが使用できる状態になります。
 
$ cd node-v0.12.0-linux-arm-pi
$ sudo cp -R * /usr/local/

 
Nodejsは使えるかどうか確認する。
 
$ node -v
v0.12.0

 
2.LED点滅するコード

ledというフォルダを作成
 
mkdir led
 
onoffのモジュールをインストール
 
npm install onoff --save
 
index.jsファイルを作成
 
touch index.js
 
index.jsに制御コードを書き出す。
 
var Gpio = require('onoff').Gpio,
led = new Gpio(18, 'out');
// 1秒点滅
var iv = setInterval(function(){
led.writeSync(led.readSync()
=== 0 ? 1 : 0)
}, 1000);

 
// 10秒後点滅LEDをストップさせる。
 
setTimeout(function() {
clearInterval(iv); // 点滅LEDをストップ
led.writeSync(0); // LEDをOFF
led.unexport(); // GPIOポートを解放
}, 10000);

 
書いたコードを実行する。
 
node index.js
 
実行するとLEDをチカチカさせる。
 
Jan 25, 2016 23:03
 
LEDを制御するのはIoTのhello worldプログラムですね。結構簡単ですけど、とりあえず、nodesjの書き方に慣れて、PiのGPIOポートの使い方を把握できれば、他のプログラムを続けて開発できると思います。
たとえば、遠隔でLED状態を確認し、コントロールするとか、スマホアプリを作って家の電気を管理するとかができますね。
また次もチャレンジします。
 
 

 

>東京グッドライフ劇場へようこそ!<

tokyo_gekijyo






クリエーター

クリエーション事業部