Slide 1

Slide 1 text

sakura.io体験ハンズオン https://sakura.io 2018/7/17 (C) Copyright 1996-2018 SAKURA Internet Inc. さくらインターネット株式会社 IoTチーム 西田 有騎 だれもが、データを活かせる世の中へ。 さ く ら ア イ オ ー

Slide 2

Slide 2 text

2 はじめに

Slide 3

Slide 3 text

ハンズオンを円滑に進めるために  本資料の内容はいくつかの外部サービスやサイトを併用しながら作業を行います。  そのため、本資料のPDFファイルをローカル環境にダウンロードいただき、記載されている URLを活用いただくことを推奨します。 SpeakerDeckからでは直接URLにアクセスすることができません。 3 sakura.io紹介資料 http://bit.ly/sakuraio-introduction ハンズオン資料 http://bit.ly/sakuraio-handson-part1-01

Slide 4

Slide 4 text

ハンズオンを円滑に進めるために 4 ココ!!

Slide 5

Slide 5 text

本ハンズオンの目的とお願い  本ハンズオンは sakura.io を使用し、組込み、Web/アプリ開発、それぞれのスキルセッ トを大きく超えることなく、Internet of Things(IoT) に携わることができることをご体験 いただくものです。  そのため、組み込み系またはWeb/アプリ系のどちらか、または両方わからないという方に もご参加いただくことができます。  今回は1人に1つのキットをご用意しています。もしもご自身の知識分野で、近くの方の フォローができそうだなと思われましたら、積極的にサポートしあって進めていただければと 思います。 5

Slide 6

Slide 6 text

本ハンズオンで使用するツール・機材・参考情報まとめ ■本編■ ・さくらインターネット会員登録 https://secure.sakura.ad.jp/signup3/member-register/input.html ・さくらのクラウドコントロールパネル https://secure.sakura.ad.jp/cloud/ ・sakura.ioコントロールパネル https://secure.sakura.ad.jp/iot/ ・Arduino https://www.arduino.cc/en/Main/Software ・サンプル用スケッチ(HDC1000) https://github.com/sakuraio/handson-sample/blob/master/arduino/basic-HDC1000-with-LED.ino ・サンプル用スケッチ(SHT31) https://github.com/sakuraio/handson-sample/blob/master/arduino/basic-SHT31-with-LED.ino ・Node-REDサンプル用フロー https://github.com/sakuraio/handson-sample/blob/master/node-red/basic-graph-and-control-with-tweet.json ・Twitter連携設定 https://apps.twitter.com/ ■参考■ 開発者向けページ ・さくらのクラウド ドキュメント https://manual.sakura.ad.jp/cloud/ ・さくらのクラウド API1.1 https://developer.sakura.ad.jp/cloud/api/1.1/ ・sakura.io 開発者向け https://sakura.io/developer/ ■参考■ モジュール&オプションのご購入 ・商品の購入 https://sakura.io/product/ ・sakura.ioモジュール(LTE) https://sakura.io/product/module_lte.html ・sakura.ioシールド for Arduino https://sakura.io/product/arduino.html ■参考■ その他物品のご購入(秋月電子通商) ・温湿度センサ(SHT31) http://akizukidenshi.com/catalog/g/gK-12125/ ・抵抗内蔵LED http://akizukidenshi.com/catalog/g/gI-06245/ ・ジャンパコード http://akizukidenshi.com/catalog/g/gC-05159/ ・Arduino Uno Rev3 http://akizukidenshi.com/catalog/g/gM-07385/ ・USBケーブル Aオス-Bオス http://akizukidenshi.com/catalog/g/gC-07605/ ・ACアダプター http://akizukidenshi.com/catalog/g/gM-07772/ ・ブレッドボード http://akizukidenshi.com/catalog/g/gP-05294/ 6

Slide 7

Slide 7 text

Webサービス連携 (さくらのクラウド) 仮想サーバ ① 今回のハンズオンの流れ 7 ② マイコンおよび プログラムの構築 マイコン (Arduino Uno) 温湿度センサ (SHT31/HDC1000) sakura.io モジュール ③ 各種LED 前編 後編:全ての設定が完了後 ハンズオン キット WebSocket 連携 サービス モジュール sakura.ioの設定 ダッシュボード表示 ボタンでのデバイス制御 プロジェクト オプション:SNS投稿

Slide 8

Slide 8 text

アジェンダ 1. Webサービス連携(さくらのクラウド 前編) ₋ Node-REDサーバ用 仮想サーバ の作成 2. sakura.ioの設定 ₋ プロジェクトの作成 ₋ sakura.ioモジュールの登録 ₋ 連携サービスの設定 3. マイコンおよびプログラムの構築 ₋ マイコン(Arduino)による開発環境の準備 ₋ 温湿度センサおよびsakura.ioモジュールの繋ぎ込み ₋ 試験用プログラムの流し込み ₋ デバイスから送信されたデータの確認 4. Webサービス連携(さくらのクラウド 後編) ₋ Node-REDでWebSocketを利用したデータ連携フロー作成(グラフ表示) ₋ Node-REDでWebSocketを利用したデータ連携フロー作成(ボタンでのデバイス制御) ₋ Node-REDでWebSocketを利用したデータ連携フロー作成(SNS連携) 8

Slide 9

Slide 9 text

9 Webサービス連携 (さくらのクラウド前編)

Slide 10

Slide 10 text

今回のハンズオンの流れ 10 ② マイコンおよび プログラムの構築 マイコン (Arduino Uno) 温湿度センサ (SHT31/HDC1000) sakura.io モジュール ③ 各種LED 後編:全ての設定が完了後 ハンズオン キット WebSocket 連携 サービス モジュール sakura.ioの設定 ダッシュボード表示 ボタンでのデバイス制御 プロジェクト オプション:SNS投稿 Webサービス連携 (さくらのクラウド) 仮想サーバ ① 前編

Slide 11

Slide 11 text

さくらインターネット 会員ID作成  会員IDをお持ちでない場合はご契約の サービスがない場合でも、さくらインター ネット会員登録から作成いただけます  会員登録が完了すると、指定したメール アドレスに [email protected] より会員IDが記載されたメールが送信さ れます。 会員IDおよびパスワードは重要な情報となりま すので、漏れないよう大事に保管ください。 11 Title:会員登録完了のお知らせ [XXX00000] ─────────────────────────────────── このメッセージはさくらインターネット会員登録フォームより 自動送信されています。このメールに心当たりのない場合は [email protected]までご連絡ください。 ─────────────────────────────────── さくらインターネット株式会社 様 (ご担当者: さくら 太郎 様) この度は、さくらインターネットに会員登録いただきまして誠に ありがとうございます。 以下の通り会員登録を受付ましたので、ご連絡させていただきます。 ============================================ ◎ 会員登録情報 会員ID : XXX00000 ご契約者名 : さくらインターネット株式会社 様 (ご担当者: さくら 太郎 様) 電子メール : [email protected] ============================================ ~~~以下省略~~~ https://secure.sakura.ad.jp/signup3/member-register/input.html

Slide 12

Slide 12 text

さくらのクラウド コントロールパネル ログイン(さくらインターネット会員)  さくらのクラウドコントロールパネルにログインします。  [ さくらインターネット会員としてログイン: ]に会員ID、パスワードを入力し 【 ログイン 】をクリックします。 12 https://secure.sakura.ad.jp/cloud/

