さくらの IoT Platform を使ってみよう

2016/11/27

さくらインターネット株式会社

コミュニティマネージャー

法林 浩之

私についてFacebook 法林 浩之
写真Twitter@hourin

どんな人？
・日本UNIXユーザ会 幹事・フリーランスエンジニア
・さくらインターネット コミュニティマネージャー
・くわしくは「法林浩之」で検索
さくらでやっていること
・当社主催イベントの運営
・社外イベント対応(協賛/出展/登壇/取材など)
・10月末～12月上旬にかけて20連戦敢行中

2

どんな話をするのか• さくらのIoT Platformの概要• 開発経緯• 主な機能/システム構成/パートナー連携• 事例• β版の販売について• 実際に使ってみる• マイコンおよびプログラムの構築• さくらのIoT Platformの設定• Webサービスとの連携
2016/11/25(C) Copyright 1996-2016 SAKURA Internet Inc3さくらインターネットについて

大阪本社

東京支社

2016/11/25(C) Copyright 1996-2016 SAKURA Internet Inc4さくらインターネットの事業領域

データセンターにまつわるサービスのすべてを提供
レンタルサーバ仮想サーバ

さくらのレンタルサーバ

さくらのVPS

さくらのマネージドサーバ

さくらのクラウド

1台のサーバを複数の契約者で共有して利用するサー
ビス

1台のサーバを仮想的に分割し、分割された領域を占有できるサービス

専用サーバ

さくらの専用サーバ
顧客が物理サーバ1台を丸ごと占有するサービス

ホスティングNEW

2016/11/25

ハウジング

ハウジング

リモートハウジング
顧客が所有する機器類を設置するスペースと回線、電源などを貸与するサービス

コロケーション

さくらのサービス上で稼働(C) Copyright 1996-2016 SAKURA Internet Inc

5「モノ・コト」のインターネット

これまで気付けなかった「モノ・コト」の相関性や関係性を見出し、それを世界でシェアできるプラットフォームを目指す。

「モノがつぶやけばいいのに…」という会話がきっかけ
2016/11/25(C) Copyright 1996-2016 SAKURA Internet Inc

6

"IoT"とは何か？
7

IoTと呼ばれているもの

2016/11/25(C) Copyright 1996-2016 SAKURA Internet Inc

8

IoTと呼ばれているもの"インターネット"と同じで広すぎる範囲
2016/11/25(C) Copyright 1996-2016 SAKURA Internet Inc

9IoTと呼ばれているもの

自己情報管理デバイスシステム

生活習慣情報管理
デバイスシステム

ソフト/全体/接続性/分析/セキュリティ基盤

ハードウェア

2016/11/25

ソフト
ウェア

自動車情報
自動運転等
デバイス
システム

製造/産業
情報管理
デバイス
システム

インターフェイス
提供

接続性/キャリア/通信事業者(C) Copyright 1996-2016 SAKURA Internet Inc

生産技術
情報化
デバイス
システム

3D技術基盤

コンサルティング
リテール
投資

10

IoTと呼ばれているもの

自動車情報
自動運転等
デバイス
システム

製造/産業
情報管理
デバイス
システム

全部やる！ "垂直統合基盤"

自己情報管理デバイスシステム

生活習慣情報管理
デバイスシステム

生産技術
情報化
デバイス
システム

3D技術基盤
汎用的な仕組みを提供 "水平統合基盤"

ソフト/全体/接続性/分析/セキュリティ基盤

インターフェイス
提供

コンサルティング
リテール
投資

接続性/キャリア/通信事業者
各種構成要素を提供"要素技術"

ハードウェア

2016/11/25

ソフトウェア(C) Copyright 1996-2016 SAKURA Internet Inc

11

12

IoTと呼ばれているもの

通信モジュール
LTE閉域網データ保存/連携サービス
統合型プラットフォーム
2016/11/25(C) Copyright 1996-2016 SAKURA Internet Inc

13

他のIoTプラット
フォームとの違い
14

15

※さくらのサーバで機械学習しています
http://ascii.jp/elem/000/001/171/1171630/
16

17

IoTプラットフォームが抱える課題

特化型AI（囲碁/将棋）
コグニティブコンピューティング

