さくらのiot platform β版ハンズオン
Post on 16-Apr-2017
1.951 Views
Preview:
TRANSCRIPT
さくらの IoT Platformβ版ハンズオン
2017/1/12
(C) Copyright 1996-2017 SAKURA Internet Inc
さくらインターネット株式会社 IoT Platform Team 西田有騎
本ワークショップの目的
3
1. 本ワークショップはさくらのIoT Platformを使用し、組込み系およびWeb/アプリ開発系のエンジニアがご自身のスキルセットを大きく超えることなく、Internet of Things(IoT)に挑戦できることを体験いただくものです。
2. そのため各章内で技術的な詳細は極力省略しております。
3. 今回は1人1つワークショップキットをご用意しておりますが、組込みやWeb/アプリ開発に詳しい方がいらっしゃいましたら、ご不明点を積極的にフォローしあって進めていただければと思います。
今回のハンズオンの流れ
4
さくらのIoTPlatform
マイコンおよびプログラムの構築
Webサービス連携(さくらのクラウド)
Webサービス連携(Arukas)
マイコン(Arduino Uno)
温湿度センサ(HDC1000)
さくらの通信モジュール
さくらのIoTPlatformの設定
仮想サーバ
コンテナ
Agenda
5
1. マイコンおよびプログラムの構築₋ マイコン(Arduino)による開発環境の準備
₋ 温湿度センサおよびさくらの通信モジュールの繋ぎ込み
₋ 試験用プログラムの流し込み
2. さくらのIoT Platformの設定₋ プロジェクトの作成
₋ さくらの通信モジュールの登録
₋ 連携サービスの設定
3. Webへのデータ連携(さくらのクラウド)₋ Node-REDサーバ用インスタンスの作成
₋ コンソールでの環境のセットアップ
₋ WebSocketを利用したデータ連携フロー作成
4. Webへのデータ連携(コンテナホスティングサービス Arukas)₋ Node-REDコンテナの立ち上げ
₋ WebSocketを利用したデータ連携フロー作成
今回のハンズオンの流れ
7
さくらのIoTPlatform
マイコンおよびプログラムの構築
Webサービス連携(さくらのクラウド)
Webサービス連携(Arukas)
マイコン(Arduino Uno)
温湿度センサ(HDC1000)
さくらの通信モジュール
さくらのIoTPlatformの設定
仮想サーバ
コンテナ
今回のワークショップでご提供するもの
8
Arduino Uno
Rev3
ジャンパーコード 人感センサ
(SB412A)
照度センサ
(GL5537-2)
温湿度センサ
(HDC1000)
各種抵抗
※必要に応じてご提供
さくらの通信モジュール
+Arduino用シールド
USB2.0
ケーブル(A-B)
棒アンテナ
x2本
本日は使用しません
ブレッドボード
Arduino IDEのセットアップ
9
https://www.arduino.cc/en/Main/Softwareから開発環境(Arduino IDE)を入手します。2017/1/12時点での最新版は【1.8.1】となります。Windowsは【Windows Installer】、Macは【Mac OS X 10.7 Lion or newer】を選択します。
Arduino IDEのセットアップ
12
Arduino IDEが起動したら、Arduino本体をPCに接続します。ボードは【Arduino/Genuino Uno】、シリアルポートは出てきたCOMポートを選択します。Macの場合はシリアルポート内の「~~~(Arduino/Genuino Uno)」となるものを選択します。
ボードの選択 シリアルポートの選択
さくらの通信モジュールの取り付け
15
まずUSBケーブルを本体から取り外した後、マイコン側のジャンパーコードを抜き去り、図に示すようにシールドとArduinoのピン穴と合致するようにはめ込みます。併せてアンテナケーブルと棒アンテナを接続します。
温湿度センサの繋ぎ込み
16
結線を行うため、再度ArduinoをPCから外します。その後図に従い、ジャンパーコードを接続します。ピンアサインはマイコンと同一ですが、シールドにはピンソケットの表記がないため、マイコン側の表記を参考にします。
+VSDASCL
GND
3.3V
GND
SDA
SCL
ライブラリの取得(HDC1000)
17
[スケッチ]→[ライブラリをインクルード]→ [ライブラリを管理...]をクリックし、右上検索窓から【hdc1000】を検索すると、[HDC1000 by Yuichi Tateno]がヒットします。インストールをクリックすると自動的に該当ライブラリが格納され、[INSTALLED]が表示されます。
温湿度センサの動作確認
18
[ファイル]→[スケッチの例]→[HDC1000]→[hdc1000]→【→】ボタンをクリックします。[ツール]→[シリアルモニタ]よりTemperature&Humidity情報が取得されることを確認します。何らかの問題があった場合、スケッチ下部にオレンジ色のエラーが表示されます。
ライブラリの取得(SakuraIO)
19
[スケッチ]→[ライブラリをインクルード]→ [ライブラリを管理...]をクリックし、右上検索窓から【sakuraio】を検索すると、[SakuraIO by SAKURA Internet Inc.]がヒットします。インストールをクリックすると自動的に該当ライブラリが格納され、[INSTALLED]が表示されます。
試験用プログラムの流し込み
20
[スケッチの例]→[SakuraIO]→[HDC1000] →【→】ボタンをクリックします。[ツール]→[シリアルモニタ]より「Waiting to come online」表記の後、カウント値、Temperature、Humidityに加え、Available(キューイング可能なチャンネル数)とQueued(キューで送信待ちになっているチャンネル数)が表示されることを確認します。
【参考】AlphaCompat.ino
21
さくらのIoT Platformαにて提供していたスケッチ(SakuraAlpha_I2C.ino)を置き換えたプログラムです。一定間隔でカウント値を0,1,2のチャンネルに書き込み、送信します。
【参考】FirmwareUpdate.ino
22
さくらの通信モジュールのファームウェアアップデートを実行します。現在のVersion情報を元にプラットフォームへ問い合わせ、新しいファームウェアが提供されている場合にアップデートを実行します。
新しいファームウェアが存在する場合 最新のファームウェアが適用されている場合
【参考】Shell.ino
27
構文
【sqi】通信モジュールの電波強度を確認する
出力結果
sqi
>sqi5
備考
電波強度は5を最大として強度に伴い数値が下がり、0は圏外であることを示します。
【参考】Shell.ino
29
構文
【update】ファームウェアのアップデートを実行する
出力結果
update
>updateCurrent Version: v1.0.0-161109-c566dbaUnlockStarting updateWaiting for update.
備考
【参考】Shell.ino
30
構文
【reset】通信モジュールのソフトウェアリセットを実行する
出力結果
reset
>reset>
備考
シリアルモニタに実行結果は表示されません。ソフトウェアリセットを実行すると通信モジュールが再起動を行います。モデムの起動、および通信確立までにおおよそ1分程度を要します。
【参考】Shell.ino
31
構文
【enqueue】送信キューにデータを格納する
出力結果
enqueue <ch> <type> <value>
>enqueue 0 i 123>
備考
シリアルモニタに実行結果は表示されません。enqueueコマンドを実行すると登録したデータは送信キューに貯められます。送信キューは最大で32個まで蓄積され、超過したキューは貯められず破棄されます。
【参考】Shell.ino
32
構文
【send】送信キューに貯められたデータを送信する
出力結果
send
>send>
備考
シリアルモニタに実行結果は表示されません。sendコマンドを実行すると、貯められたデータは16個分を1つのRMとして送信します。送信キューが17個以上存在する場合、2つ目のRMも送信され、キューから自動的に削除されます。
【参考】Shell.ino
33
構文
【size】送信/受信キューに貯められたデータ数を確認する
出力結果
size
>sizeTx Queue
Avail: 32Queued: 0
Rx QueueAvail: 32
Queued: 0
備考
Tx Queue は送信キュー、Rx Queueは受信キューを表します。Availは利用可能数、Queuedは貯められているキューの数を表します。
【参考】Shell.ino
34
構文
【cleartx】送信キューに貯められたデータをすべて消去する
出力結果
cleartx
>cleartx>
備考
シリアルモニタに実行結果は表示されません。送信キューに貯められたデータの一部だけを削除することはできません。
【参考】Shell.ino
35
構文
【clearrx】受信キューに貯められたデータをすべて消去する
出力結果
clearrx
>clearrx>
備考
シリアルモニタに実行結果は表示されません。受信キューに貯められたデータの一部だけを削除することはできません。
【参考】Shell.ino
36
構文
【dequeue】受信キューに貯められたデータをすべて受信する
出力結果
dequeue
>dequeueempty
備考
受信キューに貯められたデータの一部だけを受信することはできません。受信可能なデータが存在しない場合はemptyを返します。受信されたデータはキューから自動的に削除されます。
【参考】Shell.ino
37
構文
【peek】受信キューに貯められたデータを閲覧する
出力結果
peek
>peekempty
備考
受信キューに貯められたデータの一部だけを受信することはできません。受信可能なデータが存在しない場合はemptyを返します。閲覧したデータは削除されずキューに残されます。
今回のハンズオンの流れ
40
さくらのIoTPlatform
マイコンおよびプログラムの構築
Webサービス連携(さくらのクラウド)
Webサービス連携(Arukas)
マイコン(Arduino Uno)
温湿度センサ(HDC1000)
さくらの通信モジュール
さくらのIoTPlatformの設定
仮想サーバ
コンテナ
コントロールパネルへのログイン
41
Googleにて「さくらインターネット iot開発者」を検索し、開発者向けページからコントロールパネル(https://secure.sakura.ad.jp/iot-alpha/)にログインします。下記ボタンよりアクセスします。
プロジェクトの作成
43
さくらのIoT Platformでは【プロジェクト】という単位で大枠を構成し、プロジェクト内にさくらの通信モジュールや連携先サービスを複数所属させていきます。ハンズオンでは、まず[新規プロジェクト]をクリックし、新規にプロジェクトを作成します。
連携サービスの設定(WebSocket)
50
WebSocketを設定しました、これでコントロールパネルでの準備は完了です。ここで表示されるWebSocketのURLはハンズオンの後半で使用しますので書き留めておいてください。
動作確認(WebSocket)
51
作成した連携サービスで、シリアルポートで表示される情報(温度/湿度/シリアル値)と同様の情報が画面上で受信データとして表示されていることを確認します。
データを送信した通信モジュールのID
データが格納されたチャンネル番号
→カウント値
→湿度
→温度
送信されたデータのタイムスタンプ
送信された値データの型
単一メッセージで送信された値は同一時刻で表示
【参考】連携サービスの設定(DataStore (β))
52
さくらのIoT Platformでは、新たに蓄積データの活用として【DataStore】を提供します。※β版追加サービスの選択画面で[DataStore (β)]をクリックします。
【参考】連携サービスの設定(DataStore (β))
54
追加サービスの選択画面で[DataStore (β)]をクリックします。[名前]は任意の名称を入力し、[作成する]をクリックすると、TokenおよびAPIドキュメントのURLが生成されます。
【参考】連携サービスの設定(DataStore (β)) /channelsの取得
55
[ /channels ]は蓄積されたデータをチャンネル単位で取得します。単体のデータを複数の形式(入力時の形式[value]、数値[value_num]、文字列[value_str])で格納しているため、単体でも価値のあるデータが活用しやすい形式となっています。[ /channels ]は該当URL(https://api.sakura.io/datastore/v1/docs/)にて前述の【Token】情報、および以下のパラメータを指定することで任意の情報を取得できます。
【module】:通信モジュールのモジュールID
【size】:一度に取得するデータの数
【order】:昇順(ASC)と降順(DESC)指定
【cursor】:※後述※
【after/before】:指定日時の以前と以後指定
【channel】:取得するチャンネル指定
【参考】連携サービスの設定(DataStore (β)) /channelsの取得
56
{"meta": {
“count”: <取得した件数>,“cursor”: “<sizeで指定した件数を超えた場合に、次のレスポンスを取得するためのカーソル>”,“match”: <ヒットした件数>
},"results": [
{“channel”: <データが格納されているチャンネル>,“datetime”: “<データが通信モジュールのキューに格納された時間>”,“id”: “<送信されたデータのID>",“module”: “<データが送信された通信モジュールのID>",“type”: “<送信されたデータの型式>",“value”: <typeで指定された型式でのデータ>,“value_num”: <number形式でのデータ>,“value_str”: “<string形式でのデータ>"
},{"channel": …#以下[channel]単位のデータがcount数分列挙
指定された条件を元に【Try it out!】をクリックすると、[Response Body]欄に条件に応じたデータが返されます。またクリック後に返される[Request URL]から同様のデータを取得できます。
【type】:取得するRMのtype指定
【参考】連携サービスの設定(DataStore (β)) /messagesの取得
57
[ /messages ]は蓄積されたデータをRM単位で取得します。RMに含まれる複数チャンネルのデータの関係性が重要な場合に活用しやすい形式です。(鍵の「解錠者ID」と「入退室フラグ」等)また、 [ /messages ]には通信モジュールの接続および切断の情報も含まれています。[ /messages ]は該当URL(https://api.sakura.io/datastore/v1/docs/)にて以下のパラメータを指定することで任意の情報を取得できます。
【module】:通信モジュールのモジュールID
【size】:一度に取得するデータの数
【order】:昇順(ASC)と降順(DESC)指定
【cursor】:※後述※
【after/before】:指定日時の以前と以後指定
【参考】連携サービスの設定(DataStore (β)) /messagesの取得
58
{"meta": {
"count": <取得した件数>,"cursor": “<sizeで指定した件数を超えた場合に、次のレスポンスを取得するためのカーソル>”,"match": <ヒットした件数>
},"results": [
{“datetime”: “<対象のRMをプラットフォーム側で受信した時間>”,"id": “<格納されたRMのID>","module": “<データが送信された通信モジュールのID>","payload": {
"channels": [{
"channel": <データが格納されているチャンネル>,"type": “<送信されたデータの型式>","value": <typeで指定された型式でのデータ>
}]
},"type": "channels"
},{“datetime”: …#以下[message]単位のデータ
指定された条件を元に【Try it out!】をクリックすると、[Response Body]欄に条件に応じたデータが返されます。またクリック後に返される[Request URL]から同様のデータを取得できます。
今回のハンズオンの流れ
60
さくらのIoTPlatform
マイコンおよびプログラムの構築
Webサービス連携(さくらのクラウド)
Webサービス連携(Arukas)
マイコン(Arduino Uno)
温湿度センサ(HDC1000)
さくらの通信モジュール
さくらのIoTPlatformの設定
仮想サーバ
コンテナ
さくらのクラウドコントロールパネルログイン
61
本ワークショップでは既にさくらのクラウドのユーザを作成済みとなります。以下URLより、「さくらのクラウドユーザとしてログイン:」に前述のユーザコード、会員ID、パスワードを入力します。 「https://secure.sakura.ad.jp/cloud/」
Node-REDサーバの作成スタートアップスクリプトの用意
63
本ワークショップではNode-REDの構築を簡単にするため、さくらのクラウドの機能である「スタートアップスクリプト」を作成します。右上の【設定】をクリックします。
Node-REDサーバの作成スタートアップスクリプトの用意
65
以下の内容をコピー&ペーストします。必要に応じてエラー処理やログ用の記述を追加します。
#!/bin/sh# @sacloud-once# @sacloud-desc Git/NVM/Node.js/Node-REDのインストールを実行します。# @sacloud-desc このスクリプトは、CentOS6.xでのみ動作し、完了後自動再起動します。# @sacloud-desc 起動後、「#node-red」を実行すると、該当IPアドレスにWebブラウザにてアクセスできます。# @sacloud-require-archive distro-centos distro-ver-6.*
#Gitの入手yum -y install git#NVMの入手git clone https://github.com/creationix/nvm.git /root/.nvm#NVMの一時的なPATH設定source /root/.nvm/nvm.sh#NVMの恒久的なPATH設定sed -i '12i if [ -s /root/.nvm/nvm.sh ]; then' /root/.bash_profilesed -i '13i source /root/.nvm/nvm.sh' /root/.bash_profilesed -i '14i fi' /root/.bash_profile#Node.jsの入手nvm install v6.2.2#Node-REDの入手npm install -g node-red#Node-REDの編集済みコンフィグファイル(.node-red以下)を入手git clone https://github.com/Nyuuki0224/node-red-init.gitcp -rfv /root/node-red-init/.node-red/ /root/
exit 0
Node-REDサーバの作成
68
デフォルトではサーバの作成は細かい設定が不要な「シンプルモード」で作成できます。スタートアップスクリプトを利用する場合は右上の【シンプルモード】のチェックを外します。
Node-REDサーバの作成【シンプルモード】
71
管理ユーザのパスワードについてはパスワード強度が[普通]以上になるよう任意の値を入力します。接続先のネットワークは【インターネット】、公開鍵は【なし】を選択します。
Node-REDサーバの作成【シンプルモード不使用】
74
2.ディスクでは使用するディスクの種類やサイズ、インストールイメージを選択します。アーカイブ選択のみ【CentOS 6.x 64bit #xxxxxxxxxxxx】を選択し、後はデフォルトとします。
Node-REDサーバの作成【シンプルモード不使用】
76
4.ディスクの修正ではOSに関する設定値を指定します。管理ユーザのパスワードおよびホスト名は任意の値を入力します。公開鍵は今回のハンズオンでは使用しないためデフォルトの【なし】を使用します。
Node-REDサーバの作成【シンプルモード不使用】
77
先程作成したスタートアップスクリプトについては[配置するスタートアップスクリプト]で選択することができます。今回は自動でNode-REDの構築を行うため、作成した名称のスクリプトを選択します。
Node-REDサーバの作成
81
操作確認のダイアログにて、作成しても良いか改めて確認されますので、問題がなければ【作成】をクリックすると指定したサーバやディスクの作成を開始します。ステータスが全て成功になればサーバの作成が完了となります。
コンソールでの環境のセットアップ
83
ここからはターミナルソフトで操作することを前提に進めます。Windowsの場合、TeraTermでさくらのクラウドのコンパネ記載のIPアドレスへ接続します。初めてアクセスするサーバの場合、セキュリティ警告が表示されますが、[続行]をクリックします。Macの場合はターミナルから【ssh -p 22 root@<サーバのIPアドレス>】でアクセスします。
コンソールでの環境のセットアップ(スタートアップスクリプト利用時)
84
ログインが完了したら以下コマンドを実行するとWebブラウザから該当サーバのIPアドレスにアクセスできるようになります。実行が成功しない場合nvmのパス等確認のうえ、実施します。(# source ~/.nvm/nvm.sh等)
[root@test ~]# node-red
Welcome to Node-RED===================
22 Nov 10:00:29 - [info] Node-RED version: v0.15.222 Nov 10:00:29 - [info] Node.js version: v6.2.222 Nov 10:00:29 - [info] Linux 2.6.32-642.6.2.el6.x86_64 x64 LE22 Nov 10:00:29 - [info] Loading palette nodes22 Nov 10:00:29 - [warn] ------------------------------------------------------22 Nov 10:00:29 - [warn] [rpi-gpio] Info : Ignoring Raspberry Pi specific node22 Nov 10:00:29 - [warn] ------------------------------------------------------22 Nov 10:00:29 - [info] Settings file : /root/.node-red/settings.js22 Nov 10:00:29 - [info] User directory : /root/.node-red22 Nov 10:00:29 - [info] Flows file : /root/.node-red/flows_test-01.json22 Nov 10:00:29 - [info] Server now running at http://127.0.0.1:80/22 Nov 10:00:29 - [info] Starting flows22 Nov 10:00:30 - [info] Started flows
Node-RED初期画面
85
Node-REDは「ノード」と呼ばれる機能の固まりをシート上で組み合わせ、ひとつの「フロー」にすることで、ほとんどプログラミングを知らない人でもプログラムを構築することができるツールとなります。
ノードパレット
シートInfo/Debugコンソール
デプロイ
Node-RED WebSocketノードの作成
86
まずはWebSocketからのデータを受け取るノードを追加します。ノードパレットから「websocket」ノードをシートにドラッグ&ドロップします。
Node-RED WebSocketノードの作成
87
ドラッグ&ドロップされたWebSocketノードをWクリックし、設定画面に移ります。Typeは「Connect to」、Nameは「任意の名称」を入力のうえ、URLの行にある鉛筆マークをクリックします。
Node-RED WebSocketノードの作成
88
指定するPathの値は、コンパネの連携サービスで確認できる赤枠部分となります。赤枠部分の情報をコピーして、WebSocketノードのPath部分にペーストします。
Node-RED WebSocketノードの作成
89
Path部分はコンパネからのペーストを行い、ドロップダウンの項目については「Send/Receive payload」を選択し、【Add】をクリックします。
Node-RED WebSocketノードの作成
90
【Done】をクリックするとwebsocketノードへの設定が反映されます。設定内容に不備がない場合はノード右上の三角マークが表示から消えます。
Node-RED WebSocketノードの作成
91
WebSocketノードへの設定が反映されましたが、この時点ではさくらのIoT Platformからデータは入ってきていません。続いてはデータを表示するためのDebugノードを作成します。
Node-RED Debugノードの作成
92
次に、ノードパレットから「debug」ノードをシートにドラッグ&ドロップします。Debugノードは自動で「msg.payload」に名前が変わります。特に設定は不要です。
Node-REDフローのデプロイ
94
各ノードを接続し、準備が完了したら、右上部の【Deploy】をクリックします。デプロイが完了するとDeployボタンがグレーアウトされ、設定した内容を元に処理が開始されます。
動作確認
95
フローに問題がない場合、Websocketノード下部に「connected」と表示され、コンソールのdebug内にプラットフォームから取得したJSONデータを確認できます。Debugノード右端の緑マークをクリックするとdebugへの表示が停止されます。
今回のハンズオンの流れ
97
さくらのIoTPlatform
マイコンおよびプログラムの構築
Webサービス連携(さくらのクラウド)
Webサービス連携(Arukas)
マイコン(Arduino Uno)
温湿度センサ(HDC1000)
さくらの通信モジュール
さくらのIoTPlatformの設定
仮想サーバ
コンテナ
コンテナホスティングサービス Arukasとは
98
さくらのクラウド Arukas
コア技術
提供単位 仮想マシン/OS コンテナ
メリット・従来のOSと同様に扱える・既存環境の拡張ができる・その他機能と併用ができる
・展開が高速・オーバーヘッドが少ない・同一環境をPCでも再現可能
Server Server
Host OS Host OS
Hypervisor Docker Engine
Bins/Libs
Bins/Libs
App A
App A
Guest OS
Bins/Libs
App A
Guest OS
Bins/Libs
App B
Guest OS Bins/Libs
App A’ App A’ App B App B’
仮想マシン
コンテナ
コンテナホスティングサービス Arukas
99
「https://arukas.io/」にアクセスするとArukasのサービスページに飛びます。Arukasは通常のメールアドレス/パスワード、およびGithubのアカウントのいずれかでログインすることができます。
新しいアプリケーション(コンテナ)の作成
101
ログインすると、初めにダッシュボード画面に遷移します。新しいコンテナ(アプリケーション)を立ち上げる場合は【新しいアプリケーションを作成】をクリックします。
新しいアプリケーション(コンテナ)の作成
102
今回のハンズオンでは、予め用意されているイメージを使用してNode-REDコンテナを立ち上げます。Image【chibiegg/node-red:0.14】、Port【1880/TCP】を入力して【アプリケーションの作成】をクリックします。AppNameは任意の名称を入力します。
新しいアプリケーション(コンテナ)の作成
103
作成が完了したら、ダッシュボード画面もしくはコンテナの名称をクリックしたDetail画面から【起動】ボタンをクリックします。起動処理が始まり、数十秒~数分程度でコンテナが利用可能となります。
Node-REDログイン画面
106
URLにアクセスするとNode-REDのログイン画面に遷移します。記載のUsernameとPasswordでログインします。
Username : nodePassword : r3d
Node-RED初期画面
107
Node-REDは「ノード」と呼ばれる機能の固まりをシート上で組み合わせ、ひとつの「フロー」にすることで、ほとんどプログラミングを知らない人でもプログラムを構築することができるツールとなります。
ノードパレット
シートInfo/Debugコンソール
デプロイ
Node-RED WebSocketノードの作成
108
まずはWebSocketからのデータを受け取るノードを追加します。ノードパレットから「websocket」ノードをシートにドラッグ&ドロップします。
Node-RED WebSocketノードの作成
109
ドラッグ&ドロップされたWebSocketノードをWクリックし、設定画面に移ります。Typeは「Connect to」、Nameは「任意の名称」を入力のうえ、URLの行にある鉛筆マークをクリックします。
Node-RED WebSocketノードの作成
110
指定するPathの値は、コンパネの連携サービスで確認できる赤枠部分となります。赤枠部分の情報をコピーして、WebSocketノードのPath部分にペーストします。
Node-RED WebSocketノードの作成
111
Path部分はコンパネからのペーストを行い、ドロップダウンの項目については「Send/Receive payload」を選択し、【Add】をクリックします。
Node-RED WebSocketノードの作成
112
【Done】をクリックするとwebsocketノードへの設定が反映されます。設定内容に不備がない場合はノード右上の三角マークが表示から消えます。
Node-RED WebSocketノードの作成
113
WebSocketノードへの設定が反映されましたが、この時点ではさくらのIoT Platformからデータは入ってきていません。続いてはデータを表示するためのDebugノードを作成します。
Node-RED Debugノードの作成
114
次に、ノードパレットから「debug」ノードをシートにドラッグ&ドロップします。Debugノードは自動で「msg.payload」に名前が変わります。特に設定は不要です。
Node-REDフローのデプロイ
116
各ノードを接続し、準備が完了したら、右上部の【Deploy】をクリックします。デプロイが完了するとDeployボタンがグレーアウトされ、設定した内容を元に処理が開始されます。
動作確認
117
フローに問題がない場合、Websocketノード下部に「connected」と表示され、コンソールのdebug内にプラットフォームから取得したJSONデータを確認できます。Debugノード右端の緑マークをクリックするとdebugへの表示が停止されます。
最後に ~さくらのIoT Platform~
122
モジュールの登録が解除され、表示から削除されました。次は連携サービスとともにプロジェクトを削除します。プロジェクト右上のゴミ箱マークをクリックします。
最後に~さくらのクラウド~
124
グローバルIPアドレスを持つサーバは攻撃対象になりますので、作成いただいたサーバは削除します。サーバがまだ起動している場合、さくらのクラウドで対象サーバのチェックを入れ、[電源操作]から【シャットダウン】をクリックします。
最後に~さくらのクラウド~
126
シャットダウンが正常に実行されると、チェックボックス横のラインが「緑→赤→灰」と遷移します。ラインが灰色に変化したら、再度対象となるサーバにチェックを入れ、【削除】をクリックします。
top related