Slide 13

Slide 13 text

さくらのクラウド コントロールパネル ログイン  さくらインターネット会員としてログイ ンするとアカウントの選択を求めら れるため、割り当てられたアカウント を選択します。 ハンズオンでは参加者の皆さんに個別の アカウントを割り当てます。 注:実運用の際にアカウントを作成をされていない場合には、 左メニュー[ アカウント ]タブからアカウントとユーザを作成す る必要があります。 13

Slide 14

Slide 14 text

Node-REDサーバの作成  左側のペインのサーバを選択し、右上の【 追加 】ボタンをクリックします。 ※サーバ追加の案内が出る場合があります。 14

Slide 15

Slide 15 text

Node-REDサーバの作成  デフォルトのサーバ作成は細かい設定が不要な「シンプルモード」になっています。  今回はスタートアップスクリプトを利用するため、右上【 シンプルモード 】のチェックを外します。 15

Slide 16

Slide 16 text

Node-REDサーバの作成  [ 1.サーバプラン ]では仮想サーバに割り当てるCPUとメモリの量を指定します。  今回はすべてデフォルトの値を使用しますので変更は不要です。 16

Slide 17

Slide 17 text

Node-REDサーバの作成  [ 2.ディスク ]では使用するディスクの種類やサイズ、インストールイメージを選択します。  アーカイブ選択は【 CentOS 7.x 64bit 】を選択し、その他はデフォルトとします。 17 【 CentOS 7.x 】を選択

Slide 18

Slide 18 text

Node-REDサーバの作成  [ 3.NIC ]ではネットワークに関する設定を指定します。  今回はすべてデフォルトの値を使用しますので変更は不要です。 18

Slide 19

Slide 19 text

Node-REDサーバの作成  [ 4.ディスクの修正 ]ではOSに関する設定値を指定します。  今回はすべてデフォルトの値を使用しますので変更は不要です。 実際の運用時は、大文字小文字数字記号などを織り交ぜたパスワードを指定してください。 19

Slide 20

Slide 20 text

Node-REDサーバの作成  スタートアップスクリプトは【 shell 】を選択し、以降の項目は以下をそれぞれ指定します。 ログインIDとログインパスワードは後ほど使いますのでメモをしておいてください。 20 【 80 】を入力 任意のログインIDを入力 任意のパスワードを入力 【 [public] Node-RED 】を選択 【 shell 】を選択 メモ情報あり

Slide 21

Slide 21 text

Node-REDサーバの作成  [ 5.シンプル監視 ]はさくらのクラウドで提供する死活監視のサービスとなります。  今回はすべてデフォルトの値を使用しますので変更は不要です。 21

Slide 22

Slide 22 text

Node-REDサーバの作成  [ 6.サーバの情報 ]はコントロールパネル上で管理するための情報を記述する項目です。  今回はすべてデフォルトの値を使用しますので変更は不要です。 未記入の場合、名前は自動で生成、付与されます。 22

Slide 23

Slide 23 text

Node-REDサーバの作成  [ 7.その他のオプション ]はキーボードと作成後の電源状態、[ 作成数 ]は同様の 設定のサーバを何台作成するかを指定します。(GUIでは10台まで同時作成可能)  今回はすべてデフォルトの値を使用しますので変更は不要です。  内容を確認し、問題がなければ右下の【 作成 】をクリックします。 23

Slide 24

Slide 24 text

Node-REDサーバの作成  操作確認のダイアログで、最終確認後に【 作成 】をクリックすると、指定した条件でサーバお よびディスクの作成を開始します。ステータスが全て成功になればサーバの作成は完了です。  サーバ起動後、スタートアップスクリプトの内容に従ったインストール等の処理を実施します。  サーバ作成からNode-REDが起動しアクセスできるようになるまで、10分程度かかります。 24

Slide 25

Slide 25 text

Node-REDサーバの作成  サーバ作成のステータスが成功に遷移した時点でサーバのIPアドレスを確認できます。  コントロールパネル左側ペインの【 サーバ 】をクリックすると作成済みサーバの一覧が表示さ れますので、最右部【 ▼ 】をクリックするか、該当サーバの行を右クリックし、【 IPアドレス をコピー 】をクリックすることで、該当サーバのIPアドレスをコピーすることができます。 Node-REDサーバのIPアドレスは後ほど使います。作成が完了したらメモしてください。 25 ***.*** メモ情報あり

Slide 26

Slide 26 text

【参考】スタートアップスクリプト進捗状況の確認  コントロールパネル上でサーバの起動状況は確認できますが、スタートアップスクリプトによる 処理が完了したかまでは確認できないため、必要に応じてコンソールを用いて確認します。  該当のサーバをダブルクリックし、[ コンソール ]を選択するとOSの起動処理の実行画面 が確認できます。  スタートアップスクリプトの処理が完了すると、起動画面からログインプロンプトに遷移します。 26

Slide 27

Slide 27 text

27 sakura.ioの設定

Slide 28

Slide 28 text

今回のハンズオンの流れ 28 ② マイコンおよび プログラムの構築 マイコン (Arduino Uno) 温湿度センサ (SHT31/HDC1000) sakura.io モジュール ③ 各種LED 後編:全ての設定が完了後 ハンズオン キット WebSocket 連携 サービス モジュール sakura.ioの設定 ダッシュボード表示 ボタンでのデバイス制御 プロジェクト オプション:SNS投稿 Webサービス連携 (さくらのクラウド) 仮想サーバ ① 前編

Slide 29

Slide 29 text

sakura.ioコントロールパネルにおける考え方 29 プロジェクトC プロジェクトB プロジェクト モジュール3 ☑ データストアプラン 有償版/無償版 ☑ 簡易位置情報提供 利用する/しない ☑ ファイル配信 ファイル1、ファイル2... 連携サービス3 モジュール / 連携サービス プロジェクトに対して複数登録可能 オプションサービス プロジェクトに対して1つ/1セット設定可能 モジュール2 連携サービス2 モジュール1 uAAAAAAAAAA 連携サービス1 WebSocket  sakura.ioは【 プロジェクト 】という単位で管理します。  プロジェクトには【 モジュール 】【 連携サービス 】を複数紐付けることができます。  各種【 オプションサービス 】はプロジェクトに対して1つもしくは1セット設定できます。

Slide 30

Slide 30 text