データさえあれば何でも分析できます！！
18

どうやってデータ集めるの？
19

そこに、さくら20

β
さくらのIoT Platform

概要
21

すべてを自社でやるのは現実的でしょうか？

通信

ネットワーク

DB

ミドル

API

ネットワークとデータをやり取りしたいだけなのに…
やらなければならないことが多すぎるすべてを自社でやるのは現実的でしょうか？

通信⇔データ連携
さくらインターネットにお任せ通信

ネットワーク

DB

ミドル

API

既存の事業領域/スキルセットの大幅な変更なくモノ/サービスづくり、連携に注力可能

さくらのIoT Platformβの提供範囲

さくらのIoT Platformβ ご提供範囲
さくらインターネットデータセンター

専用SIM

Relation
Point

収集LTE
閉域網
さくらの通信モジュール
モノ（マイコン）

連携

蓄積

専用線

SSL/TLS通信
インターネット（外部サービス）

基地局

認証

管理UI

モノに組み込む「さくらの通信モジュール」からデータを取り出す「連携サービス」までを統合して提供
2016/11/25(C) Copyright 1996-2016 SAKURA Internet Inc

25

他のIoTプラットフォームとの差異
さくらのIoT Platformβ

他のIoT プラットフォーム

企画・アイディア
モノ（製造）

とりあえずアプリやスマホで！
設定は利用者側で！

安全性の担保は開発者の負担に…

センサー
データの送受信手段
安全な通信経路
プラットフォーム
（集める/貯める/分ける）

管理UI
連携APIサービス（Web/AP/分析）
2016/11/25(C) Copyright 1996-2016 SAKURA Internet Inc

26

他のIoTプラットフォームとの差異
さくらのIoT Platformβ

他のIoT プラットフォーム

企画・アイディア「データを迎えに行く」という発想

モノ（製造）

・モノからのアウトプットだけでなくモノへのインプットも可能
・モノに組み込めば、電源を入れるだけで利用可能
・利用者に接続の知識や現地の有線/無線LAN環境も不要

センサー
データの送受信手段
安全な通信経路
プラットフォーム
（集める/貯める/分ける）

管理UI
連携API

サービス
（Web/AP/分析）
2016/11/25(C) Copyright 1996-2016 SAKURA Internet Inc27

β
さくらのIoT Platform

機能詳細
28

量産を考慮した設計、機能

1. IoTデバイス、サービスの“開発工数削減”が可能

2. “SDカードほぼ2枚分”に収まるコンパクトサイズ
3. 閉域網を利用した”Secure＆Safety”なネットワーク設計
4. プラットフォームサービスだから“設計や運用は考慮不要”

5. “時刻提供機能”でマイコンに現在時刻を提供
6. “ファイル配信機能”でマイコン側のアップデートも実現
2016/11/25(C) Copyright 1996-2016 SAKURA Internet Inc

29

量産を考慮した設計、機能IoTデバイス、サービスの“開発工数削減”が可能
要開発項目

アンテナ

アプリケーション
コマンドI/F実装
上位プロトコル実装
TCP/IPスタック
モデムコマンド制御
UART制御省電力制御

従来の通信手法
I2C/SPI

さくらの通信モジュール

削減工数

複数の無線規格に対応「作らなければならないもの」より「作りたいもの」に注力が可能
2016/11/25(C) Copyright 1996-2016 SAKURA Internet Inc

30

量産を考慮した設計、機能

IoTデバイス、サービスの“開発工数削減”が可能
量産性に配慮した“基板間コネクタ”を採用

方式

GW

特徴

通信可能
レンジ

伝送速度

消費
電力

LTE

不要

単独
使用可

キャリア網内どこでも速い大きい

2.4GHz帯

必要

短距離
大容量

数百メートル速い

小さい

920MHz帯

必要

長距離
小容量

遅い

小さい

（最大1Km程度）

LTE
2.4GHz

数キロメートル（最大10km程度）

920MHz(LoRa)

共通I/Fおよび寸法のため複数規格のモジュールの対応が容易
2016/11/25(C) Copyright 1996-2016 SAKURA Internet Inc

31

