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

2017/1/27

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

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

法林 浩之(C) Copyright 1996-2017 SAKURA Internet Inc私についてFacebook 法林 浩之
写真Twitter@hourin

どんな人？
・日本UNIXユーザ会 幹事・フリーランスエンジニア
・さくらインターネット コミュニティマネージャー
・くわしくは「法林浩之」で検索
さくらでやっていること
・当社主催イベントの運営
・社外イベント対応(協賛/出展/登壇/取材など)
・毎月5試合ぐらいあり2

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

さくらインターネットについて

大阪本社

東京支社

4

さくらインターネットの事業領域

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

仮想サーバ

専用サーバ

ハウジング

さくらのレンタルサーバ
さくらのマネージドサーバ

さくらのVPS
さくらのクラウド

さくらの専用サーバハウジング
リモートハウジング

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

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

ホスティング

顧客が物理サーバ1台を丸ごと占有するサービス

顧客が所有する機器類を設置するスペースと回線、電源などを貸与するサービス

コロケーション

さくらのサービス上で稼働
5

これまで気付けなかった「モノ・コト」の相関性や関係性を見出し、それを世界でシェアできるプラットフォーム各プレイヤーが既存の事業領域やスキルセットを大幅に変更せずにモノ/サービスづくり、連携へ注力できるようにしたい
6

"IoT"とは何か？
7

IoTと呼ばれているもの

8

IoTと呼ばれているもの“インターネット"と同じで広すぎる範囲
9IoTの立ち位置

出典：http://www.soumu.go.jp/johotsusintokei/whitepaper/ja/h28/html/nc123200.html

IoTが「ビジネスモデル転換」の前段となる「収集・蓄積」を担う
10

なぜIoTに注目が集まっているのか【Trillion Sensors Universe】
米国の起業家であるDr.Janusz Bryzek氏が2013年に提唱したビジョン。
「毎年1兆個のセンサーが活用される世界が2023年までに実現する」というもの。

11

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

13

さくらのIoT Platform
概要14

さくらのIoT Platformとは通信モジュール
LTE閉域網データ保存/連携サービス

統合型プラットフォーム
15

さくらのIoT Platformの提供範囲

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

電気信号

専用SIM

さくらの
通信モジュール
モノ（マイコン）

JSONデータ

Relation
Point

LTE
閉域網

専用線

収集

蓄積

連携

基地局

認証

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

管理UI

モノ側の「通信モジュール」からサービス側の「連携」までを「電気信号とJSONデータの相互変換」をプラットフォームとして提供
16

他のIoTプラットフォームとの差異

さくらのIoT Platform

他のIoT プラットフォーム

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

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

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

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

管理UI
連携API
サービス
（Web/AP/分析）
17

他のIoTプラットフォームとの差異

さくらのIoT Platform

他のIoT プラットフォーム

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

モノ（製造）

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

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

管理UI
連携API
サービス
（Web/AP/分析）
18

これまでとこれから• 2015/12/24 「さくらの聖夜」にてしれっと発表• 2016/02/08 α版を発表(記者説明会/さくらの夕べ)• 2016/10/05 CEATECにてβ版を発表• 2016/11/01 β版提供開始• 2016年度内 正式版を提供予定
19

さくらのIoT Platform
機能詳細
20量産を考慮した設計、機能

1.

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

2.

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

3.

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

4.

“時刻提供機能”でマイコンに現在時刻を提供

5.

“ファイル配信機能”でマイコン側のアップデートも実現

21

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

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

46mm

量産性に配慮した“基板間コネクタ”を採用

LTE
2.4GHz920MHz(LoRa)

34mm

方式

GW

特徴

通信可能
レンジ

伝送速度

消費
電力

LTE

不要

単独使用可

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

2.4GHz帯

必要

短距離
大容量

数百メートル速い

小さい

920MHz帯

必要

長距離
小容量

遅い

小さい

（最大1Km程度）

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

共通I/Fおよび寸法のため複数の無線規格への対応が容易
22

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

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

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

アンテナ
従来の通信手法
I2C/SPI

さくらの通信モジュール

削減工数

複数の無線規格に対応「作らなければならないもの」より「作りたいもの」に注力が可能
23

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

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フォーマットでやり取り
24

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

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

通信モジュール+SIMカードをセットで提供することで安全性を確保
25

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

プラットフォームサービスだから“設計や運用は考慮不要”
サービスの“設計”データの収集データの蓄積データの連携セキュリティ

サービスの“運用”ラージスケール対応

アップデート

障害切り分け、復旧

IoTサービスに不可欠な”設計”や”運用”はさくらインターネットが対応
26

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

正確な時刻の提供

マイコン側でのログ記録等が求められるデバイスやサービスに※マイコン側で時刻情報要求の制御が必要です
27

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

モジュールへの配信

さくらの通信モジュール

ファイルのアップロード

さくらの
IoT Platform

管理者

ソフトウェア的な問題はアップデートで対応可能※マイコン側でのファームウェア書換制御が必要です
28

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