sakura.io コントロールパネル ログイン  sakura.ioコントロールパネルにログインします。上記URLに直接アクセスするか、サービス サイト( https://sakura.io/ )にアクセスし、右上の【 ログイン 】をクリックします。 30 https://secure.sakura.ad.jp/iot/

Slide 31

Slide 31 text

コントロールパネルへのログイン  ログイン済みのセッションがない場合、以下の画面で会員認証を求められます。  会員ID、パスワードを利用してログインします。 31

Slide 32

Slide 32 text

約款への同意  初めてコントロールパネルにログインすると、各種約款への同意を求められます。  内容をご確認のうえ、[ 同意する ]をクリックするとコントロールパネルにアクセスできます。 32

Slide 33

Slide 33 text

コントロールパネルへのログイン  ログインが成功すると、以下のような画面に誘導されます。  何も作成されていない、もしくはデフォルトプロジェクトが作成されている状態になります。 33

Slide 34

Slide 34 text

プロジェクトの作成  初めはプロジェクトが無いため、新規にプロジェクトを作成する必要があります。  プロジェクトを作成するには、まず[ プロジェクト追加 ]をクリックします。 34

Slide 35

Slide 35 text

プロジェクトの作成  新規プロジェクトの作成画面に遷移します。  [ 名称 ]欄に任意の名前を入力し、【 追加 】をクリックします。 ハンズオンでは他の参加者と重複しないよう、名前等の判別可能な情報を入れて作成してください 35

Slide 36

Slide 36 text

モジュールの登録  プロジェクトが作成されました。次にモジュールの登録を行います。  プロジェクトの【 詳細 】から、プロジェクト詳細画面で【 モジュール登録 】をクリックします。  登録されているモジュールがない場合は案内文中のリンクからも登録画面に遷移できます。 36

Slide 37

Slide 37 text

sakura.io モジュールの取り出し  sakura.io モジュール【だけ】を箱から取り出します 37 sakura.ioモジュール(アンテナ付) +Arduino用シールド&Arduino Uno Rev3

Slide 38

Slide 38 text

モジュール登録  モジュールの追加画面に遷移します。自身のプロジェクトが選択されていることを確認のうえ、 モジュール記載の登録用ID、登録用パスワードおよび任意の名称を入力して、【 追加 】 をクリックします。 モジュールの登録実行には数秒かかります。 38 モジュール上面 白ラベル表記

Slide 39

Slide 39 text

モジュール登録  モジュールの追加に成功すると[ モジュールを追加しました ]ダイアログが表示されます。  [ ホームへ戻る ]ボタンをクリックしてホームに戻ります。 ID/PASSが正しくない、もしくは既に登録されているモジュールを追加しようとした場合は 内容とともに[ モジュールの追加に失敗しました ]というダイアログが表示されます。 39 登録が成功した場合 登録が失敗した場合 登録用ID / 登録用パスワードのいずれかに誤りがあります、再度ご確認ください 別の会員IDで登録されています、過去登録した会員IDでログインし解除ください

Slide 40

Slide 40 text

連携サービスの設定  モジュールを登録しました。表示されているモジュールIDは一意のものであり、届いたデータ の送信元判別や、デバイスへのデータ送信の際に使用します。 この点線で囲まれたモジュールIDは後ほど使用しますのでメモしてください。 40 メモ情報あり

Slide 41

Slide 41 text

連携サービスの設定  最後に外部への連携サービスを設定します。プロジェクトの【 詳細 】から、プロジェクト詳細 画面で【 連携サービス 】をクリックし、その後【 サービス追加 】をクリックします。 41

Slide 42

Slide 42 text

連携サービスの設定(WebSocket)  追加サービスの選択画面に遷移します。  今回はWebSocketを作成しますので、【 WebSocket 】をクリックします。 42

Slide 43

Slide 43 text

連携サービスの設定(WebSocket)  WebSocketの作成には特に設定事項はありません。  [ 名前 ]欄に任意の名前を入力し、【 作成 】をクリックします。 43

Slide 44

Slide 44 text

連携サービスの設定  連携サービスが登録されました。この後で使用するWebSocketのURLを確認します。  作成した連携サービスの【 】をクリックします。 44

Slide 45

Slide 45 text

連携サービスの設定(WebSocket)  WebSocketを設定しました、これでコントロールパネルでの準備は完了です。 この点線で囲まれたWebSocketのURLは後ほど使用しますのでメモしてください。 45 メモ情報あり

Slide 46

Slide 46 text

46 マイコンおよびプログラム構築

Slide 47

Slide 47 text

今回のハンズオンの流れ 47 ② マイコンおよび プログラムの構築 マイコン (Arduino Uno) 温湿度センサ (SHT31/HDC1000) sakura.io モジュール ③ 各種LED 後編:全ての設定が完了後 ハンズオン キット WebSocket 連携 サービス モジュール sakura.ioの設定 ダッシュボード表示 ボタンでのデバイス制御 プロジェクト オプション:SNS投稿 Webサービス連携 (さくらのクラウド) 仮想サーバ ① 前編

Slide 48

Slide 48 text

今回のワークショップでご提供するもの 48 ジャンパーコード sakura.ioモジュール(アンテナ付) +Arduino用シールド&Arduino Uno Rev3 USB2.0 ケーブル(A-B) 12W級 9V-1.3A ACアダプタ ブレッドボード 人感センサ (SB412A) 照度センサ (GL5537-2) 温湿度センサ (HDC1000 or SHT31) 各種抵抗 ※必要に応じてご提供 タクトスイッチ ※必要に応じてご提供 抵抗入りLED ※必要に応じてご提供 本日は使用しません

Slide 49

Slide 49 text

Arduino IDEのセットアップ  Webサイトから開発環境(Arduino IDE)を入手します。2018/6/4時点の最新バー ジョンは[ 1.8.5 ]です。  環境がWindowsの場合は【 Windows Installer 】、Macの場合は【 Mac OS X 10.7 Lion or newer 】を選択します。 49 https://www.arduino.cc/en/Main/Software

Slide 50

Slide 50 text

Arduino IDEのセットアップ  該当の金額を選択するか(寄付する場合)、【 JUST DOWNLOAD 】からダウンロード します。 50

Slide 51

Slide 51 text

Arduino IDEのセットアップ  インストールはデフォルト推奨、ドライバーについても全てインストールします。 ※本スライド記載の画像はWindowsの場合です。 51

Slide 52

Slide 52 text

sakura.ioモジュールの取り付け  ArduinoシールドをArduino Unoのピン穴と合致するようにはめ込みます。 ※ハンズオンでは接続済み  Arduino IDEを起動したら、Arduino UnoにACアダプタとUSBケーブルを図のように 接続します。 52 コンセントへ パソコンへ (USB Type-A)

Slide 53

Slide 53 text

Arduino IDEのセットアップ  上部メニューバーからボードと、シリアルポートを設定します。 ボード:[ ツール ]→[ ボード:”XXX” ]から【 Arduino/Genuino Uno 】を選択 シリアルポート:[ ツール ]→[ シリアルポート ]から【 COMx (Arduino/Genuino Uno) 】を選択 Mac環境の場合はCOMポートではなく、【 /dev/… (Arduino/Genuino Uno) 】を選択  うまく認識しない場合は、USBを挿し直し、Arduino IDEを再起動を試してください。 53 ボードの選択 シリアルポートの選択

Slide 54

Slide 54 text

マイコン(Arduino)の準備  [ ファイル ]→[ スケッチ例 ]→[ 01.Basics ]→[ Blink ]を選択し、Blink スケッチを表示します。  【 】をクリックしてスケッチを書き込み、該当のLEDが点滅状態になることを確認します。 何らかの問題があった場合、スケッチ下部にオレンジ色のエラーが表示されます。 54

Slide 55

Slide 55 text

ライブラリの取得(SakuraIO)  [ スケッチ ]→[ ライブラリをインクルード ]→[ ライブラリを管理... ]をクリックし、 右上検索窓から【 sakuraio 】を検索すると、[ SakuraIO by SAKURA Internet Inc. ]がヒットします。  最新のVer.を選択のうえ【 インストール 】をクリックすると該当ライブラリが取り込まれ、 [ INSTALLED ]が表示されます。 55

Slide 56

Slide 56 text

ライブラリの取得(温湿度センサ-HDC1000利用の場合)  [ スケッチ ]→[ ライブラリをインクルード ]→[ ライブラリを管理... ]をクリックし、 検索窓から【 hdc1000 】を検索すると、[ HDC1000 by Yuichi Tateno ]がヒット します。  【 インストール 】をクリックすると該当ライブラリが取り込まれ、[ INSTALLED ]が表示 されます。 56 ※本作業はセンサにHDC1000を利用している場合のみ実施します。

Slide 57

Slide 57 text

ライブラリの取得(温湿度センサ-SHT31利用の場合)  [ スケッチ ]→[ ライブラリをインクルード ]→[ ライブラリを管理... ]をクリックし、 検索窓から【 SHT31 】を検索すると、[ Adafruit SHT31 Library ]がヒットします。  【 インストール 】をクリックすると該当ライブラリが取り込まれ、[ INSTALLED ]が表示 されます。 57 ※本作業はセンサにSHT31を利用している場合のみ実施します。

Slide 58

Slide 58 text

FirmwareUpdate.ino  [ ファイル ]→[ スケッチ例 ]→[ SakuraIO ]→[ FirmwareUpdate ]を 選択し、【 】クリックでスケッチを書き込みます。[ ツール ]→[ シリアルモニタ ]もし くは【 】クリックでアップデート状況を確認します。  現在のVersion情報と比較し、新しいファームウェアが提供されている場合はアップデートを 実行します。 58 ※PCからの給電が不安定/不足している場合は [ Update Failure ] と表示され、アップデートに 失敗する場合があります。その場合、電源アダプタを接続し、再度スケッチを書き込みます。 新しいファームウェアが存在する場合 最新のファームウェアが適用されている場合

Slide 59

Slide 59 text

sakura.ioモジュールの取り外し  マイコンとセンサー間を配線するため、Arduino Unoから、ACアダプタと、USBケーブルを 取り外します。 59 コンセントへ パソコンへ (USB Type-A)

Slide 60

Slide 60 text

ブレッドボードについて  ブレッドボードは場所によって接続されている場所が異なります。  下図の繋がっている部分を意識しながら配線します。 60 水平方向に繋がっている 主に各センサーに対する 電源系統の接続に利用 垂直方向に繋がっている 主に各センサーの配置や センサーの信号系統の 接続に利用

Slide 61

Slide 61 text

温湿度センサ(HDC1000/SHT31)について  温湿度センサモジュールはそれぞれ繋ぐべき端子が決まっています。  少し見えにくいですが、センサ本体が実装されている面を裏返すと、各ピンに接続すべき 端子が明記されています。 61 ピンアサインが記載 温湿度センサ 表面 裏面

Slide 62

Slide 62 text

LEDについて  LEDには極性があり、繋ぐべき方向が決まっています。一般的に足が長い方が陽極(ア ノード)と呼ばれ、デジタルの端子に接続します。逆に足の短い方は陰極(カソード)と 呼ばれ、GND側の端子に接続します。  今回使用するLEDは抵抗を内蔵しているため、別途抵抗を挟む必要はありません。 62 陽極(アノード) デジタル端子に接続 陰極(カソード) GND端子に接続

Slide 63

Slide 63 text

温湿度センサ(HDC1000/SHT31)の繋ぎ込み  図に従い温湿度センサの向きに注意して配線します。(実際にはArduinoシールドに対 して配線します)ブレッドボード側は色で明示された位置であれば、自由に接続しても問 題ありません。温湿度センサ側のRDY/ADRピンは今回は使用しないため、何も配線しま せん。 63 <凡例> D5 SDA SCL D6 GND D7 3.3V RDY/ADR GND SCL SDA 3.3V GND GND GND Digital 6 Digital 5 Digital 7 ※本作業はセンサにHDC1000を利用している場合のみ実施します。

Slide 64

Slide 64 text

sakura.ioモジュールの取り付け  配線が終わったら、ACアダプタとUSBケーブルを再度接続します。  Arduino IDEを起動し、Arduino UnoにACアダプタとUSBケーブルを図のように接続し ます。 64 コンセントへ パソコンへ (USB Type-A)

Slide 65

Slide 65 text

試験用プログラムの流し込み(温湿度センサ-HDC1000利用の場合)  Githubの該当サンプルスケッチページで【 Raw 】をクリックし、キーボードで【 Ctrl + A 】 ですべてを選択して、【 Ctrl +C 】でコピーします。 65 https://github.com/sakuraio/handson-sample/blob/master/arduino/basic-HDC1000-with-LED.ino キーボードで【 Ctrl + A 】ですべてを選択 →【 Ctrl +C 】でコピーします

Slide 66

Slide 66 text

試験用プログラムの流し込み(温湿度センサ-HDC1000利用の場合)  [ ファイル ]→[ 新規ファイル ]で新しいスケッチを表示し、以下URLの内容をスケッ チにコピー&ペーストします。 【 】をクリックし、[ ツール ]→[ シリアルモニタ ]もしく は【 】クリックでシリアル値、Temp、Humi情報に加え、シリアル値と送信キュー情報が 取得できるのを確認します。 66 ※問題があった場合、オレンジ色のエラーが表示されます。 ※本作業はセンサにHDC1000を利用している場合のみ実施します。 https://github.com/sakuraio/handson-sample/blob/master/arduino/basic-HDC1000-with-LED.ino

Slide 67

Slide 67 text

試験用プログラムの流し込み(温湿度センサ-SHT31利用の場合)  Githubの該当サンプルスケッチページで【 Raw 】をクリックし、キーボードで【 Ctrl + A 】 ですべてを選択して、【 Ctrl +C 】でコピーします。 67 https://github.com/sakuraio/handson-sample/blob/master/arduino/basic-SHT31-with-LED.ino キーボードで【 Ctrl + A 】ですべてを選択 →【 Ctrl +C 】でコピーします

Slide 68

Slide 68 text

試験用プログラムの流し込み(温湿度センサ-SHT31利用の場合)  [ ファイル ]→[ 新規ファイル ]で新しいスケッチを表示し、以下URLの内容をスケッ チにコピー&ペーストします。 【 】をクリックし、[ ツール ]→[ シリアルモニタ ]もしく は【 】クリックでシリアル値、Temp、Humi情報に加え、シリアル値と送信キュー情報が 取得できるのを確認します。 68 ※問題があった場合、オレンジ色のエラーが表示されます。 ※本作業はセンサにSHT31を利用している場合のみ実施します。 https://github.com/sakuraio/handson-sample/blob/master/arduino/basic-SHT31-with-LED.ino

Slide 69

Slide 69 text

【参考】デバイスから送信されたデータの確認  sakura.ioでは連携サービスの一つであるWebSocketで、デバイスから送信された データを受信できているかを確認できます。  プロジェクトの詳細から作成したWebSocketの【 】をクリックします。 69

Slide 70

Slide 70 text

【参考】デバイスから送信されたデータの確認  サービス連携の編集画面下部に、デバイスから送信したデータがリアルタイム表示されます。  簡易表示モードではモジュールから受け取ったデータを以下のように確認できます。 70 モジュール: データを送信した モジュールのID チャンネル: データが格納された チャンネル番号 時刻: データがモジュールのキューに 格納された時刻のタイムスタンプ 値: 送信された値 型: データの型式

Slide 71

Slide 71 text

【参考】デバイスから送信されたデータの確認  [ 詳細表示モードに切り替え ]をクリックすると詳細表示モードに遷移します。  モジュールは同一ですが、データの内容によりタイプやペイロードが異なります。 71 チャンネルごとの最終到着データ: 各チャンネルに届いた最終の Valueを表示 クリックでログ出力を 開始/停止 タイプ: プラットフォームからの内容に応じて、 いくつかの種類に分かれる ・channels :モジュールからのデータ ・connection :接続の開始/終了 ・location :簡易位置情報 ・keepalive :WebSocketセッション確認 ペイロード: 受け取ったデータのpayload部 が表示 時刻: 詳細表示モードではプラットフォーム で該当のメッセージを受け取ったタイ ムスタンプ

Slide 72

Slide 72 text

72 Webサービス連携 (さくらのクラウド後編)

Slide 73

Slide 73 text

今回のハンズオンの流れ 73 ② マイコンおよび プログラムの構築 マイコン (Arduino Uno) 温湿度センサ (SHT31/HDC1000) sakura.io モジュール ③ 各種LED ハンズオン キット WebSocket 連携 サービス モジュール sakura.ioの設定 ボタンでのデバイス制御 プロジェクト オプション:SNS投稿 ① 前編 後編:全ての設定が完了後 ダッシュボード表示 Webサービス連携 (さくらのクラウド) 仮想サーバ

Slide 74

Slide 74 text

http://<サーバのIPアドレス>:<指定したWeb UIポート番号>/ Node-RED サーバへのログイン  Webブラウザで上記URLにアクセスします。  サーバ作成時にオプションの[ Node-REDのWebUIポート]に【 80 】を指定した場合 はポート番号を省略できます。なおサーバを示す行を右クリックもしくは行最右部にある 【 ▼ 】 をクリックすることで簡単にIPアドレスをコピーすることができます。 74

Slide 75

Slide 75 text

Node-RED サーバへのログイン  アクセスに成功すると、認証画面が表示されます。[ Username ]と[ Password ] 欄それぞれに、サーバを作成した際に指定した【 Node-REDのログインID 】と【 Node- REDのログインパスワード 】を入力し、【 ログイン 】をクリックします。 75 自分の名前等 パスワード

Slide 76

Slide 76 text

Node-RED サーバへのログイン  ログインが成功すると以下の画面が表示されます。 76

Slide 77

Slide 77 text

Node-RED 初期画面  Node-REDは「ノード」と呼ばれる機能の固まりをシート上で組み合わせ、ひとつの「フロー」 にすることで、ほとんどプログラミングを知らない人でもプログラムを構築できるツールです。 77 ノード パレット シート Info/Debug コンソール デプロイ

Slide 78

Slide 78 text

Node-RED WebSocketノードの作成  まずはWebSocketからのデータを受け取るノードを追加します。  ノードパレットの入力から[ websocket ]ノードをシートにドラッグ&ドロップします。 78

Slide 79

Slide 79 text

Node-RED WebSocketノードの作成  ドラッグ&ドロップされたwebsocket inノードをダブルクリックし、設定画面に移ります。  種類は【 接続 】、名前は【 sakuraio-websocket 】(任意の名前)を入力のうえ、 URLは【 新規にwebsocket-clientを追加... 】を選択した状態で、URLの行にある 【 】をクリックします。 79 sakuraio-websocket

Slide 80

Slide 80 text

Node-RED WebSocketノードの作成  [ URL ]欄には、sakura.ioのコンパネからのWebSocketの[ URL ]欄の情報を ペーストします。  [ TLS設定 ]は、デフォルトで選択されている【 新規にtls-configを追加... 】のまま、 [ 送信/受信 ]はデフォルトで定義されている【 ペイロードを送信/受信 】を選択し、 【 追加 】をクリックします。 80

Slide 81

Slide 81 text

Node-RED WebSocketノードの作成  指定する[ URL ]の値は、コンパネの連携サービスで確認できる赤枠部分です。  赤枠部分の情報をコピーして、websocket inノードのURL部分にペーストします。  URLの末尾と、Tokenは同一の文字列となりますので、Token情報は不要です。 81 ************************************** **************************************

Slide 82

Slide 82 text

Node-RED WebSocketノードの作成  【 完了 】 をクリックするとwebsocket inノードへ設定が反映され、不備がない場合は右隅 の三角マークが消えます。これでwebsocket inノードへの設定が反映されましたが、この時 点ではsakura.ioからデータは入ってきていません。続いてはデータを表示するためのDebug ノードを作成します。 82 *************

Slide 83

Slide 83 text

Node-RED Debugノードの作成  次に、ノードパレットの出力から[ debug ]ノードをシートにドラッグ&ドロップします。  Debugノードは自動で[ msg.payload ]に名前が変わります。特に設定は不要です。 83

Slide 84

Slide 84 text

Node-RED ノード間の接続  ノードの動作を繋げるために、websocket inノード右端とDebugノード左端をドラッグ&ド ロップで繋ぎます。 84

Slide 85

Slide 85 text

Node-RED フローのデプロイ  各ノードを接続し、準備が完了したら、右上部の 【 デプロイ 】 をクリックします。  デプロイが完了するとデプロイボタンがグレーアウトされ、設定した内容を元に処理が開始さ れます。併せて、debugノードからの情報を確認するため、コンソールの 【 デバッグ 】 タブ をクリックします。 85

Slide 86

Slide 86 text

動作確認  フローに問題がない場合、websocket inノード下部に[ connected ]と表示され、 コンソールのdebug内にプラットフォームから取得したJSONデータを確認できます。  debugノード右端の緑マークをクリックするとコンソールへの出力が停止されます。 86

Slide 87

Slide 87 text

Node-RED フローサンプルの紹介  次にサンプルのフローを利用するために、必要なノードをサーバに追加します。Node-RED 右上の[ メニュー( )]から【 パレットの管理 】を選択し、【 ノードを追加 】タブの検 索窓から【 node-red-dashboard 】でヒットしたノードを追加します。確認に対しては 【 追加 】を選択します。 87

Slide 88

Slide 88 text

Node-RED フローサンプルの紹介  Githubの該当するサンプルフローページで【 Raw 】をクリックし、キーボードで【 Ctrl + A 】ですべてを選択して、【 Ctrl +C 】でコピーします。 88 https://github.com/sakuraio/handson-sample/blob/master/node-red/basic-graph-and-control-with-tweet.json キーボードで【 Ctrl + A 】ですべてを選択 →【 Ctrl +C 】でコピーします

Slide 89

Slide 89 text

Node-RED フローサンプルの紹介  サンプルのフローをシート上に展開します。Node-RED右上の[ メニュー( )]から [ 読み込み ]→【 クリップボード 】を選択し、下記URLの内容をペーストのうえ、【 読 み込み 】 をクリックすると、記載されたJSONの内容に基づき、シートに新たにフローが作成 されます。 89 コピーしたJSONをペースト https://github.com/sakuraio/handson-sample/blob/master/node-red/basic-graph-and-control-with-tweet.json

Slide 90

Slide 90 text

ダブルクリック Node-RED フローサンプルの紹介  タブが作成されたら、以下の手順で先程設定した[ フロー1 ]を【 無効 】にします。 90 クリック 無効になっているのを 確認し【 完了 】をクリック マークが付いて いる事を確認

Slide 91

Slide 91 text

 用意されたフローはほぼ構成は済んでいます。  websocket inノード(sakuraio_in)を再度設定することで動作します。 Node-RED フローサンプルの紹介 91 文字列として受け取った JSONデータの変換 モジュールからのデータのみを通過 (type == channels) ../ui/ にグラフとして可視化 ../ui/ でグラフとして可視化 sakura.ioのWebSocket から情報を取得 温度(ch0)データだけを抽出 湿度(ch1)データだけを抽出

Slide 92

Slide 92 text

Node-RED フローサンプルの紹介(GUI表示 - WebSocket設定)  作成されたWebSocket inノードをダブルクリックし、設定画面に移ります。先程の手順と 同様、種類は【 接続 】、名前は【 任意の名称 】を入力します。  URLは過去設定したものがある場合、ドロップダウンで指定できます。設定したら【 完了 】 をクリックします。  最後に【 デプロイ 】をクリックすると設定した内容に従ってフローが動作するようになります。 92 先ほど設定したものを選択します

Slide 93

Slide 93 text

Node-RED フローサンプルの紹介(GUI表示)  デプロイが成功したら、上記URLにアクセスするか[ dashboard ]タブの【 】をクリック すると、取得した情報に応じてリアルタイムに変化するグラフやゲージを確認できます。  [ dashboard ]の【 Layout 】や【 Theme 】から、UIを変更できます。 93 http://<サーバのIPアドレス>:<指定したWeb UIポート番号>/ui/

Slide 94

Slide 94 text

オプション:SNS投稿 ダッシュボード表示 今回のハンズオンの流れ 94 ② マイコンおよび プログラムの構築 マイコン (Arduino Uno) 温湿度センサ (SHT31/HDC1000) sakura.io モジュール ③ 各種LED ハンズオン キット WebSocket 連携 サービス モジュール sakura.ioの設定 プロジェクト ① 前編 後編:全ての設定が完了後 Webサービス連携 (さくらのクラウド) 仮想サーバ ボタンでのデバイス制御

Slide 95

Slide 95 text

ダッシュボード表示 今回のハンズオンの流れ 95 マイコン (Arduino Uno) 温湿度センサ (SHT31/HDC1000) sakura.io モジュール 各種LED ハンズオン キット WebSocket 連携 サービス モジュール ボタンでのデバイス制御 プロジェクト 前編 後編:全ての設定が完了後 仮想サーバ オプション:SNS投稿  現時点の設定ではボタンでのデバイス制御は正しく動作しません。これは制御対象となる モジュールIDと、クラウドの受け口となるWebSocketのURLを指定できていないためです。  そのため、最後にNode-REDにて、上記2つのパラメータを指定します。 一定間隔で温度と湿度 カウント値データを送信 WebSocketにより、 リアルタイムで連携 モジュールIDとWebSocketURLが 指定されていないため動作しない 受信したJSONデータを ダッシュボードに反映 フロー内でモジュールIDと WebSocketURLを指定する

Slide 96

Slide 96 text

Node-RED フローサンプルの紹介(デバイス制御 – モジュールIDの指定)  まず、対象となるデバイスを特定するモジュールIDを指定します。  このフローはデプロイされた時に1回だけ動作し、用途に応じた制御用JSONデータを 8個作成、それらを変数にセットします。 96 JSONデータに埋め込む モジュールIDを定義 デプロイ時に自動実行 制御用JSONデータ生成 (変数context.global.xxxにセット)

Slide 97

Slide 97 text

Node-RED フローサンプルの紹介(デバイス制御 – モジュールIDの指定)  作成されたfunctionノード(moduleID_set)をダブルクリックし、設定画面に移ります。  コード2行目の【 %%moduleID%% 】をsakura.ioのコントロールパネルで確認でき るモジュールID(uから始まる12桁の文字列)に変更し、【 完了 】をクリックします。 97

Slide 98

Slide 98 text

Node-RED フローサンプルの紹介(デバイス制御 – モジュールIDの指定)  【 %%moduleID%% 】 から差し替える値は、先程sakura.ioのコントロールパネルで プロジェクトに表示されていたuから始まる12桁の文字列です。 98

Slide 99

Slide 99 text

Node-RED フローサンプルの紹介(デバイス制御 – WebSocketURLの指定)  最後にsakura.io側のエンドポイントとなるWebSocketのURLを指定します。  ダッシュボード画面でボタンが押下されると、制御用JSONデータを呼び出し、 指定したWebSocketに送信します。 99 指定したWebSocketの URLにJSONデータを送信 ../ui/ でボタンとして表示 クリックされると制御用JSONデータを送出

Slide 100

Slide 100 text

Node-RED フローサンプルの紹介(デバイス制御 – WebSocketURLの指定)  作成されたWebSocket out(sakuraio_out)ノードをダブルクリックし、設定画面に 移ります。先程の手順と同様、種類は【 接続 】、名前は【 任意の名称 】を入力します。  URLは過去設定したものがある場合、ドロップダウンで指定できます。  全て設定したら【 完了 】をクリックします。 100

Slide 101

Slide 101 text

ダッシュボード表示 動作確認 101 マイコン (Arduino Uno) 温湿度センサ (SHT31/HDC1000) sakura.io モジュール 各種LED ハンズオン キット WebSocket 連携 サービス モジュール ボタンでのデバイス制御 プロジェクト 前編 後編:全ての設定が完了後 仮想サーバ オプション:SNS投稿  以上で設定は完了です。温度センサを指で押さえ、一定間隔でグラフが変化(設定して いればツイートも)すること、ボタン操作により生成されたJSONデータにより、LEDが制御 されるまでを確認しましょう。 一定間隔で温度と湿度 カウント値データを送信 WebSocketにより、 リアルタイムで連携 moduleで指定された モジュールにデータを送信 ボタン操作で指定した内容 に基づきJSONデータ送信 受信したJSONデータを ダッシュボードに反映 JSONは電気信号に変換され 定義したLEDの操作を実行

Slide 102

Slide 102 text

ダッシュボード表示 今回のハンズオンの流れ 102 ② マイコンおよび プログラムの構築 マイコン (Arduino Uno) 温湿度センサ (SHT31/HDC1000) sakura.io モジュール ③ 各種LED ハンズオン キット WebSocket 連携 サービス モジュール sakura.ioの設定 ボタンでのデバイス制御 プロジェクト ① 前編 後編:全ての設定が完了後 Webサービス連携 (さくらのクラウド) 仮想サーバ オプション:SNS投稿

Slide 103

Slide 103 text

【参考】Node-RED フローサンプルの紹介(Twitter連携設定)  Tweetノードを設定のうえデプロイすると、[ メッセージ化 ]ノードに記載された文章中に その時取得した温度センサの情報が埋め込まれた状態で該当Twitterアカウントにメッ セージが投稿されます。[ メッセージ化 ]ノードの内容を書き換えることで任意の文章に 変更することができます。 こちらを省略する場合はTweetノードをクリックし、Deleteを押して削除してください。 103 Node-REDデバッグタブでの表示 twitter投稿内容

Slide 104

Slide 104 text

【参考】Node-RED フローサンプルの紹介(Twitter連携設定)  Twitter連携にあたっては、Twitter側で連携設定が必要となります。  連携用に作成されたアプリケーションのキーやトークンといった値をTwitterノードに設定する ことでデータを使った連携を行うことができます。 104 指定アカウントに対して 文章を投稿 1時間に1回だけ 以降のフローを実行する 温度情報を文章中に組み込み Ch0(temp)_parse ノードと接続

Slide 105

Slide 105 text

【参考】Node-RED フローサンプルの紹介(Twitter連携設定)  まず、【 triggerノード 】を【 Ch0(temp)_parse 】ノードをドラッグアンドドロップで 接続します。 105

Slide 106

Slide 106 text

【参考】Node-RED フローサンプルの紹介(Twitter連携設定)  Tweetノードをダブルクリックし、[ Twitter ID ]行の【 】マークをクリックし、案内さ れるTwitterアカウント認証画面に進みます。 106

Slide 107

Slide 107 text

【参考】Node-RED フローサンプルの紹介(Twitter連携設定)  [ 新規に twitter-credentials ノードの設定を追加 ]が開きます。  1.の文中のリンク 【 apps.twitter.com 】をクリックします。 107 https://apps.twitter.com/

Slide 108

Slide 108 text

【参考】Node-RED フローサンプルの紹介(Twitter連携設定)  Twitter Apps画面はログイン状況の有無で画面遷移が異なります。  まだログインしていない場合は連携先となるTwitterアカウントにログインし、その後 【 Create New App 】をクリックします。 108

Slide 109

Slide 109 text

【参考】Node-RED フローサンプルの紹介(Twitter連携設定)  Create an application画面は必要な情報を入力します。  下記項目に入力およびチェックのうえ、【 Create your Twitter application 】をク リックします。 109 Name:任意の名称を入力 Description:任意の説明を入力 Website: 【 http://example.jp/ 】を入力 Developer Agreement: 内容を確認のうえ、チェック

Slide 110

Slide 110 text

【参考】Node-RED フローサンプルの紹介(Twitter連携設定)  Twitter Apps上にNode-RED連携のアプリケーションが作成されました。  Node-RED連携はAPI Key/API Secret以外にAccess Tokenも必要であるため、 【 Keys and Access Tokens 】>【 Create my access token 】をクリックします。 110

Slide 111

Slide 111 text

【参考】Node-RED フローサンプルの紹介(Twitter連携設定)  Access TokenおよびAccess Token Secretが作成されました。  Node-REDの画面に戻り、自身のTwitterアカウントのIDに加え、生成された4つの項目を すべて入力し、【 追加 】をクリックします。 111 Twitter ID:自身のID

Slide 112

Slide 112 text

【参考】Node-RED フローサンプルの紹介(Twitter連携設定)  以上で設定は完了しました。【 デプロイ 】をクリックするとデータがフローで処理され、 triggerノードが起動したことを示す■マークが表示されます。  その後、Twitterの画面で投稿が行われたかを確認します。 投稿内容はメッセージノードを編集することでカスタマイズできます。 112

Slide 113

Slide 113 text

113 参考 DataStore API

Slide 114

Slide 114 text

【参考】連携サービスの設定(DataStore API) sakura.ioは、蓄積データを活用するために 【 DataStore API 】 を提供しています。  追加サービスの選択画面で 【 DataStore API 】 をクリックします。 114

Slide 115

Slide 115 text

【参考】連携サービスの設定(DataStore API)  [ 名前 ]は任意の名称を入力し、[ 作成 ]をクリックします。 115

Slide 116

Slide 116 text

【参考】連携サービスの設定(DataStore API)  作成した連携サービスをクリックすると【 Token 】を確認することができます。  Tokenをコピーし、コンパネ右上の[ DataStore v1 Document ]をクリックします。 116

Slide 117

Slide 117 text

【参考】連携サービスの設定(DataStore API) /channels の取得  [ /channels ]は蓄積されたデータをチャンネル単位で取得します。単体のデータを複数の形式(入力時の形式 [ value ]、数値[ value_num ]、文字列[ value_str ])で格納しているため、単体でも価値のある データが活用しやすい形式となっています。  [ /channels ]は該当UR( https://api.sakura.io/datastore/v1/docs/ )にて、前述の【 Token 】 情報、および以下のパラメータを指定することで任意の情報を取得できます。 117 【module】:モジュールのモジュールID 【size】:一度に取得するデータの数 【order】:昇順(ASC)と降順(DESC)指定 【cursor】:※後述※ 【after/before】:指定日時の以前と以後指定 【channel】:取得するチャンネル指定

Slide 118

Slide 118 text

【参考】連携サービスの設定(DataStore API) /channels の取得  指定された条件を元に【 Try it out! 】をクリックすると、[ Response Body ]欄に 条件に応じたデータを返します。またクリック後に返される[ Request URL ]から同様の データを取得できます。 118 { "meta": { “count”: <取得した件数>, “cursor”: “”, “match”: <ヒットした件数> }, "results": [ { “channel”: <データが格納されているチャンネル>, “datetime”: “<データがモジュールのキューに格納された時間>”, “id”: “<送信されたデータのID>", “module”: “<データが送信されたモジュールのID>", “type”: “<送信されたデータの型式>", “value”: , “value_num”: , “value_str”: “" }, { "channel": … #以下[channel]単位のデータがcount数分列挙

Slide 119

Slide 119 text

【参考】連携サービスの設定(DataStore API) /messages の取得  [ /messages ]は蓄積されたデータをRM単位で取得します。RMに含まれる複数チャンネルのデータの関係性が 重要な場合に活用しやすい形式です。(鍵の「解錠者ID」と「入退室フラグ」等)  また、[ /messages ]にはモジュールの接続および切断の情報も含まれています。  [ /messages ]は該当URL( https://api.sakura.io/datastore/v1/docs/ )にて以下のパラメータを 指定することで任意の情報を取得できます。 119 【type】:取得するRMのtype指定 【module】:モジュールのモジュールID 【size】:一度に取得するデータの数 【order】:昇順(ASC)と降順(DESC)指定 【cursor】:※後述※ 【after/before】:指定日時の以前と以後指定

Slide 120

Slide 120 text

【参考】連携サービスの設定(DataStore API) /messages の取得  指定された条件を元に【 Try it out! 】をクリックすると、[ Response Body ]欄に条件に応じ たデータを返します。またクリック後に返される[ Request URL ]から同様のデータを取得できます。 120 { "meta": { "count": <取得した件数>, "cursor": “”, "match": <ヒットした件数> }, "results": [ { “datetime”: “<対象のRMをプラットフォーム側で受信した時間>”, "id": “<格納されたRMのID>", "module": “<データが送信されたモジュールのID>", "payload": { "channels": [ { "channel": <データが格納されているチャンネル>, "type": “<送信されたデータの型式>", "value": } ] }, "type": "channels" }, { “datetime”: … #以下[message]単位のデータ

Slide 121

Slide 121 text

121 参考 サンプルスケッチ

Slide 122

Slide 122 text

【参考】AlphaCompat.ino 122 さくらのIoT Platform α にて提供していたスケッチ(SakuraAlpha_I2C.ino)を置き換えた プログラムです。一定間隔でカウント値を0,1,2のチャンネルに書き込み、送信します。

Slide 123

Slide 123 text

【参考】Shell.ino 123 シリアルモニタからのコマンド操作を提供します。改行を[CRのみ]とした後、 提供されているコマンドを手入力で確認することができます。

Slide 124

Slide 124 text

【参考】Shell.ino 124 構文 【version】現在のファームウェアバージョンを表示する 出力結果 version >version v1.0.0-161109-c566dba 備考

Slide 125

Slide 125 text

【参考】Shell.ino 125 構文 【serial】モジュールのシリアル番号を表示する 出力結果 serial >serial 16A0100134 備考

Slide 126

Slide 126 text

【参考】Shell.ino 126 構文 【status】モジュールの通信状態を確認する 出力結果 status >status Online Last Error Code: 0 備考

Slide 127

Slide 127 text

【参考】Shell.ino 127 構文 【sqi】モジュールの電波強度を確認する 出力結果 sqi >sqi 5 備考 電波強度は5を最大として強度に伴い数値が下がり、0は圏外であることを示します。

Slide 128

Slide 128 text

【参考】Shell.ino 128 構文 【unixtime】UTC形式の現在時刻を表示する 出力結果 unixtime >unixtime 1480497574 備考

Slide 129

Slide 129 text

【参考】Shell.ino 129 構文 【update】ファームウェアのアップデートを実行する 出力結果 update >update Current Version: v1.0.0-161109-c566dba Unlock Starting update Waiting for update . 備考

Slide 130

Slide 130 text

【参考】Shell.ino 130 構文 【reset】モジュールのソフトウェアリセットを実行する 出力結果 reset >reset > 備考 シリアルモニタに実行結果は表示されません。 ソフトウェアリセットを実行するとモジュールが再起動を行います。 モデムの起動、および通信確立までにおおよそ1分程度を要します。

Slide 131

Slide 131 text

【参考】Shell.ino 131 構文 【enqueue】送信キューにデータを格納する 出力結果 enqueue >enqueue 0 i 123 > 備考 シリアルモニタに実行結果は表示されません。 enqueueコマンドを実行すると登録したデータは送信キューに貯められます。 送信キューは最大で32個まで蓄積され、超過したキューは貯められず破棄されます。

Slide 132

Slide 132 text

【参考】Shell.ino 132 構文 【send】送信キューに貯められたデータを送信する 出力結果 send >send > 備考 シリアルモニタに実行結果は表示されません。 sendコマンドを実行すると、貯められたデータは16個分を1つのメッセージとして送信します。 キューが17個以上存在する場合、2つ目のメッセージも送信され、キューから削除されます。

Slide 133

Slide 133 text

【参考】Shell.ino 133 構文 【size】送信/受信キューに貯められたデータ数を確認する 出力結果 size >size Tx Queue Avail: 32 Queued: 0 Rx Queue Avail: 32 Queued: 0 備考 Tx Queue は送信キュー、Rx Queue は受信キューを表します。 Availは利用可能数、Queuedは貯められているキューの数を表します。

Slide 134

Slide 134 text

【参考】Shell.ino 134 構文 【cleartx】送信キューに貯められたデータをすべて消去する 出力結果 cleartx >cleartx > 備考 シリアルモニタに実行結果は表示されません。 送信キューに貯められたデータの一部だけを削除することはできません。

Slide 135

Slide 135 text

【参考】Shell.ino 135 構文 【clearrx】受信キューに貯められたデータをすべて消去する 出力結果 clearrx >clearrx > 備考 シリアルモニタに実行結果は表示されません。 受信キューに貯められたデータの一部だけを削除することはできません。

Slide 136

Slide 136 text

【参考】Shell.ino 136 構文 【dequeue】受信キューに貯められたデータをすべて受信する 出力結果 dequeue >dequeue empty 備考 受信キューに貯められたデータの一部だけを受信することはできません。 受信可能なデータが存在しない場合はemptyを返します。 受信されたデータはキューから自動的に削除されます。

Slide 137

Slide 137 text

【参考】Shell.ino 137 構文 【peek】受信キューに貯められたデータを閲覧する 出力結果 peek >peek empty 備考 受信キューに貯められたデータの一部だけを受信することはできません。 受信可能なデータが存在しない場合はemptyを返します。 閲覧したデータは削除されずキューに残されます。

Slide 138

Slide 138 text

【参考】Standard.ino 138 保持している情報をすべて書き出すプログラムです。シリアルモニタに以下の情報を出力しながら カウント値を0チャンネルに書き込み、キューが一定量貯まると送信します。

Slide 139

Slide 139 text

139 最後に

Slide 140

Slide 140 text

最後に ~sakura.io~  ハンズオンに使用したsakura.ioモジュールは必要に応じて登録を解除します。  プロジェクトの【 詳細 】から、プロジェクト詳細画面で対象のモジュールの【 】を クリックします。 140

Slide 141

Slide 141 text

最後に ~sakura.io~  モジュールの設定画面に遷移します。下部の 【 登録解除 】 ボタンをクリックします。 141

Slide 142

Slide 142 text

最後に ~sakura.io~  登録解除実行を確認されます。問題ない場合は再度 【 登録解除 】 をクリックします。 モジュールの削除には数秒かかります。  削除が完了すると、プロジェクトから該当モジュールの表示が消えていることを確認できます。 142

Slide 143

Slide 143 text

最後に ~sakura.io~  次は連携サービスとともにプロジェクトを削除します。  プロジェクトの【 詳細 】から、プロジェクト詳細画面で【 削除 】をクリックします。 143

Slide 144

Slide 144 text

最後に ~sakura.io~  削除実行を確認されます。問題ない場合は再度 【 削除 】 をクリックします。  削除が完了すると、コントロールパネル上から該当プロジェクトの表示が消えていることを確 認できます。 144

Slide 145

Slide 145 text

最後に ~さくらのクラウド~  グローバルIPアドレスを持つサーバは攻撃対象になるため、該当サーバを停止・削除します。  サーバがまだ起動している場合、さくらのクラウドで対象サーバのチェックを入れ、[ 電源操 作 ]から 【 シャットダウン 】 をクリックします。 145

Slide 146

Slide 146 text

最後に ~さくらのクラウド~  シャットダウン対象を確認のうえ 【 シャットダウン 】 をクリックします。  再度ダイアログにて確認が表示されますので 【 実行 】 をクリックします。 146

Slide 147

Slide 147 text

最後に ~さくらのクラウド~  シャットダウンが正常に実行されると、チェックボックス横のラインが「緑→赤→灰」と遷移します。  ラインが灰色に変化したら再度対象となるサーバにチェックを入れ、 【 削除 】 をクリックします。 147

Slide 148

Slide 148 text

最後に ~さくらのクラウド~  今回は[ 接続されたディスク ]も削除しますのでチェックを入れ、【 削除 】をクリックします。  ダイアログが表示されますので【 実行 】をクリックします。 148

Slide 149

Slide 149 text

最後に ~さくらのクラウド~  削除の工程が表示されます。全てのステータスが成功となれば削除は完了です。 149

Slide 150

Slide 150 text

最後に 150 以上でハンズオンにおける作業は全て終了となります。 お疲れ様でした!

Slide 151

Slide 151 text

最後に 151 さくらインターネットでは、「さくらクラブ」としてハンズオン等の イベントをともに開催いただける仲間(部員)を募集しています。 (テーマはIoTに限らずクラウドやVPS、スタートアップ系ネタもOK!) ご興味があれば、Come and join us & Feel free to contact me! 連絡先 : [email protected] さくらクラブ : http://www.slideshare.net/MasayaHayashi/lt20151224

Slide 152

Slide 152 text

152 そこに、さくら