連載
» 2016年02月05日 09時00分 公開

Raspberry PiにAllJoynを移植して、IoTを自作する(9/10 ページ)

[橋本 尚(The Linux Foundation),MONOist]

4.7.1 LED点滅

  ledslider.jsは、Raspberry Piに取り付けたLEDの点滅速度を変化させるクライアント(アプリケーション)です。ledslider.jsを実行すると、Nexusuに以下のようなコントロール画面が出るので、スライダーを移動させて点滅速度を変化させます。

 コードはJs-rasp/ledslider.jsを見てください。LEDはRaspberry Piの29番ピンに接続しています。

ledslider.jsの実行 ledslider.jsの実行

 以下、ledslider.jsのコードについて簡単に解説します(/ /内は解説)。

var AJ = require('AllJoyn'); /Alljoynを使うときの決まり文句です/
var IO = require('IO'); /同上/
 
var cp = AJ.controlPanel();  /制御パネルを生成します/
 
var c1 = cp.containerWidget(cp.VERTICAL, cp.HORIZONTAL); /制御パネルの大きさと設定します/
var rate = c1.propertyWidget(cp.SLIDER, 500, "Flash rate:"); /表題等の属性を設定します/
rate.range = { min:0, max:1023, increment:50, units:"milliseconds" }; /変化の範囲を設定します/
 
// GPIO 5 assigned to pin 29
var led = IO.digitalOut(IO.pin[29]); /ラズパイの29番ピン(GPIO5蕃)にLEDを接続しています/
print(IO.pin[29].info.description, ",", IO.pin[29].functions)  ;
 
var blinky = setInterval(function(){led.toggle();}, rate.value); /LED(ピン29番)のOn/Offの制御/
 
rate.onValueChanged = function(val) { resetInterval(blinky, val); }
 
AJ.onAttach = function() { cp.load(); } /実行開始/

 stepmotor.jは、Raspberry PiのGPIO/PWMを使って、ステップモーターを制御するスクリプトです。

Copyright © ITmedia, Inc. All Rights Reserved.