Upgrade to Pro — share decks privately, control downloads, hide ads and more …

sakura.io 体験ハンズオン(入門編 Part1)/sakuraio handson part1

sakura.io 体験ハンズオン(入門編 Part1)/sakuraio handson part1

各地で開催されているさくらインターネットが提供するIoTプラットフォーム「sakura.io」のハンズオンでの資料となります。

本資料ではIoTデバイスのプロトタイピングを想定し「Arduino+sakura.ioモジュールを用いたマイコンおよびプログラムの構築」から「Node-REDを用いたWebサービス連携」までの手順をスライドでご覧いただけます。

サービス詳細は以下をご確認ください。
https://sakura.io/

Transcript

  1. sakura.io体験ハンズオン https://sakura.io 2018/7/17 (C) Copyright 1996-2018 SAKURA Internet Inc. さくらインターネット株式会社

    IoTチーム 西田 有騎 だれもが、データを活かせる世の中へ。 さ く ら ア イ オ ー
  2. 2 はじめに

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

    ハンズオン資料 http://bit.ly/sakuraio-handson-part1-01
  4. ハンズオンを円滑に進めるために 4 ココ!!

  5. 本ハンズオンの目的とお願い  本ハンズオンは sakura.io を使用し、組込み、Web/アプリ開発、それぞれのスキルセッ トを大きく超えることなく、Internet of Things(IoT) に携わることができることをご体験 いただくものです。

     そのため、組み込み系またはWeb/アプリ系のどちらか、または両方わからないという方に もご参加いただくことができます。  今回は1人に1つのキットをご用意しています。もしもご自身の知識分野で、近くの方の フォローができそうだなと思われましたら、積極的にサポートしあって進めていただければと 思います。 5
  6. 本ハンズオンで使用するツール・機材・参考情報まとめ ▪本編▪ ・さくらインターネット会員登録 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
  7. Webサービス連携 (さくらのクラウド) 仮想サーバ ① 今回のハンズオンの流れ 7 ② マイコンおよび プログラムの構築 マイコン

    (Arduino Uno) 温湿度センサ (SHT31/HDC1000) sakura.io モジュール ③ 各種LED 前編 後編:全ての設定が完了後 ハンズオン キット WebSocket 連携 サービス モジュール sakura.ioの設定 ダッシュボード表示 ボタンでのデバイス制御 プロジェクト オプション:SNS投稿
  8. アジェンダ 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
  9. 9 Webサービス連携 (さくらのクラウド前編)

  10. 今回のハンズオンの流れ 10 ② マイコンおよび プログラムの構築 マイコン (Arduino Uno) 温湿度センサ (SHT31/HDC1000)

    sakura.io モジュール ③ 各種LED 後編:全ての設定が完了後 ハンズオン キット WebSocket 連携 サービス モジュール sakura.ioの設定 ダッシュボード表示 ボタンでのデバイス制御 プロジェクト オプション:SNS投稿 Webサービス連携 (さくらのクラウド) 仮想サーバ ① 前編
  11. さくらインターネット 会員ID作成  会員IDをお持ちでない場合はご契約の サービスがない場合でも、さくらインター ネット会員登録から作成いただけます  会員登録が完了すると、指定したメール アドレスに support@sakura.ad.jp

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

    ログイン 】をクリックします。 12 https://secure.sakura.ad.jp/cloud/
  13. さくらのクラウド コントロールパネル ログイン  さくらインターネット会員としてログイ ンするとアカウントの選択を求めら れるため、割り当てられたアカウント を選択します。 ハンズオンでは参加者の皆さんに個別の アカウントを割り当てます。

    注:実運用の際にアカウントを作成をされていない場合には、 左メニュー[ アカウント ]タブからアカウントとユーザを作成す る必要があります。 13
  14. Node-REDサーバの作成  左側のペインのサーバを選択し、右上の【 追加 】ボタンをクリックします。 ※サーバ追加の案内が出る場合があります。 14

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

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

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

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

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

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

    任意のログインIDを入力 任意のパスワードを入力 【 [public] Node-RED 】を選択 【 shell 】を選択 メモ情報あり
  21. Node-REDサーバの作成  [ 5.シンプル監視 ]はさくらのクラウドで提供する死活監視のサービスとなります。  今回はすべてデフォルトの値を使用しますので変更は不要です。 21

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

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

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

    24
  25. Node-REDサーバの作成  サーバ作成のステータスが成功に遷移した時点でサーバのIPアドレスを確認できます。  コントロールパネル左側ペインの【 サーバ 】をクリックすると作成済みサーバの一覧が表示さ れますので、最右部【 ▼ 】をクリックするか、該当サーバの行を右クリックし、【

    IPアドレス をコピー 】をクリックすることで、該当サーバのIPアドレスをコピーすることができます。 Node-REDサーバのIPアドレスは後ほど使います。作成が完了したらメモしてください。 25 ***.*** メモ情報あり
  26. 【参考】スタートアップスクリプト進捗状況の確認  コントロールパネル上でサーバの起動状況は確認できますが、スタートアップスクリプトによる 処理が完了したかまでは確認できないため、必要に応じてコンソールを用いて確認します。  該当のサーバをダブルクリックし、[ コンソール ]を選択するとOSの起動処理の実行画面 が確認できます。 

    スタートアップスクリプトの処理が完了すると、起動画面からログインプロンプトに遷移します。 26
  27. 27 sakura.ioの設定

  28. 今回のハンズオンの流れ 28 ② マイコンおよび プログラムの構築 マイコン (Arduino Uno) 温湿度センサ (SHT31/HDC1000)

    sakura.io モジュール ③ 各種LED 後編:全ての設定が完了後 ハンズオン キット WebSocket 連携 サービス モジュール sakura.ioの設定 ダッシュボード表示 ボタンでのデバイス制御 プロジェクト オプション:SNS投稿 Webサービス連携 (さくらのクラウド) 仮想サーバ ① 前編
  29. sakura.ioコントロールパネルにおける考え方 29 プロジェクトC プロジェクトB プロジェクト モジュール3 ☑ データストアプラン 有償版/無償版 ☑

    簡易位置情報提供 利用する/しない ☑ ファイル配信 ファイル1、ファイル2... 連携サービス3 モジュール / 連携サービス プロジェクトに対して複数登録可能 オプションサービス プロジェクトに対して1つ/1セット設定可能 モジュール2 連携サービス2 モジュール1 uAAAAAAAAAA 連携サービス1 WebSocket  sakura.ioは【 プロジェクト 】という単位で管理します。  プロジェクトには【 モジュール 】【 連携サービス 】を複数紐付けることができます。  各種【 オプションサービス 】はプロジェクトに対して1つもしくは1セット設定できます。
  30. sakura.io コントロールパネル ログイン  sakura.ioコントロールパネルにログインします。上記URLに直接アクセスするか、サービス サイト( https://sakura.io/ )にアクセスし、右上の【 ログイン 】をクリックします。

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

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

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

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

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

    35
  36. モジュールの登録  プロジェクトが作成されました。次にモジュールの登録を行います。  プロジェクトの【 詳細 】から、プロジェクト詳細画面で【 モジュール登録 】をクリックします。 

    登録されているモジュールがない場合は案内文中のリンクからも登録画面に遷移できます。 36
  37. sakura.io モジュールの取り出し  sakura.io モジュール【だけ】を箱から取り出します 37 sakura.ioモジュール(アンテナ付) +Arduino用シールド&Arduino Uno Rev3

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

    白ラベル表記
  39. モジュール登録  モジュールの追加に成功すると[ モジュールを追加しました ]ダイアログが表示されます。  [ ホームへ戻る ]ボタンをクリックしてホームに戻ります。 ID/PASSが正しくない、もしくは既に登録されているモジュールを追加しようとした場合は

    内容とともに[ モジュールの追加に失敗しました ]というダイアログが表示されます。 39 登録が成功した場合 登録が失敗した場合 登録用ID / 登録用パスワードのいずれかに誤りがあります、再度ご確認ください 別の会員IDで登録されています、過去登録した会員IDでログインし解除ください
  40. 連携サービスの設定  モジュールを登録しました。表示されているモジュールIDは一意のものであり、届いたデータ の送信元判別や、デバイスへのデータ送信の際に使用します。 この点線で囲まれたモジュールIDは後ほど使用しますのでメモしてください。 40 メモ情報あり

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

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

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

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

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

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

  47. 今回のハンズオンの流れ 47 ② マイコンおよび プログラムの構築 マイコン (Arduino Uno) 温湿度センサ (SHT31/HDC1000)

    sakura.io モジュール ③ 各種LED 後編:全ての設定が完了後 ハンズオン キット WebSocket 連携 サービス モジュール sakura.ioの設定 ダッシュボード表示 ボタンでのデバイス制御 プロジェクト オプション:SNS投稿 Webサービス連携 (さくらのクラウド) 仮想サーバ ① 前編
  48. 今回のワークショップでご提供するもの 48 ジャンパーコード sakura.ioモジュール(アンテナ付) +Arduino用シールド&Arduino Uno Rev3 USB2.0 ケーブル(A-B) 12W級

    9V-1.3A ACアダプタ ブレッドボード 人感センサ (SB412A) 照度センサ (GL5537-2) 温湿度センサ (HDC1000 or SHT31) 各種抵抗 ※必要に応じてご提供 タクトスイッチ ※必要に応じてご提供 抵抗入りLED ※必要に応じてご提供 本日は使用しません
  49. 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
  50. Arduino IDEのセットアップ  該当の金額を選択するか(寄付する場合)、【 JUST DOWNLOAD 】からダウンロード します。 50

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

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

    52 コンセントへ パソコンへ (USB Type-A)
  53. Arduino IDEのセットアップ  上部メニューバーからボードと、シリアルポートを設定します。 ボード:[ ツール ]→[ ボード:”XXX” ]から【 Arduino/Genuino

    Uno 】を選択 シリアルポート:[ ツール ]→[ シリアルポート ]から【 COMx (Arduino/Genuino Uno) 】を選択 Mac環境の場合はCOMポートではなく、【 /dev/… (Arduino/Genuino Uno) 】を選択  うまく認識しない場合は、USBを挿し直し、Arduino IDEを再起動を試してください。 53 ボードの選択 シリアルポートの選択
  54. マイコン(Arduino)の準備  [ ファイル ]→[ スケッチ例 ]→[ 01.Basics ]→[ Blink

    ]を選択し、Blink スケッチを表示します。  【 】をクリックしてスケッチを書き込み、該当のLEDが点滅状態になることを確認します。 何らかの問題があった場合、スケッチ下部にオレンジ色のエラーが表示されます。 54
  55. ライブラリの取得(SakuraIO)  [ スケッチ ]→[ ライブラリをインクルード ]→[ ライブラリを管理... ]をクリックし、 右上検索窓から【

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

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

    SHT31 】を検索すると、[ Adafruit SHT31 Library ]がヒットします。  【 インストール 】をクリックすると該当ライブラリが取り込まれ、[ INSTALLED ]が表示 されます。 57 ※本作業はセンサにSHT31を利用している場合のみ実施します。
  58. FirmwareUpdate.ino  [ ファイル ]→[ スケッチ例 ]→[ SakuraIO ]→[ FirmwareUpdate

    ]を 選択し、【 】クリックでスケッチを書き込みます。[ ツール ]→[ シリアルモニタ ]もし くは【 】クリックでアップデート状況を確認します。  現在のVersion情報と比較し、新しいファームウェアが提供されている場合はアップデートを 実行します。 58 ※PCからの給電が不安定/不足している場合は [ Update Failure ] と表示され、アップデートに 失敗する場合があります。その場合、電源アダプタを接続し、再度スケッチを書き込みます。 新しいファームウェアが存在する場合 最新のファームウェアが適用されている場合
  59. sakura.ioモジュールの取り外し  マイコンとセンサー間を配線するため、Arduino Unoから、ACアダプタと、USBケーブルを 取り外します。 59 コンセントへ パソコンへ (USB Type-A)

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

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

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

    陰極(カソード) GND端子に接続
  63. 温湿度センサ(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を利用している場合のみ実施します。
  64. sakura.ioモジュールの取り付け  配線が終わったら、ACアダプタとUSBケーブルを再度接続します。  Arduino IDEを起動し、Arduino UnoにACアダプタとUSBケーブルを図のように接続し ます。 64 コンセントへ

    パソコンへ (USB Type-A)
  65. 試験用プログラムの流し込み(温湿度センサ-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 】でコピーします
  66. 試験用プログラムの流し込み(温湿度センサ-HDC1000利用の場合)  [ ファイル ]→[ 新規ファイル ]で新しいスケッチを表示し、以下URLの内容をスケッ チにコピー&ペーストします。 【 】をクリックし、[

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

    ツール ]→[ シリアルモニタ ]もしく は【 】クリックでシリアル値、Temp、Humi情報に加え、シリアル値と送信キュー情報が 取得できるのを確認します。 68 ※問題があった場合、オレンジ色のエラーが表示されます。 ※本作業はセンサにSHT31を利用している場合のみ実施します。 https://github.com/sakuraio/handson-sample/blob/master/arduino/basic-SHT31-with-LED.ino
  69. 【参考】デバイスから送信されたデータの確認  sakura.ioでは連携サービスの一つであるWebSocketで、デバイスから送信された データを受信できているかを確認できます。  プロジェクトの詳細から作成したWebSocketの【 】をクリックします。 69

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

    データが格納された チャンネル番号 時刻: データがモジュールのキューに 格納された時刻のタイムスタンプ 値: 送信された値 型: データの型式
  71. 【参考】デバイスから送信されたデータの確認  [ 詳細表示モードに切り替え ]をクリックすると詳細表示モードに遷移します。  モジュールは同一ですが、データの内容によりタイプやペイロードが異なります。 71 チャンネルごとの最終到着データ: 各チャンネルに届いた最終の

    Valueを表示 クリックでログ出力を 開始/停止 タイプ: プラットフォームからの内容に応じて、 いくつかの種類に分かれる ・channels :モジュールからのデータ ・connection :接続の開始/終了 ・location :簡易位置情報 ・keepalive :WebSocketセッション確認 ペイロード: 受け取ったデータのpayload部 が表示 時刻: 詳細表示モードではプラットフォーム で該当のメッセージを受け取ったタイ ムスタンプ
  72. 72 Webサービス連携 (さくらのクラウド後編)

  73. 今回のハンズオンの流れ 73 ② マイコンおよび プログラムの構築 マイコン (Arduino Uno) 温湿度センサ (SHT31/HDC1000)

    sakura.io モジュール ③ 各種LED ハンズオン キット WebSocket 連携 サービス モジュール sakura.ioの設定 ボタンでのデバイス制御 プロジェクト オプション:SNS投稿 ① 前編 後編:全ての設定が完了後 ダッシュボード表示 Webサービス連携 (さくらのクラウド) 仮想サーバ
  74. http://<サーバのIPアドレス>:<指定したWeb UIポート番号>/ Node-RED サーバへのログイン  Webブラウザで上記URLにアクセスします。  サーバ作成時にオプションの[ Node-REDのWebUIポート]に【 80

    】を指定した場合 はポート番号を省略できます。なおサーバを示す行を右クリックもしくは行最右部にある 【 ▼ 】 をクリックすることで簡単にIPアドレスをコピーすることができます。 74
  75. Node-RED サーバへのログイン  アクセスに成功すると、認証画面が表示されます。[ Username ]と[ Password ] 欄それぞれに、サーバを作成した際に指定した【 Node-REDのログインID

    】と【 Node- REDのログインパスワード 】を入力し、【 ログイン 】をクリックします。 75 自分の名前等 パスワード
  76. Node-RED サーバへのログイン  ログインが成功すると以下の画面が表示されます。 76

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

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

  79. Node-RED WebSocketノードの作成  ドラッグ&ドロップされたwebsocket inノードをダブルクリックし、設定画面に移ります。  種類は【 接続 】、名前は【 sakuraio-websocket

    】(任意の名前)を入力のうえ、 URLは【 新規にwebsocket-clientを追加... 】を選択した状態で、URLの行にある 【 】をクリックします。 79 sakuraio-websocket
  80. Node-RED WebSocketノードの作成  [ URL ]欄には、sakura.ioのコンパネからのWebSocketの[ URL ]欄の情報を ペーストします。 

    [ TLS設定 ]は、デフォルトで選択されている【 新規にtls-configを追加... 】のまま、 [ 送信/受信 ]はデフォルトで定義されている【 ペイロードを送信/受信 】を選択し、 【 追加 】をクリックします。 80
  81. Node-RED WebSocketノードの作成  指定する[ URL ]の値は、コンパネの連携サービスで確認できる赤枠部分です。  赤枠部分の情報をコピーして、websocket inノードのURL部分にペーストします。 

    URLの末尾と、Tokenは同一の文字列となりますので、Token情報は不要です。 81 ************************************** **************************************
  82. Node-RED WebSocketノードの作成  【 完了 】 をクリックするとwebsocket inノードへ設定が反映され、不備がない場合は右隅 の三角マークが消えます。これでwebsocket inノードへの設定が反映されましたが、この時

    点ではsakura.ioからデータは入ってきていません。続いてはデータを表示するためのDebug ノードを作成します。 82 *************
  83. Node-RED Debugノードの作成  次に、ノードパレットの出力から[ debug ]ノードをシートにドラッグ&ドロップします。  Debugノードは自動で[ msg.payload ]に名前が変わります。特に設定は不要です。

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

  85. Node-RED フローのデプロイ  各ノードを接続し、準備が完了したら、右上部の 【 デプロイ 】 をクリックします。  デプロイが完了するとデプロイボタンがグレーアウトされ、設定した内容を元に処理が開始さ

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

  87. Node-RED フローサンプルの紹介  次にサンプルのフローを利用するために、必要なノードをサーバに追加します。Node-RED 右上の[ メニュー( )]から【 パレットの管理 】を選択し、【 ノードを追加

    】タブの検 索窓から【 node-red-dashboard 】でヒットしたノードを追加します。確認に対しては 【 追加 】を選択します。 87
  88. 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 】でコピーします
  89. 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
  90. ダブルクリック Node-RED フローサンプルの紹介  タブが作成されたら、以下の手順で先程設定した[ フロー1 ]を【 無効 】にします。 90

    クリック 無効になっているのを 確認し【 完了 】をクリック マークが付いて いる事を確認
  91.  用意されたフローはほぼ構成は済んでいます。  websocket inノード(sakuraio_in)を再度設定することで動作します。 Node-RED フローサンプルの紹介 91 文字列として受け取った JSONデータの変換

    モジュールからのデータのみを通過 (type == channels) ../ui/ にグラフとして可視化 ../ui/ でグラフとして可視化 sakura.ioのWebSocket から情報を取得 温度(ch0)データだけを抽出 湿度(ch1)データだけを抽出
  92. Node-RED フローサンプルの紹介(GUI表示 - WebSocket設定)  作成されたWebSocket inノードをダブルクリックし、設定画面に移ります。先程の手順と 同様、種類は【 接続 】、名前は【

    任意の名称 】を入力します。  URLは過去設定したものがある場合、ドロップダウンで指定できます。設定したら【 完了 】 をクリックします。  最後に【 デプロイ 】をクリックすると設定した内容に従ってフローが動作するようになります。 92 先ほど設定したものを選択します
  93. Node-RED フローサンプルの紹介(GUI表示)  デプロイが成功したら、上記URLにアクセスするか[ dashboard ]タブの【 】をクリック すると、取得した情報に応じてリアルタイムに変化するグラフやゲージを確認できます。  [

    dashboard ]の【 Layout 】や【 Theme 】から、UIを変更できます。 93 http://<サーバのIPアドレス>:<指定したWeb UIポート番号>/ui/
  94. オプション:SNS投稿 ダッシュボード表示 今回のハンズオンの流れ 94 ② マイコンおよび プログラムの構築 マイコン (Arduino Uno)

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

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

    JSONデータに埋め込む モジュールIDを定義 デプロイ時に自動実行 制御用JSONデータ生成 (変数context.global.xxxにセット)
  97. Node-RED フローサンプルの紹介(デバイス制御 – モジュールIDの指定)  作成されたfunctionノード(moduleID_set)をダブルクリックし、設定画面に移ります。  コード2行目の【 %%moduleID%% 】をsakura.ioのコントロールパネルで確認でき

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

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

    指定したWebSocketの URLにJSONデータを送信 ../ui/ でボタンとして表示 クリックされると制御用JSONデータを送出
  100. Node-RED フローサンプルの紹介(デバイス制御 – WebSocketURLの指定)  作成されたWebSocket out(sakuraio_out)ノードをダブルクリックし、設定画面に 移ります。先程の手順と同様、種類は【 接続 】、名前は【

    任意の名称 】を入力します。  URLは過去設定したものがある場合、ドロップダウンで指定できます。  全て設定したら【 完了 】をクリックします。 100
  101. ダッシュボード表示 動作確認 101 マイコン (Arduino Uno) 温湿度センサ (SHT31/HDC1000) sakura.io モジュール

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

    (SHT31/HDC1000) sakura.io モジュール ③ 各種LED ハンズオン キット WebSocket 連携 サービス モジュール sakura.ioの設定 ボタンでのデバイス制御 プロジェクト ① 前編 後編:全ての設定が完了後 Webサービス連携 (さくらのクラウド) 仮想サーバ オプション:SNS投稿
  103. 【参考】Node-RED フローサンプルの紹介(Twitter連携設定)  Tweetノードを設定のうえデプロイすると、[ メッセージ化 ]ノードに記載された文章中に その時取得した温度センサの情報が埋め込まれた状態で該当Twitterアカウントにメッ セージが投稿されます。[ メッセージ化 ]ノードの内容を書き換えることで任意の文章に

    変更することができます。 こちらを省略する場合はTweetノードをクリックし、Deleteを押して削除してください。 103 Node-REDデバッグタブでの表示 twitter投稿内容
  104. 【参考】Node-RED フローサンプルの紹介(Twitter連携設定)  Twitter連携にあたっては、Twitter側で連携設定が必要となります。  連携用に作成されたアプリケーションのキーやトークンといった値をTwitterノードに設定する ことでデータを使った連携を行うことができます。 104 指定アカウントに対して 文章を投稿

    1時間に1回だけ 以降のフローを実行する 温度情報を文章中に組み込み Ch0(temp)_parse ノードと接続
  105. 【参考】Node-RED フローサンプルの紹介(Twitter連携設定)  まず、【 triggerノード 】を【 Ch0(temp)_parse 】ノードをドラッグアンドドロップで 接続します。 105

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

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

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

    App 】をクリックします。 108
  109. 【参考】Node-RED フローサンプルの紹介(Twitter連携設定)  Create an application画面は必要な情報を入力します。  下記項目に入力およびチェックのうえ、【 Create your

    Twitter application 】をク リックします。 109 Name:任意の名称を入力 Description:任意の説明を入力 Website: 【 http://example.jp/ 】を入力 Developer Agreement: 内容を確認のうえ、チェック
  110. 【参考】Node-RED フローサンプルの紹介(Twitter連携設定)  Twitter Apps上にNode-RED連携のアプリケーションが作成されました。  Node-RED連携はAPI Key/API Secret以外にAccess Tokenも必要であるため、

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

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

    112
  113. 113 参考 DataStore API

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

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

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

    Document ]をクリックします。 116
  117. 【参考】連携サービスの設定(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】:取得するチャンネル指定
  118. 【参考】連携サービスの設定(DataStore API) /channels の取得  指定された条件を元に【 Try it out! 】をクリックすると、[

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

    Response Body ]欄に条件に応じ たデータを返します。またクリック後に返される[ Request URL ]から同様のデータを取得できます。 120 { "meta": { "count": <取得した件数>, "cursor": “<sizeで指定した件数を超えた場合に、次のレスポンスを取得するためのカーソル>”, "match": <ヒットした件数> }, "results": [ { “datetime”: “<対象のRMをプラットフォーム側で受信した時間>”, "id": “<格納されたRMのID>", "module": “<データが送信されたモジュールのID>", "payload": { "channels": [ { "channel": <データが格納されているチャンネル>, "type": “<送信されたデータの型式>", "value": <typeで指定された型式でのデータ> } ] }, "type": "channels" }, { “datetime”: … #以下[message]単位のデータ
  121. 121 参考 サンプルスケッチ

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

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

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

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

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

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

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

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

    Unlock Starting update Waiting for update . 備考
  130. 【参考】Shell.ino 130 構文 【reset】モジュールのソフトウェアリセットを実行する 出力結果 reset >reset > 備考 シリアルモニタに実行結果は表示されません。

    ソフトウェアリセットを実行するとモジュールが再起動を行います。 モデムの起動、および通信確立までにおおよそ1分程度を要します。
  131. 【参考】Shell.ino 131 構文 【enqueue】送信キューにデータを格納する 出力結果 enqueue <ch> <type> <value> >enqueue

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

    sendコマンドを実行すると、貯められたデータは16個分を1つのメッセージとして送信します。 キューが17個以上存在する場合、2つ目のメッセージも送信され、キューから削除されます。
  133. 【参考】Shell.ino 133 構文 【size】送信/受信キューに貯められたデータ数を確認する 出力結果 size >size Tx Queue Avail:

    32 Queued: 0 Rx Queue Avail: 32 Queued: 0 備考 Tx Queue は送信キュー、Rx Queue は受信キューを表します。 Availは利用可能数、Queuedは貯められているキューの数を表します。
  134. 【参考】Shell.ino 134 構文 【cleartx】送信キューに貯められたデータをすべて消去する 出力結果 cleartx >cleartx > 備考 シリアルモニタに実行結果は表示されません。

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

    受信キューに貯められたデータの一部だけを削除することはできません。
  136. 【参考】Shell.ino 136 構文 【dequeue】受信キューに貯められたデータをすべて受信する 出力結果 dequeue >dequeue empty 備考 受信キューに貯められたデータの一部だけを受信することはできません。

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

    受信可能なデータが存在しない場合はemptyを返します。 閲覧したデータは削除されずキューに残されます。
  138. 【参考】Standard.ino 138 保持している情報をすべて書き出すプログラムです。シリアルモニタに以下の情報を出力しながら カウント値を0チャンネルに書き込み、キューが一定量貯まると送信します。

  139. 139 最後に

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

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

  142. 最後に ~sakura.io~  登録解除実行を確認されます。問題ない場合は再度 【 登録解除 】 をクリックします。 モジュールの削除には数秒かかります。 

    削除が完了すると、プロジェクトから該当モジュールの表示が消えていることを確認できます。 142
  143. 最後に ~sakura.io~  次は連携サービスとともにプロジェクトを削除します。  プロジェクトの【 詳細 】から、プロジェクト詳細画面で【 削除 】をクリックします。

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

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

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

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

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

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

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

  151. 最後に 151 さくらインターネットでは、「さくらクラブ」としてハンズオン等の イベントをともに開催いただける仲間(部員)を募集しています。 (テーマはIoTに限らずクラウドやVPS、スタートアップ系ネタもOK!) ご興味があれば、Come and join us &

    Feel free to contact me! 連絡先 : sakura-club@sakura.ad.jp さくらクラブ : http://www.slideshare.net/MasayaHayashi/lt20151224
  152. 152 そこに、さくら