SORACOM Conference Discovery 2017 | E2. IoTデバイス・デザインパターン ベストプラクティス
- 4. 自己紹介
松下 享平 (まつした こうへい)
• 静岡県民
• 前職は東証二部ハードウェア・メーカーで
IoT事業のコーディネート
• 2017年3月より「テクノロジー・エバンジェリスト」
• IoTエンジニア養成読本 共同著者
• 好きな���ラコムサービス
• SORACOM Air メタデータサービス
• SORACOM Funnel
• SORACOM Air for LoRaWAN
• Facebook, Twitter: ma2shita
- 7. 本セッションで紹介するSORACOMサービ
ス
SORACOMのグローバルなインフラ
120以上の国・地域で利用可能
ライブラリ & SDKs
CLI, Ruby, Swift
Web インターフェース
User Console
データ転送支援
SORACOM
Beam
クラウドアダプタ
SORACOM
Funnel
データ収集・蓄積
SORACOM
Harvest
プライベート接続
SORACOM
Canal
デバイスLAN
SORACOM
Gate
IoT向けデータ通信
SORACOM Air
Cellular (2G, 3G, LTE) / LPWA (LoRaWAN, Sigfox)
専用線接続
SORACOM
Direct
仮想専用線
SORACOM
Door
API
Web API, Sandbox
データ通信
ネットワーク
アプリケーション
インターフェース
認証サービス
SORACOM
Endorse
デバイス管理
SORACOM
Inventory
透過型
トラフィック処理
SORACOM
Junction
- 15. 接続情報や認証情報等のオフロード
SORACOM Beam ― データ転送支援
SORACOM Funnel ― クラウドアダプタ
本来デバイスに実装するべき接続先設定や暗号化等を
SORACOMへオフロード(負荷を移動)
インターネット
LoRaWAN, Sigfoxの場合
送信先設定すら不要
オンプレ
システムA
クラウド
システムB
SORACOM Beam
SORACOM Funnel
beam.soracom.io
funnel.soracom.io
へ送信する実装のみでOK
SORACOM BeamやFunnel上に
• 接続設定 (認証情報や接続先)
• 暗号化 / プロトコル変換
を保管
- 28. LPWAデバイス
SORACOM Air for Sigfox NEW
Sens’it
オプテックス株式会社
ドライ コンタクト コンバーター
Sigfox Shield for Arduino
SORACOMコンソールで
注文可能
SORACOMコンソールで
注文可能
SORACOM Air for LoRaWAN
STマイクロエレクトロニクス
STM32L0 Discovery kit LoRa (B-L072Z-LRWAN1)
MultiTech
MultiConnect® mDot™
株式会社Braveridge
BVMLRS923N52S
SORACOMコンソールで
注文可能
SORACOMコンソールで
注文可能
Arduino UNO R3向け
LoRaWANシールド AL-050
株式会社GISupply
LT-100
- 35. SORACOM Air / IPアドレスの特定
SORACOM管理コンソールから
$ soracom subscribers list
--serial-number-filter DXXXX0
| jq -r .[].ipAddress
10.XXX.XXX.XXX
soracom-cli (API)から
- 36. SORACOM Inventory
• OMA LightweightM2M(LwM2M)をベースにした
デバイス管理フレームワークを提供するサービス
• SORACOM Airと連携した、デバイスの自動登録機能を提供
Inventory
クライアント
Inventory
サーバ
LwM2M
NEW
- 41. プロトコルヘッダサイズ
HTTP MQTT TCP UDP
最小ヘッダサイズ 50 2 ― ―
L4ヘッダサイズ 20 20 20 8
計 70 22 20 8
http://ossforum.jp/jossfiles/05_03_application.pdf 単位: byte
※TLS(DTLS)の場合はKbyte単位で増加
1分に1回のデータ送信 (ヘッダのみ)
HTTP: 60秒 × 24時間 × 30日 × 70byte = 約3.0MB / 月
UDP: 60秒 × 24時間 × 30日 × 8byte = 約0.3MB / 月
- 42. SORACOM Air for セルラー
Low Data Volume
https://blog.soracom.jp/blog/2017/05/22/how-to-buy-and-use-lowdatavolume/
数バイト/日
のユースケース
0.4USD/month ~
=約45円/月 ~
通信量 (KiB/月)
通信料金(円/月)
- 48. セルラーネットワークにおけるUDPの信頼
性
NTT DOCOMO テクニカル・ジャーナル Vol.19 No.1
高速・大容量・低遅延を実現するLTEの無線方式概要
NTTドコモ 無線アクセス開発部 大久保尚人 ウメシュアニール 岩村幹夫 新博行
P17 図9 より
https://www.nttdocomo.co.jp/binary/pdf/corporate/technology/rd/technical_journal/bn/vol19_1/vol19_1_011jp.pdf
DC基地局デバイス
下位レイヤにて再送等の信頼性が確保
実際のデータ
基地局⇔DC間が
UDP伝送
- 50. ペイロード設計
項目 取りうる値
センサーID 0 ~ 3
物体までの距離 (cm) 0 ~ 30
[3,30]
6 byte
JSON
0x92031F
MessagePack
3 byte
独自���ォーマット
1 byte
• クラウド側で扱いやすい
• デバイスによっては生成コストが高い
• クラウド・デバイス双方で
そこそこ扱いやすい
• 徹底した削減までとはいかない
• デバイスでの生成コストが低い
• クラウドでの扱いが極めて困難
7bit 6bit 5bit 4bit 3bit 2bit 1bit 0bit
0 ~ 30
(幅的には31まで)
0~3
(幅的には7まで)
0
1
2
3
- 54. “データ”に着目したモニタリング手法
• モニタリングミドルウェアの利用
• Zabbixの nodata関数
• ストリーミングデータ・リアルタイム
分析
• Stream Analytics、Kinesis Analytics
→ ウィンドウ関数、JOIN等
• 特徴量分析による欠損値補完
• パケット・インスペクション
• SORACOM Junction
トラフィックの統計情報、
パケットミラーリングを利用した分析や
アラートトリガー
Azure Stream Analytics クエリ
SELECT
t1.time,
t1.dspl AS SensorName
INTO
output
FROM
InputStream t1 TIMESTAMP BY time
LEFT OUTER JOIN InputStream t2 TIMESTAMP BY time
ON
t1.dspl=t2.dspl AND
DATEDIFF(second,t1,t2) BETWEEN 1 and 5
WHERE t2.dspl IS NULL
https://docs.microsoft.com/ja-jp/azure/stream-analytics/stream-analytics-get-started-
with-azure-stream-analytics-to-process-data-from-iot-devices
NEW