連載
Raspberry PiにAllJoynを移植して、IoTを自作する(9/10 ページ)
「いろいろなデバイスがシームレスにつながり、簡単に操作できる」――IoTが目指すその姿を、Raspberry Piと機器相互接続フレームワーク「Alljoyn」で自作してみましょう。
4.7.1 LED点滅
ledslider.jsは、Raspberry Piに取り付けたLEDの点滅速度を変化させるクライアント(アプリケーション)です。ledslider.jsを実行すると、Nexusuに以下のようなコントロール画面が出るので、スライダーを移動させて点滅速度を変化させます。
コードはJs-rasp/ledslider.jsを見てください。LEDはRaspberry Piの29番ピンに接続しています。
以下、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.
関連記事
- 「Alljoyn」のいまをクアルコムブースで見る
ET2015のクアルコムブースにて大きく展示されていたのは、機器相互接続フレームワーク「Alljoyn」のデモだ。機器連携シナリオ“ストーリー”の様子も紹介されている。 - 激化する“IoTの陣取り合戦”欠けているのは「共通言語」
IoTの未来像として、「いろいろなデバイスがシームレスにつながり、簡単に操作できる」様子が挙げられるが、AllSeen Allianceのディレクターはそのために必要なのは「共通言語だ」という。 - Allseen Allianceの中核技術「Alljoyn」とは何か
Linux Foundationが設立した非営利団体「Allseen Alliance」のキモとなるのが「Alljoyn」だ。IoTについて“現状の使いにくさ”の打破を目指す、この団体の中核技術を解説する。 - IoT団体によるUPnP(Universal Plug and Play)吸収を読み解く
インテルやサムスンらが主導するIoT標準化団体「OIC」が、UPnP(Universal Plug and Play)Forumを吸収した。UPnPの推進する“挿すだけで使える”をIoTに持ち込むことは理にかなっているように思えるが、AppleのHomeKitや、GoogleのProject Brilloに対する競争力はあるだろうか。