量産を考慮した設計、機能IoTデバイス、サービスの“開発工数削減”が可能{"module": "XXXXXXXXX","type": "channels","datetime": "2016-06-01T12:21:11.628907163Z","payload": {"channels": [{"channel": 1,"type": "i","value": 1,“datetime": "2016-06-01T10:21:11.628907163Z",},{"channel": 2,"type": "b","value": "0f1e2d3c4b5c6b7a"“datetime": "2016-06-01T11:21:11.628907163Z",}]}}

データ活用は暗号化された経路から扱いやすいJSONフォーマットで
2016/11/25(C) Copyright 1996-2016 SAKURA Internet Inc

32

量産を考慮した設計、機能“SDカードほぼ2枚分”に収まるコンパクトサイズ

34mm

LTEモデムチップ
通信制御用MCU
SIMカードコネクタ
46mm“さくらの通信モジュール”にモノ側の通信に必要なすべてを凝縮
2016/11/25(C) Copyright 1996-2016 SAKURA Internet Inc

33

量産を考慮した設計、機能

閉域網を利用した”Secure＆Safety”なネットワーク設計

通信モジュール+SIMカードをセットで提供することで安全性を確保
2016/11/25(C) Copyright 1996-2016 SAKURA Internet Inc

34

量産を考慮した設計、機能

プラットフォームサービスだから“設計や運用は考慮不要”

サービスの“設計”データの収集データの蓄積データの連携セキュリティサービスの“運用”ラージスケール対応

アップデート

障害切り分け、復旧

IoTサービスに不可欠な”設計”や”運用”はさくらインターネットが対応
2016/11/25(C) Copyright 1996-2016 SAKURA Internet Inc

35

量産を考慮した設計、機能“時刻提供機能”でマイコンに現在時刻を提供
マイコンへの適用

時刻情報の要求

正確な時刻の提供

マイコン側でのログ記録等が求められるデバイスやサービスに※マイコン側で時刻情報要求の制御が必要です
2016/11/25(C) Copyright 1996-2016 SAKURA Internet Inc

36

量産を考慮した設計、機能“ファイル配信機能”でマイコン側のアップデートも実現

マイコンへの適用

モジュールへの配信

さくらの通信モジュール

ファイルのアップロード

さくらの
IoT Platform

管理者

ソフトウェア的な問題はアップデートで対応可能※マイコン側でのファームウェア書換制御が必要です
2016/11/25(C) Copyright 1996-2016 SAKURA Internet Inc

37

選べる複数のデータ保存方式

オープンデータとして活用可能にいただくことでデータ保存のコストをゼロにできます。

公開したくないデータはユーザのみ閲覧権限を付与いただくことができます。
コンプライアンス対策としてデータを専用領域に保存いただくことができます。
データ保護ポリシーに応じて適切な保存先を選択可能
2016/11/25(C) Copyright 1996-2016 SAKURA Internet Inc38

選べる複数のデータ連携方式

リアルタイム連携＜即時性が求められるサービス向け＞
通信モジュールからの受信データを即連携先に送信します。
連携先からの送信データも即通信モジュールに送信します。
提供は以下を含め、随時他社サービスも追加されます。
Outgoing Webhook/Incoming Webhook/WebSocket/MQTT(予定)

保存データの一括取得＜分析や集計等のバッチ処理向け＞
通信モジュールから受信したデータを要求された時に要求された期間分まとめて送信します。
提供はHTTP REST APIにより行われます。

HTTP
Request

利用用途に応じて適切な連携方式を選択可能
2016/11/25(C) Copyright 1996-2016 SAKURA Internet Inc

39

共創パートナー

40

共創を実現するパートナーサービス

他社クラウドサービスや自社環境にも用途に応じて連携可能
2016/11/25(C) Copyright 1996-2016 SAKURA Internet Inc42

myThingsとの連携例

インターネットサービスやIoTプロダクトを利用して、あなたにあった便利な組み合わせをつくることができるアプリ
2016/11/25(C) Copyright 1996-2016 SAKURA Internet Inc

43

myThingsにさくらのIoT Platformβのチャンネルが作成される予定

トリガーを設定
例：防災速報地震情報が出たら熱中症の危険度が高まったら津波警報・注意報が発令されたらアクションを設定
例：さくらのIoTプラットフォームの1チャンネルに1という値を送信トリガーごとに異なるデータを送信可能

