Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

「さくらのIoT Platform α」ハンズオン(さくらクラブIoT福岡 第1回勉強会~さくらのIoT Platformを体験しよう!)

1,648 views

Published on

※現在サービスはsakura.ioと名称変更されています。
※最新の資料は以下をご覧ください。
Sakura.io handson (https://www.slideshare.net/sakura_pr/sakuraio-handson)
Sakura.io handson with microsoft azure (https://www.slideshare.net/sakura_pr/sakuraio-handson-with-microsoft-azure)

2016年7月23日に開催された「やっと開催決定!さくらクラブIoT福岡第1回勉強会 さくらのIoT Platformを体験しよう!」において、技術本部 西田 有騎が「「さくらのIoT Platform α」ハンズ・オン」で講義を行った際の資料です。

■イベント詳細
https://saku-love.doorkeeper.jp/events/41509

Published in: Services
  • Be the first to comment

「さくらのIoT Platform α」ハンズオン(さくらクラブIoT福岡 第1回勉強会~さくらのIoT Platformを体験しよう!)

  1. 1. さくらのIoT Platformα ハンズオン (C) Copyright 1996-2016 SAKURA Internet Inc. 2016年7月23日 さくらインターネット株式会社 技術本部 ビジネス推進グループ 西田 有騎
  2. 2. (C) Copyright 1996-2016 SAKURA Internet Inc. 本ワークショップの目的 1. 本ワークショップはさくらのIoT Platformαを使用し、 組込み系およびWeb/アプリ開発系のエンジニアが ご自身のスキルセットを大きく超えることなく、 Internet of Things(IoT)に挑戦できることを 体験いただくものです。 2. そのため各章内で技術的な詳細は極力省略しております。 3. チーム内に組込み系エンジニア、もしくはWeb/ アプリ開発系エンジニアの方がいらっしゃいましたら、 ご不明点を積極的にフォローしあって進めていただ ければと思います。 2
  3. 3. (C) Copyright 1996-2016 SAKURA Internet Inc. 会場のみスライド ワークショップ用アカウント 3
  4. 4. (C) Copyright 1996-2016 SAKURA Internet Inc. Agenda 1. はじめに 2. マイコンおよびプログラムの構築 ₋ マイコン(Arduino)の準備 ₋ 温湿度センサの繋ぎ込み ₋ さくらのIoT Platformα コントロールパネルの操作 ₋ さくらのIoT通信モジュールの繋ぎ込み ₋ 通信モジュールへのセンサデータ受け渡し 3. Webへのデータ連携 ₋ さくらのクラウド コントロールパネルの操作 ₋ Webサーバの構築(Node-Red) ₋ WebSocketを利用したデータ連携フロー作成 ₋ 参考:コンテナホスティングサービス Arukas 4. 質疑応答、自由時間 5. 最後に 4
  5. 5. はじめに
  6. 6. (C) Copyright 1996-2016 SAKURA Internet Inc. 6 なぜIoTは面倒なのか ①デバイス ②プログラミング ③回線 ④プロトコル ⑩セキュリティ ⑤データ保全 ⑥負荷設計 ⑦運用保守 ⑧他クラウド連携 ⑨データ活用 クラウドモノ 端末 スマホ モノからヒトへの安全なデータ経路を考える必要がある (プロトタイプであっても、商用利用であればなおさら)
  7. 7. (C) Copyright 1996-2016 SAKURA Internet Inc. 7 さくらインターネットが実現したいこと API GWマイコン Client UART SPI I2C HTTP API さくらのIoT 通信 モジュール 閉域網 モノづくり の領域 Web/アプリ 開発の領域 さくらのIoT Platformα の領域 Chip 2 Net
  8. 8. (C) Copyright 1996-2016 SAKURA Internet Inc. 8
  9. 9. マイコンおよびプログラムの構築 9
  10. 10. (C) Copyright 1996-2016 SAKURA Internet Inc. 今回のワークショップでご提供するもの Arduino Uno Rev3 9 ブレッドボード ジャンパーコード 人感センサ 照度センサ温湿度センサ 各種抵抗 ※必要に応じてご提供 さくらのIoT通信モジュール +Arduino用シールドキット 給電用USB2.0 ケーブル(A-B) マイコンの準備 棒アンテナ
  11. 11. (C) Copyright 1996-2016 SAKURA Internet Inc. Arduino Softwareのダウンロード 10 https://www.arduino.cc/en/Main/Software マイコンの準備
  12. 12. (C) Copyright 1996-2016 SAKURA Internet Inc. Arduino Softwareのダウンロード 11 【JUST DOWNLOAD】にてダウンロード マイコンの準備
  13. 13. (C) Copyright 1996-2016 SAKURA Internet Inc. Arduino Softwareのセットアップ 12 インストールは全てデフォルト推奨、ドライバーについても全てインストール マイコンの準備
  14. 14. (C) Copyright 1996-2016 SAKURA Internet Inc. Arduino Softwareのセットアップ 13 Arduino Softwareが起動したら、Arduino本体をPCに接続します。 その後ボードは【Arduino/Genuino Uno】、シリアルポートは 出てきたCOMポートを選択します。 マイコンの準備
  15. 15. (C) Copyright 1996-2016 SAKURA Internet Inc. マイコン(Arduino)の準備 14 [ファイル]→[新規ファイル]→【→】ボタンクリックで内容がクリアされますので、 該当箇所のLEDが点灯状態になることを確認します マイコンの準備
  16. 16. (C) Copyright 1996-2016 SAKURA Internet Inc. マイコン(Arduino)の準備 15 [ファイル]→[スケッチの例]→[01.Basics]→[Blink]→【→】ボタンクリックで 該当箇所のLEDが点滅状態になることを確認します マイコンの準備
  17. 17. (C) Copyright 1996-2016 SAKURA Internet Inc. 温湿度センサ HDC1000 ライブラリ 16 #include "HDC1000.h" HDC1000 hdc1000; void setup() { Serial.begin(9600); // hdc1000.setRdyPin(PIN_NO); // use Rdy Pin hdc1000.begin(); } void loop() { float temp = hdc1000.getTemperature(); if (temp == HDC1000_ERROR_CODE) { hdc1000.begin(); // retry once temp = hdc1000.getTemperature(); } Serial.print("Temperature: "); Serial.println(temp); float humi = hdc1000.getHumidity(); if (humi== HDC1000_ERROR_CODE) { hdc1000.begin(); // retry once humi = hdc1000.getTemperature(); } Serial.print("Humidity: "); Serial.println(humi); delay(1000); } Googleにて「github hdc1000」を検索し、ライブラリを入手します。 https://github.com/hotchpotch/Arduino-HDC1000 温湿度センサの 繋ぎ込み 起動時の処理 ループ処理 温度取得 湿度取得 エラー時の対応 シリアルモニタ表示 エラー時の対応 シリアルモニタ表示 Copyright (c) 2015 Yuichi Tateno Released under the MIT license https://github.com/hotchpotch/Arduino-HDC1000/blob/master/LICENSE.txt
  18. 18. (C) Copyright 1996-2016 SAKURA Internet Inc. ライブラリ の入手 17 入手したフォルダごと以下へ格納します。インストール先を変更した場合は 別フォルダとなっている場合があります。配置をしたらArduino Softwareを 再起動します。 Windows C:¥Users¥《ユーザ名》¥Documents¥Arduino¥libraries Mac 書類¥Arduino¥libraries 温湿度センサの 繋ぎ込み
  19. 19. (C) Copyright 1996-2016 SAKURA Internet Inc. +V SDA SCL GND 温湿度センサの繋ぎ込み 18 3.3V GND SCL SDA ジャンパーコードを接続、ブレッドボード側は色で明示された範囲は自由に接続可 温湿度センサの向きに注意して接続 温湿度センサの 繋ぎ込み
  20. 20. (C) Copyright 1996-2016 SAKURA Internet Inc. 温湿度センサの動作確認 19 [ファイル]→[スケッチの例]→[HDC1000]→[hdc1000]→【→】ボタンをクリック [ツール]→[シリアルモニタ]よりTemperature&Humidity情報が取得されることを 確認します。 温湿度センサの 繋ぎ込み
  21. 21. (C) Copyright 1996-2016 SAKURA Internet Inc. コントロールパネルへのログイン さくらのIoT Platformα コント ロールパネルの操作 Googleにて「さくらインターネット iot 開発者」を検索し、コンパネにログイン https://iot.sakura.ad.jp/developer/ 21
  22. 22. (C) Copyright 1996-2016 SAKURA Internet Inc. コントロールパネルへのログイン さくらのIoT Platformα コント ロールパネルの操作 用意されている会員ID、パスワードを利用してログインします。 22
  23. 23. (C) Copyright 1996-2016 SAKURA Internet Inc. 会場のみスライド ワークショップ用アカウント 23
  24. 24. (C) Copyright 1996-2016 SAKURA Internet Inc. 新規プロジェクト作成 さくらのIoT Platformα コント ロールパネルの操作 [新規プロジェクト]をクリックし、新規にプロジェクトを作成します。 24
  25. 25. (C) Copyright 1996-2016 SAKURA Internet Inc. 新規プロジェクト作成 さくらのIoT Platformα コント ロールパネルの操作 [名称]欄に任意の名前を入力し、[作成する]をクリックします。 25
  26. 26. (C) Copyright 1996-2016 SAKURA Internet Inc. 通信モジュール登録 さくらのIoT Platformα コント ロールパネルの操作 プロジェクトが作成されました。次に通信モジュールの登録を行います。 26
  27. 27. (C) Copyright 1996-2016 SAKURA Internet Inc. 通信モジュール登録 さくらのIoT Platformα コント ロールパネルの操作 用意されている登録用ID、登録用PASS、および任意の名称を入力して、 [追加する]ボタンをクリックします。 27
  28. 28. (C) Copyright 1996-2016 SAKURA Internet Inc. 連携サービスの設定 cccccccccccccc さくらのIoT Platformα コント ロールパネルの操作 通信モジュールが登録されました。最後に外部への連携を設定します。 28
  29. 29. (C) Copyright 1996-2016 SAKURA Internet Inc. 連携サービスの設定 さくらのIoT Platformα コント ロールパネルの操作 今回はWebSocketを作成します。[WebSocket]をクリックします。 29
  30. 30. (C) Copyright 1996-2016 SAKURA Internet Inc. 連携サービスの設定 さくらのIoT Platformα コント ロールパネルの操作 [名前]欄に任意の名前を入力し、[作成する]をクリックします。 30
  31. 31. (C) Copyright 1996-2016 SAKURA Internet Inc. 連携サービスの設定 さくらのIoT Platformα コント ロールパネルの操作 WebSocketを設定しました、これでコントロールパネルでの準備は完了です 31
  32. 32. (C) Copyright 1996-2016 SAKURA Internet Inc. さくらのIoT通信モジュールの取り付け Arduinoのピン穴と合致するようにはめ込みます、5V-DC部分が干渉するため 強く押し込みすぎず、水平になるよう取り付けください さくらのIoT通信モ ジュールの繋ぎ込み 32
  33. 33. (C) Copyright 1996-2016 SAKURA Internet Inc. +V SDA SCL GND さくらのIoT通信モジュールの繋ぎ込み ジャンパーコードを接続、ブレッドボード側は色で明示された範囲は自由に接続可 温湿度センサの向きに注意して接続 3.3V GND SCL SDA さくらのIoT通信モ ジュールの繋ぎ込み 33
  34. 34. (C) Copyright 1996-2016 SAKURA Internet Inc. 温湿度センサの動作確認 #再確認 さくらのIoT通信モ ジュールの繋ぎ込み [ファイル]→[スケッチの例]→[HDC1000]→[hdc1000]→【→】ボタンをクリック [ツール]→[シリアルモニタ]よりTemperature&Humidity情報が取得されることを 確認します。 34
  35. 35. (C) Copyright 1996-2016 SAKURA Internet Inc. さくらのIoT通信モジュール ライブラリ #include <SakuraAlpha.h> #define BUF_LEN 16 uint32_t cnt = 0; SakuraAlphaI2C sakura; void setup() { Serial.begin(9600); // start serial for output Serial.println("Waiting to come online..."); for(;;){ if( sakura.getNetworkStatus() == 1 ) break; delay(1000); } } uint8_t updated[BUF_LEN]; void loop() { cnt++; Serial.println(cnt); sakura.writeChannel(0,cnt); sakura.writeChannel(1,cnt); sakura.writeChannel(2,cnt); delay(250); int num_updated = sakura.getUpdatedChannels(updated, BUF_LEN); Serial.print(num_updated); Serial.print(" updated channels: "); for (int i = 0; i < min(num_updated,BUF_LEN); i++) { Serial.print(' '); Serial.print((int)updated[i]); } Serial.println(""); char type=0; byte value[8]={0}; sakura.readChannel(0, &type, value); for (int i = 0; i < 8; i++) { Serial.print(' '); Serial.print(value[i],HEX); } Serial.print(" type:"); Serial.print(type); Serial.println(""); delay(250); Serial.print("Tx[0] status: "); Serial.print( sakura.getTxChannelStatus(0) ); Serial.println(""); Googleにて「github sakura arduino」を検索し、ライブラリを入手します。 https://github.com/sakura-internet/SakuraAlphaArduino 通信モジュールへの センサデータ受け渡し 通信状態取得 起動時の処理 ループ処理 35
  36. 36. (C) Copyright 1996-2016 SAKURA Internet Inc. さくらのIoT通信モジュール ライブラリ sakura.transmit(TRANSMIT_ONCE); delay(250); num_updated = sakura.getUntransmittedChannels(updated, BUF_LEN); Serial.print(num_updated); Serial.print(" untransmitted channels: "); for (int i = 0; i < min(num_updated,BUF_LEN); i++) { Serial.print(' '); Serial.print((int)updated[i]); } Serial.println(""); delay(1000); Serial.println(""); } 通信モジュールへの センサデータ受け渡 し データ送信 Googleにて「github sakura arduino」を検索し、ライブラリを入手します。 https://github.com/sakura-internet/SakuraAlphaArduino 36
  37. 37. (C) Copyright 1996-2016 SAKURA Internet Inc. ライブラリの入手 入手したフォルダごと以下へ格納します。インストール先を変更した場合は 別フォルダとなっている場合があります。配置をしたらArduino Softwareを 再起動します。 Windows C:¥Users¥《ユーザ名》¥Documents¥Arduino¥libraries Mac 書類¥Arduino¥libraries 通信モジュールへの センサデータ受け渡 し 37
  38. 38. (C) Copyright 1996-2016 SAKURA Internet Inc. 温湿度センサ ライブラリ 流用部分 #include "HDC1000.h" HDC1000 hdc1000; void setup() { Serial.begin(9600); // hdc1000.setRdyPin(PIN_NO); // use Rdy Pin hdc1000.begin(); } void loop() { float temp = hdc1000.getTemperature(); if (temp == HDC1000_ERROR_CODE) { hdc1000.begin(); // retry once temp = hdc1000.getTemperature(); } Serial.print("Temperature: "); Serial.println(temp); float humi = hdc1000.getHumidity(); if (humi== HDC1000_ERROR_CODE) { hdc1000.begin(); // retry once humi = hdc1000.getHumidity(); } Serial.print("Humidity: "); Serial.println(humi); delay(1000); } ① ② ③ 該当ライブラリから赤字部分を弊社用ライブラリに流用します 通信モジュールへの センサデータ受け渡 し 38 Copyright (c) 2015 Yuichi Tateno Released under the MIT license https://github.com/hotchpotch/Arduino-HDC1000/blob/master/LICENSE.txt
  39. 39. (C) Copyright 1996-2016 SAKURA Internet Inc. 通信モジュール + 温湿度センサ ライブラリ #include <SakuraAlpha.h> #define BUF_LEN 16 uint32_t cnt = 0; SakuraAlphaI2C sakura; #include "HDC1000.h" HDC1000 hdc1000; void setup() { hdc1000.begin(); Serial.begin(9600); // start serial for output Serial.println("Waiting to come online..."); for(;;){ if( sakura.getNetworkStatus() == 1 ) break; delay(1000); } } uint8_t updated[BUF_LEN]; void loop() { float temp = hdc1000.getTemperature(); if (temp == HDC1000_ERROR_CODE) { hdc1000.begin(); // retry once temp = hdc1000.getTemperature(); } Serial.print("Temperature: "); Serial.println(temp); float humi = hdc1000.getHumidity(); if (humi== HDC1000_ERROR_CODE) { hdc1000.begin(); // retry once humi = hdc1000.getHumidity(); } Serial.print("Humidity: "); Serial.println(humi); cnt++; Serial.println(cnt); sakura.writeChannel(0,temp); sakura.writeChannel(1,humi); sakura.writeChannel(2,cnt); delay(250); ~以下略~ ①挿入 ②挿入 ③挿入 ④修正 通信モジュールへの センサデータ受け渡 し 39
  40. 40. (C) Copyright 1996-2016 SAKURA Internet Inc. プログラムの修正 [ファイル]→[スケッチの例]→[SakuraAlpha]→[SakuraAlpha_I2C]を開いて修正 を実施後、【→】ボタンクリック後、 [シリアルモニタ]よりTemperatureおよび Humidity情報に加え、カウント情報とデータ送信が表示されることを確認します。 通信モジュールへの センサデータ受け渡 し 40
  41. 41. (C) Copyright 1996-2016 SAKURA Internet Inc. さくらのIoT通信モジュールの繋ぎ込み 通信モジュールへの センサデータ受け渡 し 作成した連携サービスを開き、シリアルポートで表示される情報と同様の情報が 取得されていることを確認します。 上手くいかない場合は [SakuraAlpha_I2C_with_hdc1000]で確認します。 41
  42. 42. Webへのデータ連携
  43. 43. (C) Copyright 1996-2016 SAKURA Internet Inc. 会場のみスライド ワークショップ用アカウント 43
  44. 44. (C) Copyright 1996-2016 SAKURA Internet Inc. さくらのクラウド コントロールパネル https://secure.sakura.ad.jp/cloud/ より、「さくらインターネット会員として ログイン:」に前述の会員ID、パスワードを入力します。 さくらのクラウド コ ントロールパネルの 操作 44
  45. 45. (C) Copyright 1996-2016 SAKURA Internet Inc. アカウントの作成 作成直後は操作の権限を決める「アカウント」および「ユーザ」が 存在しないので、アカウントの作成から開始します。 さくらのクラウド コ ントロールパネルの 操作 45
  46. 46. (C) Copyright 1996-2016 SAKURA Internet Inc. アカウントの作成 記載事項に同意のうえ、チェックボックスにチェックを入れます。 さくらのクラウド コ ントロールパネルの 操作 46
  47. 47. (C) Copyright 1996-2016 SAKURA Internet Inc. アカウントの作成 2個のチェックを入れると必要情報の記入を求められますので、名前、 アカウントコード、パスワードに加え、「このアカウント用の同名ユーザを作成」 をチェックし作成します。 さくらのクラウド コ ントロールパネルの 操作 47
  48. 48. (C) Copyright 1996-2016 SAKURA Internet Inc. アカウントの作成 確認のダイアログが表示されますので内容に問題が無ければ【作成】をクリックし ます。 さくらのクラウド コ ントロールパネルの 操作 48
  49. 49. (C) Copyright 1996-2016 SAKURA Internet Inc. アカウントの作成 アカウントが作成されました。本ワークショップでは割愛いたしますが、 アカウント内ごとにユーザはアクセス権限を定めることが可能です。 さくらのクラウド コ ントロールパネルの 操作 49
  50. 50. (C) Copyright 1996-2016 SAKURA Internet Inc. ユーザの作成 「このアカウント用の同名ユーザを作成」 にチェックを入れたため、[ユーザ] タブをクリックいただくと同名のユーザが作成されていることが確認できます。 さくらのクラウド コ ントロールパネルの 操作 50
  51. 51. (C) Copyright 1996-2016 SAKURA Internet Inc. Webサーバ用インスタンスの作成 さくらのクラウド コ ントロールパネルの 操作 アカウントを選択します。 51
  52. 52. (C) Copyright 1996-2016 SAKURA Internet Inc. Webサーバ用インスタンスの作成 下記項目が選べるようになりますので、[さくらのクラウド(IaaS)]を クリックします。 さくらのクラウド コ ントロールパネルの 操作 52
  53. 53. (C) Copyright 1996-2016 SAKURA Internet Inc. Webサーバ用インスタンスの作成 ログインが成功するとホーム画面が表示されますので、 [さくらのクラウド(IaaS)]をクリックします。 さくらのクラウド コ ントロールパネルの 操作 53
  54. 54. (C) Copyright 1996-2016 SAKURA Internet Inc. Webサーバ用インスタンスの作成 はじめはサーバの追加の案内が出ておりますので、【追加】をクリックします。 さくらのクラウド コ ントロールパネルの 操作 54
  55. 55. (C) Copyright 1996-2016 SAKURA Internet Inc. Webサーバ用インスタンスの作成 ホスト名はお好きな値を選択し、サーバプランおよびディスクプランは デフォルトのままを選択いただきます。 さくらのクラウド コ ントロールパネルの 操作 55
  56. 56. (C) Copyright 1996-2016 SAKURA Internet Inc. Webサーバ用インスタンスの作成 OSは[Unix / Linux]から【6.x 64bit】を選択いただきます。 さくらのクラウド コ ントロールパネルの 操作 56
  57. 57. (C) Copyright 1996-2016 SAKURA Internet Inc. Webサーバ用インスタンスの作成 接続先はインターネット、パスワードはお好きなものを入力いただきます。 パスワードは強度チェックを行っており、[普通]以上のものをご利用いただけます。 また、本件では公開鍵は利用しませんので、【なし】のままで結構です。 さくらのクラウド コ ントロールパネルの 操作 57
  58. 58. (C) Copyright 1996-2016 SAKURA Internet Inc. Webサーバ用インスタンスの作成 内容に問題が無ければ、【作成】をクリックします。 さくらのクラウド コ ントロールパネルの 操作 58
  59. 59. (C) Copyright 1996-2016 SAKURA Internet Inc. Webサーバ用インスタンスの作成 確認のダイアログが表示されますので、【作成】をクリックします。 さくらのクラウド コ ントロールパネルの 操作 59
  60. 60. (C) Copyright 1996-2016 SAKURA Internet Inc. Webサーバ用インスタンスの作成 サーバが作成される様子を確認いただけます。 さくらのクラウド コ ントロールパネルの 操作 60
  61. 61. (C) Copyright 1996-2016 SAKURA Internet Inc. Webサーバ用インスタンスの作成 サーバが作成されました。 さくらのクラウド コ ントロールパネルの 操作 61
  62. 62. (C) Copyright 1996-2016 SAKURA Internet Inc. コンソールでの環境のセットアップ Webサーバの構築 (Node-Red) ここからはターミナルソフトで操作することを前提に進めます。 Tera Term等でさくらのクラウドのコンパネに表示されているIPアドレスへ 接続します。 62
  63. 63. (C) Copyright 1996-2016 SAKURA Internet Inc. コンソールでの環境のセットアップ ------------------------------------------------------------ #Gitのインストール ------------------------------------------------------------ [root@test ~]# yum -y install git Loaded plugins: fastestmirror, priorities, security Setting up Install Process Determining fastest mirrors epel/metalink | 5.2 kB 00:00 * elrepo: ftp.ne.jp * epel: www.ftp.ne.jp ~中略~ Updated: git.x86_64 0:1.7.1-4.el6_7.1 Dependency Updated: perl-Git.noarch 0:1.7.1-4.el6_7.1 Complete! Webサーバの構築 (Node-Red) 63
  64. 64. (C) Copyright 1996-2016 SAKURA Internet Inc. コンソールでの環境のセットアップ ------------------------------------------------------------ #Node Version Manager(NVM)のインストール ------------------------------------------------------------ [root@test ~]# git clone https://github.com/creationix/nvm.git ~/.nvm Initialized empty Git repository in /root/.nvm/.git/ remote: Counting objects: 4732, done. remote: Total 4732 (delta 0), reused 0 (delta 0), pack-reused 4731 Receiving objects: 100% (4732/4732), 1.27 MiB | 544 KiB/s, done. Resolving deltas: 100% (2814/2814), done. [root@test ~]# source ~/.nvm/nvm.sh [root@test ~]# nvm help Node Version Manager Note: <version> refers to any version-like string nvm understands. This includes: - full or partial version numbers, starting with an optional "v" (0.10, v0.1.2, v1) ~中略~ Note: to remove, delete, or uninstall nvm - just remove the `$NVM_DIR` folder (usually `~/.nvm`) Webサーバの構築 (Node-Red) 64
  65. 65. (C) Copyright 1996-2016 SAKURA Internet Inc. コンソールでの環境のセットアップ ------------------------------------------------------------ #Node.jsのインストール ------------------------------------------------------------ [root@test ~]# nvm ls-remote v0.1.14 v0.1.15 v0.1.16 ~中略~ v6.2.0 v6.2.1 v6.2.2 [root@test ~]# nvm install v6.2.2 Downloading https://nodejs.org/dist/v6.2.2/node-v6.2.2-linux-x64.tar.xz... ######################################################################## 100.0% Now using node v6.2.2 (npm v3.9.5) Creating default alias: default -> v6.2.2 [root@test ~]# node -v v6.2.2 Webサーバの構築 (Node-Red) 65
  66. 66. (C) Copyright 1996-2016 SAKURA Internet Inc. コンソールでの環境のセットアップ ------------------------------------------------------------ #Node.jsの設定変更と動作確認 ------------------------------------------------------------ [root@test ~]# vi ~/.bash_profile ※末尾に以下を挿入 if [[ -s ~/.nvm/nvm.sh ]]; then source ~/.nvm/nvm.sh fi [root@test ~]# vi example.js var http = require('http'); http.createServer(function (request, response) { response.writeHead(200, {'Content-Type': 'text/plain'}); response.end('Hello World¥n'); }).listen(8124); console.log('Server running at http://127.0.0.1:8124/'); [root@test ~]# node example.js Server running at http://127.0.0.1:8124/ ※表示されたら[Ctrl]+[C]でプログラムを停止します Webサーバの構築 (Node-Red) 66
  67. 67. (C) Copyright 1996-2016 SAKURA Internet Inc. コンソールでの環境のセットアップ ------------------------------------------------------------ #Node-Redの設定変更 ------------------------------------------------------------ [root@test ~]# npm install -g node-red npm WARN deprecated i18next-client@1.10.3: you can use npm install i18next from version 2.0.0 /root/.nvm/versions/node/v6.2.2/bin/node-red -> /root/.nvm/versions/node/v6.2.2/lib/node_modules/node- ~中略~ +-- sax@0.6.1 `-- xmlbuilder@4.2.1 `-- lodash@4.13.1 [root@test ~]# node-red Welcome to Node-RED =================== ~中略~ 21 Jun 14:29:05 - [info] Starting flows 21 Jun 14:29:05 - [info] Started flows 21 Jun 14:29:05 - [info] Server now running at http://127.0.0.1:1880/ ここのIPアドレスをサーバのグローバルIP アドレスに変更してブラウザでアクセス Webサーバの構築 (Node-Red) 67
  68. 68. (C) Copyright 1996-2016 SAKURA Internet Inc. Node-REDでの操作 WebSocketを利用し たデータ連携フロー 作成 68
  69. 69. (C) Copyright 1996-2016 SAKURA Internet Inc. Node-REDでの操作 WebSocketを利用し たデータ連携フロー 作成 69
  70. 70. (C) Copyright 1996-2016 SAKURA Internet Inc. Node-REDでの操作 WebSocketを利用し たデータ連携フロー 作成 70
  71. 71. (C) Copyright 1996-2016 SAKURA Internet Inc. Node-REDでの操作 赤枠部分の情報をコピーしてPath部分にペーストします。 WebSocketを利用し たデータ連携フロー 作成 71
  72. 72. (C) Copyright 1996-2016 SAKURA Internet Inc. Node-REDでの操作 WebSocketを利用し たデータ連携フロー 作成 72
  73. 73. (C) Copyright 1996-2016 SAKURA Internet Inc. Node-REDでの操作 WebSocketを利用し たデータ連携フロー 作成 73
  74. 74. (C) Copyright 1996-2016 SAKURA Internet Inc. Node-REDでの操作 WebSocketを利用し たデータ連携フロー 作成 74
  75. 75. (C) Copyright 1996-2016 SAKURA Internet Inc. Node-REDでの操作 WebSocketを利用し たデータ連携フロー 作成 75
  76. 76. (C) Copyright 1996-2016 SAKURA Internet Inc. Node-REDでの操作 WebSocketを利用し たデータ連携フロー 作成 76
  77. 77. (C) Copyright 1996-2016 SAKURA Internet Inc. Node-REDでの操作 WebSocketを利用し たデータ連携フロー 作成 77
  78. 78. (C) Copyright 1996-2016 SAKURA Internet Inc. Node-REDでの操作 WebSocketを利用し たデータ連携フロー 作成 78
  79. 79. (C) Copyright 1996-2016 SAKURA Internet Inc. 参考:コンテナホスティングサービス Arukas 79
  80. 80. (C) Copyright 1996-2016 SAKURA Internet Inc. 80
  81. 81. (C) Copyright 1996-2016 SAKURA Internet Inc.
  82. 82. (C) Copyright 1996-2016 SAKURA Internet Inc. 本イメージはハンズオン用のサンプルとなりますので、 商用利用への転用はご遠慮ください。
  83. 83. (C) Copyright 1996-2016 SAKURA Internet Inc.
  84. 84. (C) Copyright 1996-2016 SAKURA Internet Inc.
  85. 85. (C) Copyright 1996-2016 SAKURA Internet Inc.
  86. 86. (C) Copyright 1996-2016 SAKURA Internet Inc. Username: node Password: r3d
  87. 87. 最後に
  88. 88. (C) Copyright 1996-2016 SAKURA Internet Inc. 最後に グローバルIPアドレスを持つサーバは攻撃対象になりますので、作成いただいた サーバは削除します。さくらのクラウドで対象サーバのチェックを入れ、 削除をクリックします。 88
  89. 89. (C) Copyright 1996-2016 SAKURA Internet Inc. 最後に ディスクについてもチェックを入れ、再度削除をクリックします。 89
  90. 90. (C) Copyright 1996-2016 SAKURA Internet Inc. 最後に 操作確認ダイアログが表示されますので実行をクリックします。 90
  91. 91. (C) Copyright 1996-2016 SAKURA Internet Inc. 最後に 削除の工程が表示されます。全てのステータスが成功となれば削除は完了です。 ありがとうございました。 91
  92. 92. (C) Copyright 1996-2016 SAKURA Internet Inc. そこに、さくら 92
  93. 93. (C) Copyright 1996-2016 SAKURA Internet Inc. Coming soon… ユーザ同士の交流を深めるための コミュニティサイトの開設を進めています。 93

×