オープンデータとして活用可能にいただくことでデータ保存のコストをゼロにできます。
公開したくないデータはユーザのみ閲覧権限を付与いただくことができます。
コンプライアンス対策としてデータを専用領域に保存いただくことができます。
データ保護ポリシーに応じて適切な保存先を選択可能
29

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

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

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

HTTP
Request

利用用途に応じて適切な連携方式を選択可能
30

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

他社クラウドサービスや自社環境にも用途に応じて連携可能
31

事例32

共創を実現するパートナーサービス「なぜそれが必要なのか」をパートナーと協力し追求、量産化対応、新機能、GW方式モジュール開発につなげ、継続している。

33

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

primesap

病院での実証実験

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

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

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

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

35

今後のPoCの予定

ハウステンボスとのPoC

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

データ
通信
回収指示

赤黄青

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

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

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

ご提供価格37

LTE版 通信モジュール

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

定価9,960円

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

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

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

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

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

定価8,000円（税別）

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

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

定価5,000円（税別）39β版限定価格

さ く ら の I o T P l atfo r m β 期 間

β期間中プラットフォーム利用料無料
RP消費なし40

ここまでのまとめ

41

実際に使ってみよう42

さくらの IoT Platform
β版ハンズオン2017/1/27

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

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

法林 浩之(C) Copyright 1996-2017 SAKURA Internet Inc実際に使ってみよう

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

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

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

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

さくらのIoT
Platformの設定

さくらの通信モジュール

さくらのIoT
Platform

仮想サーバ

コンテナ

Webサービス連携（Arukas）

45

今日の実演内容

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

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

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

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

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

Node-REDサーバの作成
WebSocketを利用したデータ連携フロー作成

₋Zabbixサーバへのデータ連携とグラフ化 ※ハンズオン対象外

46

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

今回のハンズオンの流れ

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

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

さくらのIoTPlatformの設定

さくらの通信モジュール

さくらのIoTPlatform

仮想サーバ

コンテナ

Webサービス連携（Arukas）

48

作業内容

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

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

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

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

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

Node-REDサーバの作成
WebSocketを利用したデータ連携フロー作成

₋Zabbixサーバへのデータ連携とグラフ化 ※ハンズオン対象外

49

Arduino IDEのセットアップ

https://www.arduino.cc/en/Main/Software から開発環境（Arduino IDE）を入手します。
2017/1/12時点での最新版は【1.8.1】となります。
Windowsは【Windows Installer】、Macは【 Mac OS X 10.7 Lion or newer】を選択します。

50

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

GND
SCL
SDA+V

GND
3.3V

52

53

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

57

さくらのIoT Platformの設定
58

今回のハンズオンの流れ

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

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

さくらのIoT
Platformの設定

さくらの通信モジュール

さくらのIoT
Platform

仮想サーバ

コンテナ

Webサービス連携（Arukas）

59

作業内容

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

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

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

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

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

Node-REDサーバの作成
WebSocketを利用したデータ連携フロー作成

₋Zabbixサーバへのデータ連携とグラフ化 ※ハンズオン対象外

60

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

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

62動作確認

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

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

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

データの型

送信された値→カウント値
単一メッセージで送信された値は同一時刻で表示→湿度→温度63

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

今回のハンズオンの流れ

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

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

さくらのIoT
Platformの設定

さくらの通信モジュール

さくらのIoT
Platform

仮想サーバ

コンテナ

Webサービス連携（Arukas）

65

作業内容

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

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

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

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

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

Node-REDサーバの作成
WebSocketを利用したデータ連携フロー作成

₋Zabbixサーバへのデータ連携とグラフ化 ※ハンズオン対象外

66

Node-REDサーバの作成

左側のペインのサーバを選択し、右上の【追加】ボタンをクリックします。
はじめはサーバ追加の案内が出る場合があります。

68

Node-REDサーバの構築

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

69

Node-RED 初期画面

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

ノード
パレット

シート

Info/Debug
コンソール

74

動作確認

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

81

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

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

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

83

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

さくらの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 でデータ収集・グラフ化・アクション
85

作業概要

•

サーバの作成•Zabbixサーバの構築•Zabbixにおける監視の設定•

さくらのIoT Platformからのデータ取得
プログラムの設置86

Zabbixサーバの構築

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

Zabbix 3.0をCentOS 7にインストール•

http://qiita.com/atanaka7/items/294a639effdb804cfdaa

作業の概略

••
•
••
•

CentOS 7のサーバを作成
firewalldの設定
Webサーバ(Apacheなど)の入手と設定
MariadbのインストールとDB作成
Zabbixのインストールと設定
87

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://api.sakura.io/ws/v1/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";89

温度と湿度をZabbixでグラフ化

91まとめ92

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

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

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

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

94

OSC大阪では展示も行います

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

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

さくらのIoT
Platformの設定

さくらの通信モジュール

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

仮想サーバ

仮想サーバ

Webサービス連携（Zabbix）

95

全国でさくらのイベントを！

• さくらのイベントを全国で開催したい！
• さくらのIoT Platformのハンズオン• さくらのクラウド / Arukasなどのハンズオン• さくらの夕べ / さくらクラブ など…
• 協力者求む！
• 会場の提供• 参加者集め
• 地元コミュニティとの共催も可96

そこに、さくら97