例：熱中症の危険度が高まったらさくらのIoTプラットフォームに2チャンネルに2という値を送信

例：津波警報・注意報が出たらさくらのIoTプラットフォームの3チャンネルに3という値を送信
さくらのIoTプラットフォームをトリガーに使うことも可能

さくらの事例49

私たちはIoTの ”T” を知らなさすぎる

50

実証実験（PoC）を通じて連携機能/GWタイプを開発「なぜそれが必要なのか」をパートナーと協力し追求、量産化対応、新機能、GW方式モジュール開発につなげ、継続している。

2016/11/25(C) Copyright 1996-2016 SAKURA Internet Inc

51

IoTメディカルヘルスケアソリューション

primesap

病院での実証実験

Intel Edision
加速度/温度/湿度/照度センサー
さくらの通信モジュール

ベッド毎に入眠後の身体の動揺を計測••

気圧や温度などの環境要因と安眠度の相関性について理解が進む
睡眠に適切な環境とさらにその個人差を把握することで環境改善に貢献

2016/11/25(C) Copyright 1996-2016 SAKURA Internet Inc52

シェアリングエコノミーを加速させる
スマートロックを中心としたプラットフォームカンパニー

2016/11/25(C) Copyright 1996-2016 SAKURA Internet Inc

53

今後のPoCの予定

ハ ウ ス テ ン ボ ス と の Po C

データ
連携

さくらインターネット
提供範囲

データ
通信

回収指示

赤
黄
青■

イメージ

パーク内に設置されたゴミ箱に計測機器を取り付け、さくらのIoTプラットフォームに送付、コグニティブコンピューティングシステムに送付し、解析する。将来的にはAIによって常に最適な回収経路を自動回収車に指示し、収集が自動的に実施される仕組みを目指す。

※ハウステンボスのIoTへの取り組み
ハウステンボス社では、IoTやAI、ロボティクスを活用しユニークな顧客体験の創造を目指しており、さくらインターネットの通信モジュールを活用した実証実験もその一環

2016/11/25

パーク内ゴミ箱に、集積量を測定できるセンサーを取り付け、自動的に回収する仕組みを構築する実証実験を行うため、計測機器の通信およびデータ連携システムにさくらのIoTプラットフォームを採用※LTE通信モジュールの他、さくらインターネットで開発中の920MHz（LoRa）および2.4GHzのゲートウェイ型モジュールも活用し、より良い利用方法についても検証を進める(C) Copyright 1996-2016 SAKURA Internet Inc54

御提供価格
IoTPlatform55

LTE版 通信モジュール

さくらの通信モジュール
単体方式：SCM-LTE-beta

9,960円

定価

100万回プラットフォームとデータ送受信可能なポイント※付き

RP=RelationPoint
さくらのIoTプラットフォーム利用時に消費されるポイント※1つデータ(RM)をプラットフォームとやり取りすると1RP消費※上記のみを1分間に1回行うと約2年間利用することが可能
2016/11/25(C) Copyright 1996-2016 SAKURA Internet Inc

56

通信モジュール オプション

さくらの通信モジュール オプション
Arduinoシールドボード
SCO-ARD-01

Arduino マイコンボードを利用したプロトタイプ開発に

定価8,000円

ブレイクアウトボード（検証ボード）
SCO-BB-01

その他のマイコンボードを利用したプロトタイプ開発に
2016/11/25(C) Copyright 1996-2016 SAKURA Internet Inc

定価5,000円
57

β版限定価格

さ く ら の Io T P l a t fo r m β 期 間

β期間中プラットフォーム利用料無料
RP消費なし2016/11/25(C) Copyright 1996-2016 SAKURA Internet Inc58

β提供記念キャンペーン
59

β版限定価格

さくらの通信モジュール及びオプション

半額
2016/11/25

単体方式
SCM-LTE-beta

9,960円

4,980円

100万回プラットフォームとデータ送受信可能なポイント※付き

Arduinoシールドボード
SCO-ARD-01

8,000円ブレイクアウトボード
5,000円（検証ボード）SCO-BB-01(C) Copyright 1996-2016 SAKURA Internet Inc

