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
MDMサービスの巨大さと特殊さに負けない開発体制と品質プロセス / technight250218
optim
0
72
Nuxt3マイグレーションについて / nuxt_migration
optim
1
160
挑戦を楽しむ!保守運用の管理課題への取り組み
optim
0
110
開発生産性を始める前に開発チームができること / optim-improve-development-productivity.pdf
optim
1
700
Go×LLMで新たなコード生成の可能性を探る / GolangDeveloperNight_Go×LLM
optim
0
660
スプリントレビュー(バザー形式)とそれを支えるCI CD / sprint-review-bazaar-and-supporting-cicd
optim
0
770
Vue.jsを用いて数万の農地データ情報を数秒で表示させるまでのカイゼンの軌跡
optim
1
410
Metabaseを使ったコスト可視化とコスト最適化への道 / sre-cost-visualization
optim
0
740
新卒がアプリをEKSにデプロイした話 / sre-newcomer-deploy-app-to-eks
optim
1
360
Other Decks in Programming
See All in Programming
CDKを使ったPagerDuty連携インフラのテンプレート化
shibuya_shogo
0
120
バッチを作らなきゃとなったときに考えること
irof
2
550
生成AIで加速するテスト実装 - ロリポップ for Gamersの事例と 生成AIエディタの活用
kinosuke01
0
130
Kotlinの開発でも AIをいい感じに使いたい / Making the Most of AI in Kotlin Development
kohii00
5
1.5k
Drawing Heighway’s Dragon- Recursive Function Rewrite- From Imperative Style in Pascal 64 To Functional Style in Scala 3
philipschwarz
PRO
0
120
クリーンアーキテクチャから見る依存の向きの大切さ
shimabox
5
1.1k
color-scheme: light dark; を完全に理解する
uhyo
7
500
.NET Frameworkでも汎用ホストが使いたい!
tomokusaba
0
200
「個人開発マネタイズ大全」が教えてくれたこと
bani24884
1
280
責務と認知負荷を整える! 抽象レベルを意識した関心の分離
yahiru
8
1.5k
kintone開発を効率化するためにチームで試した施策とその結果を大放出!
oguemon
0
280
メンテが命: PHPフレームワークのコンテナ化とアップグレード戦略
shunta27
0
310
Featured
See All Featured
A Tale of Four Properties
chriscoyier
158
23k
The Cost Of JavaScript in 2023
addyosmani
47
7.4k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7.1k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
13
1k
We Have a Design System, Now What?
morganepeng
51
7.4k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Product Roadmaps are Hard
iamctodd
PRO
51
11k
Practical Orchestrator
shlominoach
186
10k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
100
18k
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.