Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
OPTiM Cloud IoT OS でIoTはじめました / Hello IoT Wit...
Search
OPTiM
October 24, 2019
Programming
0
1.1k
OPTiM Cloud IoT OS でIoTはじめました / Hello IoT With CIOS
OPTiM
October 24, 2019
Tweet
Share
More Decks by OPTiM
See All by OPTiM
IoT機器の一括デバイスプロビジョニングと遠隔操作の技術 / 20250424-iot-aoki
optim
0
30
ClineにNext.jsのプロジェクト改善をお願いしてみた / 20250321_reacttokyo_LT
optim
2
1.8k
k8s(EKS)でマルチテナントプラットフォームを運用する際のコスト按分の実装 / 250124_LT_SRE
optim
0
46
MDMサービスの巨大さと特殊さに負けない開発体制と品質プロセス / technight250218
optim
0
110
Nuxt3マイグレーションについて / nuxt_migration
optim
1
210
挑戦を楽しむ!保守運用の管理課題への取り組み
optim
0
140
開発生産性を始める前に開発チームができること / optim-improve-development-productivity.pdf
optim
1
870
Go×LLMで新たなコード生成の可能性を探る / GolangDeveloperNight_Go×LLM
optim
0
860
スプリントレビュー(バザー形式)とそれを支えるCI CD / sprint-review-bazaar-and-supporting-cicd
optim
0
960
Other Decks in Programming
See All in Programming
コンポーネントライブラリで実現する、アクセシビリティの正しい実装パターン
schktjm
1
690
【TSkaigi 2025】これは型破り?型安全? 真実はいつもひとつ!(じゃないかもしれない)TypeScript クイズ〜〜〜〜!!!!!
kimitashoichi
1
300
漸進。
ssssota
0
1.4k
複数アプリケーションを育てていくための共通化戦略
irof
8
3.1k
技術懸念に立ち向かい 法改正を穏便に乗り切った話
pop_cashew
0
980
Babylon.js 8.0のアプデ情報を 軽率にキャッチアップ / catch-up-babylonjs-8
drumath2237
0
120
コードに語らせよう――自己ドキュメント化が内包する楽しさについて / Let the Code Speak
nrslib
5
1.1k
AI Coding Agent Enablement in TypeScript
yukukotani
17
7.5k
Building an Application with TDD, DDD and Hexagonal Architecture - Isn't it a bit too much?
mufrid
0
370
ワンバイナリWebサービスのススメ
mackee
10
7.5k
OpenNext + Hono on Cloudflare でイマドキWeb開発スタックを実現する
rokuosan
0
110
Feature Flag 自動お掃除のための TypeScript プログラム変換
azrsh
PRO
4
650
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
269
20k
We Have a Design System, Now What?
morganepeng
52
7.6k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
How to Think Like a Performance Engineer
csswizardry
23
1.6k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.6k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
750
Building Adaptive Systems
keathley
41
2.6k
The Invisible Side of Design
smashingmag
299
50k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
228
22k
Designing for humans not robots
tammielis
253
25k
The Pragmatic Product Professional
lauravandoore
35
6.7k
Automating Front-end Workflow
addyosmani
1370
200k
Transcript
© 2019 OPTiM Corp. ‹#› © 2019 OPTiM Corp. 株式会社
OPTiM 技術統括本部 プラットフォーム技術戦略室 青木 OPTiM Cloud IoT OS でIoTはじめました
© 2019 OPTiM Corp. ‹#› © 2019 OPTiM Corp. 株式会社
OPTiM 技術統括本部 プラットフォーム技術戦略室 青木 OPTiM Cloud IoT OS 実践 Web Application with IoT
© 2019 OPTiM Corp. 3 © 2019 OPTiM Corp. 自己紹介
青木 株式会社OPTiM 技術統括本部 プラットフォーム技術戦略室 PoC案件, CloudIoTOSと連携したアプリケーション Work Favorite ピアノ, カメラ, 電子工作, 旅行 ,etc…. Status 19年度新卒エンジニア
© 2019 OPTiM Corp. 4 © 2019 OPTiM Corp. 自己紹介
青木 株式会社OPTiM 技術統括本部 プラットフォーム技術戦略室 第2種電気工事士 アマチュア無線技士4級 日商簿記3級 基本情報技術者 [陸,海]特殊無線技士 Etc… 取得資格
© 2019 OPTiM Corp. 5 © 2019 OPTiM Corp. これまで触ったもの、最近触ってるもの
(他色々)
© 2019 OPTiM Corp. 6 © 2019 OPTiM Corp. TECH
BLOGも執筆してます。 TECH BLOGも執筆してます。
© 2019 OPTiM Corp. 7 目次 自己紹介 やりたいこと
• 詳細な流れ • CIOSの特徴とメインに使うこと やったこと さいごに
© 2019 OPTiM Corp. 8 今回やりたいこと
© 2019 OPTiM Corp. 9 © 2019 OPTiM Corp. Device
Web Sensor Data
© 2019 OPTiM Corp. 10 © 2019 OPTiM Corp. その後…
Web Sensor Data Device
© 2019 OPTiM Corp. 11 © 2019 OPTiM Corp. Device
Web Sensor Data よくあるIoTでやりたいこと No:1 (私調べ)
© 2019 OPTiM Corp. 12 © 2019 OPTiM Corp. これらを実現するためには
© 2019 OPTiM Corp. 13 © 2019 OPTiM Corp. Device
Web WebSocket Server DB Server Machine Auth
© 2019 OPTiM Corp. 14 © 2019 OPTiM Corp. Device
Web WebSocket Server DB Server Machine Auth 見るべき人にのみ公開
© 2019 OPTiM Corp. 15 © 2019 OPTiM Corp. Device
Web WebSocket Server DB Server Machine Auth 多数のユーザのデバイス からのアクセス
© 2019 OPTiM Corp. 16 © 2019 OPTiM Corp. Device
Web WebSocket Server DB Server Machine Auth スケーラブルな実装
© 2019 OPTiM Corp. 17 © 2019 OPTiM Corp. Device
Web WebSocket Server DB Server Machine Auth
© 2019 OPTiM Corp. 18 © 2019 OPTiM Corp. Device
Web Sensor Data できればココ以外は考えたくない
© 2019 OPTiM Corp. 19 © 2019 OPTiM Corp. Device
Web WebSocket Server DB Server Machine Auth ここの代わりになるのが
© 2019 OPTiM Corp. 20 © 2019 OPTiM Corp.
© 2019 OPTiM Corp. 21 © 2019 OPTiM Corp.
© 2019 OPTiM Corp. 22 © 2019 OPTiM Corp. 詳しく説明すると時間が足りなくなっちゃうので
© 2019 OPTiM Corp. 23 © 2019 OPTiM Corp. 今回利用する部分を重点的にお話します
© 2019 OPTiM Corp. 18 © 2019 OPTiM Corp. SensorData
Visualize SensorData Visualize Publish Subscribe
© 2019 OPTiM Corp. 25 © 2019 OPTiM Corp. SensorData
Visualize SensorData Visualize ACL Datastore Etc…
© 2019 OPTiM Corp. 26 © 2019 OPTiM Corp. SensorData
Visualize ACL Messaging PubSub Datastore Etc…
© 2019 OPTiM Corp. 27 いざ、実践
© 2019 OPTiM Corp. 28 © 2019 OPTiM Corp. まずは、ここの設定から
時間あるかな???
© 2019 OPTiM Corp. 29 © 2019 OPTiM Corp. 必要なAPIスコープ
のみ許可 Clientタイプ : Client リソースオーナー:自分 OAuthClientの作成 ※自分のアカウントでログインしてます
© 2019 OPTiM Corp. 30 © 2019 OPTiM Corp. Messaging
: 有効 リソースオーナー:自分 チャネルの作成 Datastore : 無効 ※今回はデータを蓄積しないため。 ※自分のアカウントでログインしてます
© 2019 OPTiM Corp. 31 © 2019 OPTiM Corp. Channel
Publish Subscribe チャネルの動作 複数人
© 2019 OPTiM Corp. 32 © 2019 OPTiM Corp. Channel
Publish Subscribe チャネルの動作 複数台
© 2019 OPTiM Corp. 33 © 2019 OPTiM Corp. Channel
Pub Sub Pub Sub チャネルとの関係性 * : 1 : *
© 2019 OPTiM Corp. 34 © 2019 OPTiM Corp. 次はデバイスの設定
© 2019 OPTiM Corp. 35 © 2019 OPTiM Corp. 1.Token
Request 2.Websocket Connect 3.Publish Data 流れ
© 2019 OPTiM Corp. 36 © 2019 OPTiM Corp. 1.Token
Request 2.Websocket Connect 3.Publish Data 流れ OAuth Clientを利用
© 2019 OPTiM Corp. 37 © 2019 OPTiM Corp. 1.Token
Request 2.Websocket Connect 3.Publish Data 流れ OAuth Clientを利用 Channel ID + Token
© 2019 OPTiM Corp. 38 © 2019 OPTiM Corp. 1.Token
Request 2.Websocket Connect 3.Publish Data 流れ OAuth Clientを利用 Channel ID + Token
© 2019 OPTiM Corp. 39 © 2019 OPTiM Corp. ※最小構成なので注意
© 2019 OPTiM Corp. 40 © 2019 OPTiM Corp. Token
Channel CIOS FQDN Message Publish => ※最小構成なので注意
© 2019 OPTiM Corp. 41 © 2019 OPTiM Corp. 最後にWebApplication
© 2019 OPTiM Corp. 42 © 2019 OPTiM Corp. デバイスと同じ要領で
JavascriptによるWebsocket通信を行います
© 2019 OPTiM Corp. 43 © 2019 OPTiM Corp. ※最小構成なので注意
© 2019 OPTiM Corp. 44 © 2019 OPTiM Corp. ※先程のコードだけでは動
きません
© 2019 OPTiM Corp. 45 © 2019 OPTiM Corp. Channel
Pub Sub Pub Sub チャネルとの関係性 ということは・・・
© 2019 OPTiM Corp. 46 © 2019 OPTiM Corp. Channel
Pub Sub Pub Sub チャネルとの関係性 ブラウザ同士でも利用できます
© 2019 OPTiM Corp. 47 © 2019 OPTiM Corp. ※先程のコードだけでは動
きません 相手側 自分
© 2019 OPTiM Corp. 48 © 2019 OPTiM Corp. Device
Web Sensor Data できた!!!
© 2019 OPTiM Corp. 49 さいごに
© 2019 OPTiM Corp. 50 © 2019 OPTiM Corp. •
IoTって結構たいへん • 基盤さえあれば簡単に実装は出来る • Messaging PubSubは使いようによって化ける • 繋がるのは楽しい!! 感想
© 2019 OPTiM Corp. 51 © 2019 OPTiM Corp. •
IoTって結構たいへん • 基盤さえあれば簡単に実装は出来る • Messaging PubSubは使いようによって化ける • 繋がるのは楽しい!! 感想 一緒にIoTデビューしましょう!
© 2019 OPTiM Corp. ‹#› © 2019 OPTiM Corp.