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
38
ClineにNext.jsのプロジェクト改善をお願いしてみた / 20250321_reacttokyo_LT
optim
2
1.9k
k8s(EKS)でマルチテナントプラットフォームを運用する際のコスト按分の実装 / 250124_LT_SRE
optim
0
52
MDMサービスの巨大さと特殊さに負けない開発体制と品質プロセス / technight250218
optim
0
120
Nuxt3マイグレーションについて / nuxt_migration
optim
1
230
挑戦を楽しむ!保守運用の管理課題への取り組み
optim
0
150
開発生産性を始める前に開発チームができること / optim-improve-development-productivity.pdf
optim
1
920
Go×LLMで新たなコード生成の可能性を探る / GolangDeveloperNight_Go×LLM
optim
0
910
スプリントレビュー(バザー形式)とそれを支えるCI CD / sprint-review-bazaar-and-supporting-cicd
optim
0
990
Other Decks in Programming
See All in Programming
Porting a visionOS App to Android XR
akkeylab
0
340
すべてのコンテキストを、 ユーザー価値に変える
applism118
3
1.2k
Railsアプリケーションと パフォーマンスチューニング ー 秒間5万リクエストの モバイルオーダーシステムを支える事例 ー Rubyセミナー 大阪
falcon8823
5
1.1k
LT 2025-06-30: プロダクトエンジニアの役割
yamamotok
0
720
PostgreSQLのRow Level SecurityをPHPのORMで扱う Eloquent vs Doctrine #phpcon #track2
77web
2
500
Azure AI Foundryではじめてのマルチエージェントワークフロー
seosoft
0
160
5つのアンチパターンから学ぶLT設計
narihara
1
160
PipeCDのプラグイン化で目指すところ
warashi
1
260
Modern Angular with Signals and Signal Store:New Rules for Your Architecture @enterJS Advanced Angular Day 2025
manfredsteyer
PRO
0
200
Hypervel - A Coroutine Framework for Laravel Artisans
albertcht
1
110
プロダクト志向ってなんなんだろうね
righttouch
PRO
0
180
「Cursor/Devin全社導入の理想と現実」のその後
saitoryc
0
770
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.4k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.5k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
730
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
A Tale of Four Properties
chriscoyier
160
23k
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.