4,000円
2,500円60

ここまでのまとめ

2016/11/25(C) Copyright 1996-2016 SAKURA Internet Inc

61

実際に使ってみよう

IoTPlatform62

さくらの IoT Platform
β版ハンズオン

2016/11/27

さくらインターネット株式会社

コミュニティマネージャー

法林 浩之

実際に使ってみよう

ハンズオンの資料に沿って実際に使っている様子を紹介
64

ハンズオンでやっていること

Webサービス連携（さくらのクラウド）

マイコンおよびプログラムの構築
温湿度センサマイコン（HDC1000） （Arduino Uno）

さくらのIoT
Platformの設定

さくらの通信モジュール

さくらのIoT
Platformβ

仮想サーバ

コンテナ

Webサービス連携（Arukas）
65

今日の実演内容

1. マイコンおよびプログラムの構築
₋₋₋

マイコン（Arduino）による開発環境の準備
温湿度センサおよびさくらの通信モジュールの繋ぎ込み
試験用プログラムの流し込み

2. さくらのIoT Platformの設定
₋₋₋

プロジェクトの作成
さくらの通信モジュールの登録
連携サービスの設定

3. Webへのデータ連携（さくらのクラウド）₋₋₋

Node-REDサーバの作成
WebSocketを利用したデータ連携フロー作成
Zabbixサーバへのデータ連携とグラフ化※ハンズオン対象外
66

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

今回のハンズオンの流れ

Webサービス連携（さくらのクラウド）

マイコンおよびプログラムの構築
温湿度センサマイコン（HDC1000） （Arduino Uno）

さくらのIoTPlatformの設定

さくらの通信モジュール

さくらのIoT
Platformβ

仮想サーバ

コンテナ

Webサービス連携（Arukas）
68Arduino IDEのセットアップ

https://www.arduino.cc/en/Main/Software から開発環境（Arduino IDE）を入手します。
2016/10/18時点での最新版は【1.6.12】となります。

69

温湿度センサ HDC1000 ライブラリ
Googleにて「github hdc1000」を検索し、ライブラリを入手します。
https://github.com/hotchpotch/Arduino-HDC1000入手したZipファイルは解凍し、「Arduino-HDC1000-master」フォルダごと以下へ格納します。
WindowsC:¥Users¥《ユーザ名》¥Documents¥Arduino¥libraries
Mac書類¥Arduino¥libraries

70

さくらのIoT通信モジュール ライブラリ
Googleにて「github sakuraioarduino」を検索し、ライブラリを入手します。
https://github.com/sakura-internet/SakuraIOArduino

入手したZipファイルは解凍し、「SakuraIOArduino-master」フォルダごと以下へ格納します。
WindowsC:¥Users¥《ユーザ名》¥Documents¥Arduino¥libraries
Mac
書類¥Arduino¥libraries

71Arduino IDEのセットアップ
Arduino IDEが起動したら、Arduino本体をPCに接続します。
ボードは【Arduino/Genuino Uno】、シリアルポートは出てきたCOMポートを選択します。
Macの場合はシリアルポート内の「～～～（Arduino/Genuino Uno）」となるものを選択します。
ボードの選択シリアルポートの選択

72

温湿度センサの繋ぎ込み結線を行うため、ArduinoをPCから外します。
その後、図に従ってジャンパーコードを接続します。
SCL
SDA

GND
SCL
SDA
+V

GND
3.3V

73

74

試験用プログラムの流し込み[スケッチの例]→[SakuraIO]→[HDC1000] →【→】ボタンをクリックします。
[ツール]→[シリアルモニタ]より「Waiting to come online」表記の後、カウント値、Temperature、Humidityに加え、Available（キューイング可能なチャンネル数）とQueued（キューで送信待ちになっているチャンネル数）が表示されることを確認します。

75

さくらのIoT Platformの設定
76

今回のハンズオンの流れ

Webサービス連携（さくらのクラウド）

マイコンおよびプログラムの構築
温湿度センサマイコン（HDC1000） （Arduino Uno）

さくらのIoT
Platformの設定

さくらの通信モジュール

さくらのIoT
Platformβ

仮想サーバ

コンテナ

