SORACOM スターターキットとRaspberry Pi 3とAzure Web AppでIoTデモを作ってみた

ねんがんのSORACOM Air法人契約

先日晴れてSORACOM Airの法人契約(請求書払い)が許されたので、今年の3月に受講したハンズオンセミナーで組んだものをアレンジしてみることにしました。

 

まずは、SORACOM スターターキット(3G USBドングル AK-020)をamazonで購入。

f:id:moruxa:20181221105638p:plain

3G USBドングルにSORACOM AirのSIMをセットします。

 

次に、Raspberry PiのOSイメージを公式サイトからRaspbian Stretch Liteをダウンロード。

www.raspberrypi.org

 

OSイメージをEtcherでマイクロSDカードに書き込みます。リックアストリーの声が脳内再生されます。

f:id:moruxa:20181221110254p:plain

書き込みが終わったら、マイクロSDカードのルートに拡張子なしの空ファイルsshを作るのを忘れずに。

 

Raspberry Pi 3に3G USBドングルとSense HATとマイクロSDカードをセットして起動させ、sshで接続し、raspi-configでSPIとI2CとSerialと1-WireあたりをOnにしました。(うろ覚え)

 

以下はおまじないのようなもの。

まずはNode.jsをV8にアップデートする。

pi@raspberrypi:~ $ sudo su –
root@raspberrypi:~ # apt-get remove --purge node* npm*
root@raspberrypi:~ # curl -sL https://deb.nodesource.com/setup_8.x | sudo bash -
root@raspberrypi:~# apt-get install nodejs -y
root@raspberrypi:~# node -v

IoT Edge アプリをインストールする。

$ git clone https://github.com/ms-iotkithol-jp/RPi3SenseHatSORACOM.git
$ cd RPi3SenseHatSORACOM/edge
$ npm install
$ node app.js

必要なNode.jsライブラリをインストールする。

pi@raspberrypi:~ $ sudo npm install mqtt --save pi@raspberrypi:~ $ git clone https://github.com/rupnikj/nodeimu --recursive && cd nodeimu
pi@raspberrypi:~/nodeimu $ sudo npm install node-gyp –g
pi@raspberrypi:~/nodeimu $ npm install
pi@raspberrypi:~/nodeimu $ cd ..
pi@raspberrypi:~ $ sudo npm install sense-hat-led

AK-020の設定を行う。

 

最後に、Azure Web Appインスタンスを立ち上げてゴニョゴニョすると、素敵なIoTデモの出来上がり!(追記:SORACOM BeamAzure IoT Hubの設定も必要です)

f:id:moruxa:20181221112238p:plain

 

このデモでは、Sense HATに乗っているセンサーの温度、湿度がWebで可視化できるほか、Azure IoT HubのCloud2Deviceを使ってSense HATのLEDマトリクスの色を変更することができます。(上り下りの通信ができることを見せたいという思い)

PS.今回Azure側には手を入れていないので説明を割愛させていただきましたが、今後色々と情報を仕入れた上で書きたいと思います。(今はまだ時期が悪い)