SlideShare a Scribd company logo
2017 July 5th
IoT時代のデバイスマネージメント
株式会社チカク シニアエンジニアリングマネージャー 高橋 一貴様
株式会社ソラコム CTO 安川 健太
~SORACOM Inventoryの活用~
Platinum
Gold
Silver
Thanks to our Sponsors
LPWA
本日のハッシュタグ
#discovery2017
@SORACOM_PR
https://www.facebook.com/soracom.jp/
Internet of Things
Internet CloudThings
IntelligenceConnected
Devices
IoTシステムを構築する際の様々な課題
©2016 SORACOM, INC 5
Internet CloudThings
セキュリティ
デバイスの
制限
ネットワークへ
の接続
デバイス
管理
クラウドとの
インテグレーション
IoTシステム構築を支援するSORACOMサービス
専用線
IoTバックエンド
お客様のシステム
Public
Endpoints
SORACOM
Canal/Direct/Door
クラウド
サービス
SORACOM
Endorse
SORACOM Airが提供する安全な通信路
SORACOM
Harvest
SORACOM Beam
SORACOM Funnel
SORACOM Gate
SORACOM Air
IoTシステムを構築する際の様々な課題
©2016 SORACOM, INC 7
Internet CloudThings
セキュリティ
デバイスの
制限
ネットワークへ
の接続
デバイス
管理
クラウドとの
インテグレーション
• 回線状態はSORACOMで分かるけど
デバイス自体の監視はしないといけない
• コマンドを実行したい。そのためだけに
リモートログインの仕組み入れてる
• デバイス管理の仕組みを導入するために
新たに認証情報を配布するのは大変
お客様の声に耳を傾けると
通信回線を活用しながら
デバイスの状態管理やコマンド実行を行える
汎用的な仕組みを提供できないか?
SORACOM InventoryI
デバイス管理サービス
SORACOM Inventory - デバイス管理
エージェント
READ
バッテリー残量、メモリ空き容量、現在位置 etc.
WRITE 更新パッケージデータ etc.
専用エージェントを通じて
デバイスの状態管理・設定更新・コマンド実行を可能に
EXECUTE パッケージ更新、再起動 etc.
SORACOM Inventory
OMA DM LwM2M HTTP Rest API
管理デバイス一覧
デバイスの詳細画面
各オブジェクトやリソースには全てIDが
割り当てられている
例: Device (3)のBattery Level (9) なら /3/0/9
Inventory
エージェント
Inventory
サーバ
Read
API
デバイスの情報取得: Read 操作
1. 値のReadリクエスト
GET /3/0/9
2. 現在のBattery Level
DeviceのBattery Level (== /3/0/9) をRead
Inventory
エージェント
Inventory
サーバ
Observe
API
デバイスの情報取得: Observe操作
1. 値のObserveリクエスト
POST /3/0/9/observe
2. 現在のBattery Level
4. 更新された値
3. 値の更新
DeviceのBattery Level (== /3/0/9) を Observe
Inventory
エージェント
Inventory
サーバ
デバイスの設定変更: Write操作
Write
API
1. Writeリクエスト
PUT /3/0/14
2. Accepted
DeviceのUTC Offset (== /3/0/14) にWrite
デバイス上のコマンド実行:Execute操作
Inventory
エージェント
Inventory
サーバ
Execute
API
1. Executeリクエスト
POST /3/0/4/execute
2. Accepted
DeviceのReboot (== /3/0/4) をExecute
株式会社チカク
シニアエンジニアリングマネージャー
高橋 一貴様
• 回線状態はSORACOMで分かるけどデ
バイス自体の監視はしないといけない
• コマンドを実行したい。そのためだけ
にリモートログインの仕組み入れてる
• デバイス管理の仕組みを導入するため
に新たに認証情報を配布するのは大変
お客様の声に耳を傾けると
• 回線状態はSORACOMで分かるけどデ
バイス自体の監視はしないといけない
• コマンドを実行したい。そのためだけ
にリモートログインの仕組み入れてる
• デバイス管理の仕組みを導入するため
に新たに認証情報を配布するのは大変
お客様の声に耳を傾けると
•Inventoryサービスには2つのエンドポイント
•Bootstrap: デバイス登録と認証情報提供
•Device Management: デバイス管理サービス
SORACOM Inventoryのエンドポイント
SORACOM Air以外の通信路
SORACOM Air経由 Bootstrap
SORACOM Airでのみ
到達可能
Device Management
任意の通信路から
到達可能
1. BootstrapサーバにSORACOM Airでアクセス 
• 自動でSIM所有者に紐づくデバイスを作成・鍵発行
2. 発行された鍵を使って認証・暗号化通信
SORACOM Inventoryのデバイス登録
1. Bootstrap リクエスト
2. デバイスID、認証鍵を
発行・保存3. デバイスID、認証鍵
4. デバイス登録リクエスト
(デバイスID, 認証鍵)
5. 認証鍵
6. デバイス登録完了
SORACOM Airを使っているデバイスは自動登録が可能!
• SORACOM Airを使うゲートウェイの配下デバイスも
自動登録してデバイス管理の対象に含めることが可能
• 各デバイスに独立してID及び鍵を発行
SORACOM Inventoryのデバイス登録
セルラー非搭載
デバイス
2. デバイスID・
認証鍵を発行・保存3. デバイスID、認証鍵
4. デバイス登録リクエスト
(デバイスID, 認証鍵)
5. 認証鍵
SORACOM Air搭載
ゲートウェイ 1. Bootstrap リクエスト
6. デバイス登録完了
• OMA DMとは?
• Open Mobile Alliance (OMA)で定められた
デバイス管理の業界標準
• 通信プロトコルとデバイス管理オブジェクトを規定
• OMA DM LwM2Mとは?
• OMAが定めたIoT/M2M向けのデバイス管理標準
• 制約のあるデバイスでも適用可能なプロトコルを採用
OMA DM LwM2M
OMA DM LwM2Mプロトコルスタック
UDP
DTLS
CoAP
LwM2M
Device
Object
温度
センサー
Object
Device
Object
温度
センサー
Object
• UDPベースのCoAPプロトコル
• DTLSによる暗号化
• オブジェクト定義を事前共有
データ転送量の最小化と
セキュリティ確保を両立
LwM2M デバイス管理オブジェクト
Device
Model number
Reboot
Battery Level
Memory Free
...
Software
Component
Component Identity
Component Version
Activate
Deactivate
...
Analogue
Input
Current Value
Min Measured Value
Sensor Type
...
http://www.openmobilealliance.org/wp/OMNA/LwM2M/LwM2MRegistry.html
OMA LwM2M Objects
IoT/M2Mに有用な多数のObjectが定義されている
OMA DM ObjectとResourceの関係
Object Instance 0
Resource 0
Resource n
Instance n
Resource n
Resource 0
/<Object ID> /<Instance ID> /<Resource ID>
例: 温度計が3つあるデバイスはTemperature SensorのInstanceが3つ
定義済みのObjectの例
Firmware
Location
Cellular connectivity
Software Component
Digital Input
Analogue Input
Generic Sensor
Presence Sensor
Humidity Sensor
Illuminance Sensor
Temperature Sensor
http://www.openmobilealliance.org/wp/OMNA/LwM2M/LwM2MRegistry.html
カテゴリ Object ID レンジ 説明
oma-label 0 - 1023
OMAで決められたObject。OMAのObjectのみが
利用可能なレンジ
reserved 1024 - 2047 将来の拡張のため予約済み
ext-label 2048 - 10240
第三者機関やアライアンスの標準で決められた
Object
x-label
10241 - 26240
26241 - 32768
企業や個人で登録されるObjectや、ベンダーが再
利用可能なObject
OMA DM ObjectとIDレンジ
•OMA DM LwM2Mに従うエージェントを利用可
•オープンソース実装の例
• Eclipse Leshan (Java)
• http://www.eclipse.org/leshan/
•Eclipse Wakaama (C言語)
• https://github.com/eclipse/wakaama
• AVSystem Anjey (C言語)
• https://github.com/AVSystem/Anjay
SORACOM Inventoryのエージェント
• Javaエージェント
• Eclipse Leshanベースの実装
• デバイス上でのコマンド実行の例含む
• Cエージェント
• Eclipse Wakaamaベースの実装
• OSのリブートなどの例を含む
• Androidエージェント
• Eclipse Leshanベースの実装
• 位置情報やバッテリ残量などの取得含む
エージェントのサンプル実装を公開予定
1. 既存の実装でできることを確認する
• 例:メモリ残量の取得などは既存実装にある
2. 実装しようとするユースケースに合うオブジェ
クト定義を選ぶ
• 例:指定のコマンドを実行するためにSoftware
Managementオブジェクトを選択
3. Object / Resourceのハンドラを実装する
• 例:Software ManagementのActivateが呼ばれ
たら指定のコマンドを実行
開発の流れ
コマンド実行の例: Eclipse Leshan編
•SoftwareComponent オブジェクト(/14)の
Activateが呼ばれたらスクリプトを実行
POST /14/0/3
でコマンド実行
POST /14/0/4
でプロセスをKill
• 遠隔計測サービス 「GENNECT Remote」で
リモートアクセスのためのSSHトンネル確立
日置電機様の検証事例
SSH
1. HTTP POST
/v1/devices/<deviceId>/14/0/3/execute
2. CoAP
POST /14/0/3
3. Establish SSH tunnel
管理者
SORACOM Inventoryの料金
アクティブデバイス数: 当該月に1度以上サーバにRegistrationをしたデバイスの数
イベント数: Registration、値の取得・通知・書き込み、コマンド実行などを行った数
(税別)
• C/Java/Androidのクライアントサンプルを提供
• Limited Preview中は利用料金は無料
Limited Previewの申込み受け付け開始!
• SORACOM Inventory:
デバイス管理のフレームワークを提供
• セキュアかつ低オーバーヘッドな
プロトコル
• コマンド実行や設定更新も低遅延で
• SORACOM Air連動で
自動デバイス登録
• SORACOM Airを
使わないデバイスでも利用可
おわりに
是非Limited Previewでお試しの上フィードバックを!
画像提供: http://maxpixel.freegreatpicture.com/Magic-Halloween-Sunset-Bounce-Magic-Wand-Witch-1112643
《 株式会社ソラコムのビジョン 》
世界中のヒトとモノをつなげ
共鳴する社会へ
SORACOM Conference Discovery 2017 | A3. IoT時代のデバイスマネジメント〜SORACOM Inventory の活用〜

More Related Content

SORACOM Conference Discovery 2017 | A3. IoT時代のデバイスマネジメント〜SORACOM Inventory の活用〜