Webサービス連携（Arukas）
77

コントロールパネルへのログイン
Googleにて「さくらインターネット iot 開発者」を検索し、開発者向けページからコントロールパネル（https://secure.sakura.ad.jp/iot-alpha/）にログインします。

78

コントロールパネルでの設定

プロジェクトを作成し、通信モジュールを登録し、連携サービスを設定します。

プロジェクト→モジュール→

79動作確認
作成した連携サービスで、シリアルポートで表示される情報（温度/湿度/シリアル値）と同様の情報が画面上で受信データとして表示されていることを確認します。
送信されたデータのタイムスタンプ

単一メッセージで送信された値は同一時刻で表示

データを送信した
通信モジュールのID

データが格納されたチャンネル番号

データの型

送信された値→カウント値→湿度→温度80

Webへのデータ連携（Node-RED編）

81

今回のハンズオンの流れ

Webサービス連携（さくらのクラウド）

マイコンおよびプログラムの構築
温湿度センサマイコン（HDC1000） （Arduino Uno）

さくらのIoT
Platformの設定

さくらの通信モジュール

さくらのIoT
Platformβ

仮想サーバコンテナ

Webサービス連携（Arukas）
82

さくらのクラウド コントロールパネル ログイン
以下URLより、「さくらのクラウド」のコントロールパネルにログインします。
「https://secure.sakura.ad.jp/cloud/」83サーバの作成
左側のペインのサーバを選択し、右上の【追加】ボタンをクリックします。
はじめはサーバ追加の案内が出る場合があります。

84

Node-REDサーバの構築

作業概要• Gitの入手• NVM(Node Version Manager)の入手と設定• Node.jsの入手• Node-REDの入手と設定と起動

2016/11/25(C) Copyright 1996-2016 SAKURA Internet Inc85

コンソールでの環境のセットアップ
まずはyumコマンドでGitのパッケージをインストールします。
-----------------------------------------------------------#Gitのインストール-----------------------------------------------------------[root@test ~]# yum -y install git
Loaded plugins: fastestmirror, priorities, security
Setting up Install Process
Determining fastest mirrors
epel/metalink| 5.2 kB
* elrepo: ftp.ne.jp* epel: www.ftp.ne.jp

00:00

～中略～
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!
86コンソールでの環境のセットアップ
次にGitを使用してNode Version Manager(NVM)をインストールします。
-----------------------------------------------------------#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～中略～
to remove, delete, or uninstall nvm - just remove the `$NVM_DIR` folder (usually `~/.nvm`)87

コンソールでの環境のセットアップ
NVMを使用し、Node-REDが稼動するためのNode.jsをインストールします。
-----------------------------------------------------------#Node.jsのインストール-----------------------------------------------------------[root@test ~]# nvm ls-remote
v0.1.14v0.1.15～中略～
v6.2.1v6.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 -vv6.2.288

コンソールでの環境のセットアップ
Node-REDをインストールし、起動します。以降はWebブラウザで作業します。
-----------------------------------------------------------#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 ->～中略～`-- xmlbuilder@4.2.1`-- lodash@4.13.1[root@test ~]# node-red
Welcome to Node-RED

ここのIPアドレスをサーバのグローバルIPアドレスに変更してブラウザでアクセス～中略～
21 Jun 14:29:05 - [info] Started flows
21 Jun 14:29:05 - [info] Server now running at http://127.0.0.1:1880/
89

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

ノード
パレット

シート

Info/Debug
コンソール

90

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

91

Node-RED WebSocketノードの作成
ドラッグ&ドロップされたWebSocketノードをWクリックし、設定画面に移ります。
まずはPathの行にある鉛筆マークをクリックします。

92

Node-RED WebSocketノードの作成指定するPathの値は、コンパネの連携サービスで確認できる赤枠部分となります。
赤枠部分の情報をコピーして、WebSocketノードのPath部分にペーストします。

93

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

97Node-RED ノード間の接続各ノードでの動作を処理として繋げるために、WebSocketノードの右端とDebugノードの左端をドラッグ&ドロップで線を繋ぎます。

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

99

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

100

取得した温湿度をTwitterに投稿

