Mais conteúdo relacionado Semelhante a 駅すぱあとWebサービス&sakura.io体験ハンズオン 20180302 (20) Mais de さくらインターネット株式会社 (20) 駅すぱあとWebサービス&sakura.io体験ハンズオン 201803028. Agenda
8
1. Webサービス連携(前編:さくらのクラウド)
₋ Node-REDサーバ用インスタンスの作成
2. sakura.ioの設定
₋ プロジェクトの作成
₋ さくらの通信モジュールの登録
₋ 連携サービスの設定
3. マイコンおよびプログラムの構築
₋ マイコン(Arduino)による開発環境の準備
₋ 温湿度センサおよびさくらの通信モジュールの繋ぎ込み
₋ 試験用プログラムの流し込み
₋ 【参考】デバイスから送信されたデータの確認
4. Webサービス連携(後編:駅すぱあとWebサービス)
₋ WebSocketを利用したデータ連携フロー作成
₋ 駅すぱあとWebサービスおよびSlackとの連携フロー作成
₋ 動作確認
23. Node-REDサーバの作成
23
[ スタートアップスクリプト ]で【 shell 】を選択のうえ、[ 配置するスタートアップスクリプト ]から
【 [public] Node-RED #xxxxxxxxxxx 】を選択します。オプションの[ WebUIポート番号 ]欄には
【 80 】を入力します。[ ログインID ]および[ ログインパスワード ]には任意の値を指定してください。
ログインIDとログインパスワードは後ほど使いますのでメモをしておいてください。
選択/入力 任意
選択/入力 必須
80
自分の名前等
パスワード
※ 実際に運用する際は、大文字小文字数字記号などを
織り交ぜたパスワードを指定してください。
54. マイコン(Arduino)の準備
54
[ ファイル ]→[ スケッチ例 ]→[ 01.Basics ]→[ Blink ]を選択し、Blinkスケッチを表示します。
【 】をクリックしてスケッチをマイコンに書き込み、該当のLEDが点滅状態になることを確認します。
何らかの問題があった場合、スケッチ下部にオレンジ色のエラーが表示されます。
55. ライブラリの取得(温湿度センサ-HDC1000利用の場合)
55
[ スケッチ ]→[ ライブラリをインクルード ]→[ ライブラリを管理... ]をクリックし、
右上検索窓から【 hdc1000 】を検索すると、[ HDC1000 by Yuichi Tateno ]がヒットします。
【 インストール 】をクリックすると該当ライブラリが取り込まれ、[ INSTALLED ]が表示されます。
※本作業はセンサにHDC1000を利用している場合のみ実施します。
56. ライブラリの取得(温湿度センサ-SHT31利用の場合)
56
[ スケッチ ]→[ ライブラリをインクルード ]→[ ライブラリを管理... ]をクリックし、
右上検索窓から【 SHT31 】を検索すると、[ Adafruit SHT31 Library by Adafruit ]がヒットします。
インストールをクリックすると該当ライブラリが取り込まれ、[ INSTALLED ]が表示されます。
※本作業はセンサにSHT31を利用している場合のみ実施します。
57. ライブラリの取得(SakuraIO)
57
[ スケッチ ]→[ ライブラリをインクルード ]→[ ライブラリを管理... ]をクリックし、
右上検索窓から【 sakuraio 】を検索すると、[ SakuraIO by SAKURA Internet Inc. ]がヒットします。
最新のVer.を選択のうえ【 インストール 】をクリックすると該当ライブラリが取り込まれ、
[ INSTALLED ]が表示されます。
58. FirmwareUpdate.ino
58
[ ファイル ]→[ スケッチ例 ]→[ SakuraIO ]→[ FirmwareUpdate ]を選択し、【 】クリックで
該当のスケッチを書き込みます。[ ツール ]→[ シリアルモニタ ]もしくは【 】クリックで
アップデート状況を確認します。現在のVersion情報と比較し、新しいファームウェアが提供されている
場合にはアップデートを実行します。
新しいファームウェアが存在する場合 最新のファームウェアが適用されている場合
※PCからの給電が不安定/不足している場合は [ Update Failure ] と表示され、アップデートが
失敗する場合があります。その場合、電源アダプタを接続し、再度スケッチを書き込みます。
64. 温湿度センサの動作確認(温湿度センサ-HDC1000利用の場合)
64
[ ファイル ]→[ スケッチ例 ]→[ HDC1000 ]→[ hdc1000 ]を選択し、【 】クリックで
該当スケッチを書き込みます。その後[ ツール ]→[ シリアルモニタ ]もしくは【 】クリックで
Temp&Humi情報が取得できることを確認します。
※問題があった場合、オレンジ色のエラーが表示されます。
※本作業はセンサにHDC1000を利用している場合のみ実施します。
65. [ ファイル ]→[ 新規ファイル ]で新しいスケッチを表示し、下記URLの内容をスケッチにコピー&
ペーストします。 【 】をクリックし、[ ツール ]→[ シリアルモニタ ]もしくは【 】クリックで
シリアル値、Temp、Humi情報に加え、シリアル値と送信キュー情報が取得できることを確認します。
【 https://github.com/sakuraio/handson-sample/blob/master/arduino/basic-HDC1000-with-LED.ino 】
試験用プログラムの流し込み(温湿度センサ-HDC1000利用の場合)
65
※問題があった場合、オレンジ色のエラーが表示されます。
※本作業はセンサにHDC1000を利用している場合のみ実施します。
67. [ ファイル ]→[ 新規ファイル ]で新しいスケッチを表示し、下記URLの内容をスケッチにコピー&
ペーストします。 【 】をクリックし、[ ツール ]→[ シリアルモニタ ]もしくは【 】クリックで
シリアル値、Temp、Humi情報に加え、シリアル値と送信キュー情報が取得できることを確認します。
【 https://github.com/sakuraio/handson-sample/blob/master/arduino/basic-SHT31-with-LED.ino 】
試験用プログラムの流し込み(温湿度センサ - SHT31利用の場合)
67
※問題があった場合、オレンジ色のエラーが表示されます。
※本作業はセンサにSHT31を利用している場合のみ実施します。
80. Node-RED WebSocketノードの作成
80
[ URL ]欄には、sakura.ioのコンパネからのWebSocketの[ URL ]欄の情報をペーストします。
[ TLS設定 ]は、デフォルトで選択されている【 新規にtls-configを追加... 】のまま、[ 送信/受信 ]
はデフォルトで定義されている【 ペイロードを送信/受信 】を選択し、【 追加 】をクリックします。
81. Node-RED WebSocketノードの作成
81
指定する[ URL ]の値は、コンパネの連携サービスで確認できる赤枠部分となります。
赤枠部分の情報をコピーして、WebSocketノードのURL部分にペーストします。
URLの末尾と、Tokenは同一の文字列となりますので、Token情報は不要です。
************************************
************************************
92. Node-RED フローサンプルの紹介(GUI表示&Twitter連携 - WebSocket設定)
92
作成されたWebSocket inノードをダブルクリックし、設定画面に移ります。先程の手順と同様、
種類は【 接続 】、名前は【 任意の名称 】を入力します。
なお、URLは過去設定したものがある場合、ドロップダウンで指定することができます。
全て設定したら【 完了 】をクリックします。
先ほど設定したものを選択します
wss://api.sakura.io/ws/v1/*******
93. Node-RED フローサンプルの紹介(GUI表示&Twitter連携 – Twitter設定)
93
Twitterノードを設定のうえデプロイすると、[ メッセージ化 ]ノードに記載された文章中にその時
取得した温度センサの情報が埋め込まれた状態で該当Twitterアカウントにメッセージが投稿されます。
[ メッセージ化 ]ノードの内容を書き換えることで任意の文章に変更することができます。
こちらを省略する場合はTweetノードをクリックのうえ、Deleteを押して削除してください。
********** **********
**********
Node-REDデバッグタブでの表示
Twitter投稿内容
95. Node-RED フローサンプルの紹介(GUI表示&Twitter連携 – Twitter設定)
95
認証画面は利用しているブラウザでログインしているかどうかで画面遷移が異なります。
それぞれ必要な項目を入力 or 確認したうえで【 連携アプリを認証 】をクリックすると
[ Authorised ]の表記とともに認証された旨表示されますので、案内に従いウィンドウを閉じます。
まだログインしていない場合 既にログインしている場合
96. Node-RED フローサンプルの紹介(GUI表示&Twitter連携 – Twitter設定)
96
認証が成功しているとTwitter ID欄に認証したアカウントのIDが入力されています。
問題なければ 【 追加 】 および 【 完了 】 をクリックし、設定を完了します。
フローをデプロイするとTwitterへの連携が実行されます。
********
********
102. 102
サンプルフローをシートに展開します。【 メニュー( ) 】から【 読み込み 】→【 クリップボード 】
を選択し、下記URLの内容をペーストのうえ【 読み込み 】をクリックします。
すると記載されたJSONの内容に基づき、新たにフローが作成されます。
【 https://github.com/sakuraio/handson-sample/blob/master/node-red/ekispert-flow-send-message-in-slack.json 】
コピーしたJSONをペースト
フローの読み込み
113. チームの作成(Slack)
113
※件名は「Confirmation Code for Slack: XXX-XXX」となります
Create a new team 画面では受信できるメールアドレスを指定し、【 Confirm 】をクリックします。
その後、Check your email 画面に遷移しますので、前述のメールアドレスに受信した
feedback@slack.com からのメールに記載されている6桁の Confirmation Codeを入力します。
114. チームの作成(Slack)
114
What’s your name? 画面ではチームのOwnerとなるあなたの名前とユーザー名を記入し、
【 Continue to Password 】をクリックします。Set your password 画面では記載された要件に合った
パスワードを記入し【 Continue to Team Info 】をクリックします。
115. チームの作成(Slack)
115
Tell us about your team 画面ではチーム用途を選択します。任意のものを選択し、
【 Continue to Group Name 】をクリックします。
What’s your group called? 画面ではこのチームを運営する任意のグループ名を入力します。
入力したら【 Continue to Team URL 】をクリックします。
116. チームの作成(Slack)
116
What URL do you want for your Slack team? 画面ではチームのURLを設定します。
原則はグループ名が割り当てられますが、他チームのURLと重複する場合は別のURLを指定する
必要があります。【 Create Team 】をクリックした後、Review the Terms画面で利用規約等を
確認したうえで【 I Agree 】をクリックします。