Websocketでデータを入手 → 温度と湿度を抽出 → 小数第一位で四捨五入→ 10分ごとにトリガー発生 → メッセージ作成 → Twitterに投稿

101取得した温湿度をTwitterに投稿

展示ブースにて実演中

102

Webへのデータ連携（Zabbix編）

103

さくらのIot Platform+Zabbixデモ

3G/LTE
閉域網

通信モジュール

WebSocket

Linux (CentOS 7.2)

http://zabbix.sakura-pr.jp/(59.106.222.91 )Arduino温湿度センサ

WebSocket 受信スクリプト(Perl)↓zabbix_sender で Zabbix に送信↓

Zabbix でデータ収集・グラフ化・アクション
104

作業概要

• サーバの作成• Zabbixサーバの構築• Zabbixにおける監視の設定• さくらのIoT Platformからのデータ取得
プログラムの設置

2016/11/25(C) Copyright 1996-2016 SAKURA Internet Inc105

Zabbixサーバの構築

田中さん＠ZABBIX-JPの記事を参照

•

•
•

•

Zabbix 3.0をCentOS 7にインストール
http://qiita.com/atanaka7/items/294a639effdb804cfdaa

作業の概略
••
•
•
•

2016/11/25

CentOS 7のサーバを作成
firewalldの設定
Webサーバ(Apacheなど)の入手と設定
MariadbのインストールとDB作成
Zabbixのインストールと設定(C) Copyright 1996-2016 SAKURA Internet Inc

106

Zabbixの監視設定(概略)監視の有効化 → アイテムの作成 → グラフの追加→ スクリーンの追加

2016/11/25(C) Copyright 1996-2016 SAKURA Internet Inc107

Zabbixへのデータ投入プログラム

処理の流れ：
1. さくらの Iot Platform からの WebSocket を受信 (Mojoliciousを使用)
2. 温度と湿度のデータを zabbix_sender で送信#!/usr/bin/perl
use strict;
use warnings;
use Mojo::UserAgent;
my $ua = Mojo::UserAgent->new;$ua->websocket('wss://secure.sakura.ad.jp/iot-alpha/ws/xxxxxxxxxx/' => sub {（略）
open(CMD, "zabbix_sender -z 127.0.0.1 -s ¥"Zabbix server¥" -k
sakura_iot_temp -o $dat |");
print "Temp:",$dat,"¥n";print "zabbix_sender -z 127.0.0.1 -s ¥"Zabbix server¥" -k sakura_iot_temp -o",$dat,"¥n";

2016/11/25(C) Copyright 1996-2016 SAKURA Internet Inc108

WebsocketのURIを入手しプログラムに設定

2016/11/25(C) Copyright 1996-2016 SAKURA Internet Inc

109

110

まとめ114

今日お話ししたこと• さくらのIoT Platformの概要• 開発経緯• 主な機能/システム構成/パートナー連携• 事例• β版の販売について• 実際に使ってみる• マイコンおよびプログラムの構築• さくらのIoT Platformの設定• Webサービスとの連携
2016/11/25(C) Copyright 1996-2016 SAKURA Internet Inc115

さくらのIoT Platformが目指す世界

通信⇔データ連携
さくらインターネットにお任せ通信

ネットワークDB

ミドルAPI

既存の事業領域/スキルセットの大幅な変更なくモノ/サービスづくり、連携に注力可能

展示ブースにもぜひお立ち寄りください！

Webサービス連携（Node-RED）

マイコンおよびプログラムの構築
温湿度センサマイコン（HDC1000） （Arduino Uno）

さくらのIoT
Platformの設定

さくらの通信モジュール

さくらのIoT
Platformβ「さくらのクラウド」2万円クーポンも配布中！
ステッカーやグッズも配布中！

仮想サーバ仮想サーバWebサービス連携（Zabbix）
117

広島でもさくらのイベントを！

• 広島でもさくらのイベントを開催したい！
• さくらのIoT Platformのハンズオン• さくらのクラウドやArukasなどのハンズオン• さくらの夕べ / さくらクラブ など…
• 協力者求む！
• 会場の提供• 参加者集め
• 地元コミュニティとの共催も可
2016/11/25(C) Copyright 1996-2016 SAKURA Internet Inc118

そこに、さくら119