cloud-centric ecosystem approach to address iot interoperability
TRANSCRIPT
![Page 1: Cloud-Centric Ecosystem Approach to address IoT Interoperability](https://reader033.vdocuments.site/reader033/viewer/2022042706/58766fda1a28abd0018b5e9d/html5/thumbnails/1.jpg)
Cloud-Centric Ecosystem Approach to address IoT Interoperability
Dr. Yujing WuDeveloper Evangelist https://artik.cloud/@yujingwuhttps://www.linkedin.com/in/yujingwu
![Page 2: Cloud-Centric Ecosystem Approach to address IoT Interoperability](https://reader033.vdocuments.site/reader033/viewer/2022042706/58766fda1a28abd0018b5e9d/html5/thumbnails/2.jpg)
1. IoT challenge and methodology to address it
2. Case study: build a fire detection system w/o integration pain
Outline
![Page 3: Cloud-Centric Ecosystem Approach to address IoT Interoperability](https://reader033.vdocuments.site/reader033/viewer/2022042706/58766fda1a28abd0018b5e9d/html5/thumbnails/3.jpg)
artik.cloud
As a device developer, you created an innovative thing…
![Page 4: Cloud-Centric Ecosystem Approach to address IoT Interoperability](https://reader033.vdocuments.site/reader033/viewer/2022042706/58766fda1a28abd0018b5e9d/html5/thumbnails/4.jpg)
Step 1: Connect the awesome device to the Internet
artik.cloud
A lot of options to implement a system where this device interacts with apps/things created by YOU
![Page 5: Cloud-Centric Ecosystem Approach to address IoT Interoperability](https://reader033.vdocuments.site/reader033/viewer/2022042706/58766fda1a28abd0018b5e9d/html5/thumbnails/5.jpg)
artik.cloud
Step 2: How to make it smarter?
• Interact with many other things from different vendors
• Customized integration is not scalable and not future proof
![Page 6: Cloud-Centric Ecosystem Approach to address IoT Interoperability](https://reader033.vdocuments.site/reader033/viewer/2022042706/58766fda1a28abd0018b5e9d/html5/thumbnails/6.jpg)
Today: IoT = collections of silo systems
artik.cloud
![Page 7: Cloud-Centric Ecosystem Approach to address IoT Interoperability](https://reader033.vdocuments.site/reader033/viewer/2022042706/58766fda1a28abd0018b5e9d/html5/thumbnails/7.jpg)
New Smart City Service
New Smart Building App
New Home Security Service
Not Yet Invented
Vision: Connect EVERYTHING and enable …
IoT = Interoperability of Things
artik.cloud
![Page 8: Cloud-Centric Ecosystem Approach to address IoT Interoperability](https://reader033.vdocuments.site/reader033/viewer/2022042706/58766fda1a28abd0018b5e9d/html5/thumbnails/8.jpg)
Realize vision: IoT Open data exchange platform
Any device Any cloudAny data
Data Sources Applications
New class of applicationsservices
Make connections, not silos.
Rich Open APIs
artik.cloud
![Page 9: Cloud-Centric Ecosystem Approach to address IoT Interoperability](https://reader033.vdocuments.site/reader033/viewer/2022042706/58766fda1a28abd0018b5e9d/html5/thumbnails/9.jpg)
• Cloud is the best place to do it
• Three capabilities• Define and discover device Manifests• Powerful cross-device rule engine• Diverse ways to interact with devices and 3rd
party clouds
How to achieve interoperability?
artik.cloud
![Page 10: Cloud-Centric Ecosystem Approach to address IoT Interoperability](https://reader033.vdocuments.site/reader033/viewer/2022042706/58766fda1a28abd0018b5e9d/html5/thumbnails/10.jpg)
1. IoT challenge and methodology to address it
2. Case study: build a fire detection system w/o integration pain• Device development• Application development• Add on rule capability
Outline
artik.cloud
![Page 11: Cloud-Centric Ecosystem Approach to address IoT Interoperability](https://reader033.vdocuments.site/reader033/viewer/2022042706/58766fda1a28abd0018b5e9d/html5/thumbnails/11.jpg)
artik.cloud
Smart Light
Monitor & Control
app
Fire Detector
Vendor A
Vendor B
Vendor C
turn on/off light
Set rules
state
state
state
Case study: Fire detection system using solutions from multiple vendors
Rules: IF fire is on/off, THEN turn on/off light
![Page 12: Cloud-Centric Ecosystem Approach to address IoT Interoperability](https://reader033.vdocuments.site/reader033/viewer/2022042706/58766fda1a28abd0018b5e9d/html5/thumbnails/12.jpg)
Now assume we are developers from Vendor A…
How can we build a fire detector device typeso that other developers can discover and use it?
Device development
![Page 13: Cloud-Centric Ecosystem Approach to address IoT Interoperability](https://reader033.vdocuments.site/reader033/viewer/2022042706/58766fda1a28abd0018b5e9d/html5/thumbnails/13.jpg)
Four steps for device development
1. Know your device data and capability
2. Define your device manifest
3. Obtain an access token
4. Make API calls: send data to or receive commands
![Page 14: Cloud-Centric Ecosystem Approach to address IoT Interoperability](https://reader033.vdocuments.site/reader033/viewer/2022042706/58766fda1a28abd0018b5e9d/html5/thumbnails/14.jpg)
Device dev (1/4): Know device data/capability
![Page 15: Cloud-Centric Ecosystem Approach to address IoT Interoperability](https://reader033.vdocuments.site/reader033/viewer/2022042706/58766fda1a28abd0018b5e9d/html5/thumbnails/15.jpg)
Four steps for device development
1. Know your device data and capability
2. Define your device manifest
3. Obtain an access token
4. Make API calls: send data to or receive commands
![Page 16: Cloud-Centric Ecosystem Approach to address IoT Interoperability](https://reader033.vdocuments.site/reader033/viewer/2022042706/58766fda1a28abd0018b5e9d/html5/thumbnails/16.jpg)
Device Dev (2/4):define device Manifest in the Developer Dashboard
![Page 17: Cloud-Centric Ecosystem Approach to address IoT Interoperability](https://reader033.vdocuments.site/reader033/viewer/2022042706/58766fda1a28abd0018b5e9d/html5/thumbnails/17.jpg)
Device Dev (3/4): Connect a device in User Portal
![Page 18: Cloud-Centric Ecosystem Approach to address IoT Interoperability](https://reader033.vdocuments.site/reader033/viewer/2022042706/58766fda1a28abd0018b5e9d/html5/thumbnails/18.jpg)
Four steps for device development
1. Know your device data and capability
2. Define your device manifest
3. Obtain an access token
4. Make API calls: send data to or receive commands
![Page 19: Cloud-Centric Ecosystem Approach to address IoT Interoperability](https://reader033.vdocuments.site/reader033/viewer/2022042706/58766fda1a28abd0018b5e9d/html5/thumbnails/19.jpg)
Device Dev (3/4) : Get Access Token
![Page 20: Cloud-Centric Ecosystem Approach to address IoT Interoperability](https://reader033.vdocuments.site/reader033/viewer/2022042706/58766fda1a28abd0018b5e9d/html5/thumbnails/20.jpg)
Four steps for device development
1. Know your device data and capability
2. Define your device manifest
3. Obtain an access token
4. Make API calls: send data to or receive commands
![Page 21: Cloud-Centric Ecosystem Approach to address IoT Interoperability](https://reader033.vdocuments.site/reader033/viewer/2022042706/58766fda1a28abd0018b5e9d/html5/thumbnails/21.jpg)
REST API call
POST: https://api.artik.cloud/v1.1/messages headers: {"Authorization": "bearer <DEVICE TOKEN>"}, body:{"sdid":"<DEVICE ID>", "data": {"temp": temperature, "onFire": onFire }, "ts": timeStamp }
Device Dev (4/4): Send data to ARTIK Cloud
![Page 22: Cloud-Centric Ecosystem Approach to address IoT Interoperability](https://reader033.vdocuments.site/reader033/viewer/2022042706/58766fda1a28abd0018b5e9d/html5/thumbnails/22.jpg)
See live data in User Portal
![Page 23: Cloud-Centric Ecosystem Approach to address IoT Interoperability](https://reader033.vdocuments.site/reader033/viewer/2022042706/58766fda1a28abd0018b5e9d/html5/thumbnails/23.jpg)
Four steps for device development
1. Know your device data and capability
2. Define your device manifest
3. Obtain an access token
4. Make API calls: send data to or receive commands
![Page 24: Cloud-Centric Ecosystem Approach to address IoT Interoperability](https://reader033.vdocuments.site/reader033/viewer/2022042706/58766fda1a28abd0018b5e9d/html5/thumbnails/24.jpg)
Smart Light
Monitor & Control
app
Fire Detector
Vendor A
Vendor B
Vendor C
turn on/off light
Set rules
state
state
state
Device development is done!
![Page 25: Cloud-Centric Ecosystem Approach to address IoT Interoperability](https://reader033.vdocuments.site/reader033/viewer/2022042706/58766fda1a28abd0018b5e9d/html5/thumbnails/25.jpg)
1. IoT challenge and methodology to address it
2. Case study: build a fire detection system w/o integration pain• Device development• Application development• Add on rule capability
Outline
![Page 26: Cloud-Centric Ecosystem Approach to address IoT Interoperability](https://reader033.vdocuments.site/reader033/viewer/2022042706/58766fda1a28abd0018b5e9d/html5/thumbnails/26.jpg)
Now assume we are developers from Vendor C…
How can we build an app to use device typesbuilt by others?
Application development
![Page 27: Cloud-Centric Ecosystem Approach to address IoT Interoperability](https://reader033.vdocuments.site/reader033/viewer/2022042706/58766fda1a28abd0018b5e9d/html5/thumbnails/27.jpg)
What does the app look like to an end user?
NO FIRE
![Page 28: Cloud-Centric Ecosystem Approach to address IoT Interoperability](https://reader033.vdocuments.site/reader033/viewer/2022042706/58766fda1a28abd0018b5e9d/html5/thumbnails/28.jpg)
Four steps for app development
1. Discover device type and learn data/capability
2. Create app and request permissions
3. Obtain an access token
4. Make API calls: get data from or send commands to
![Page 29: Cloud-Centric Ecosystem Approach to address IoT Interoperability](https://reader033.vdocuments.site/reader033/viewer/2022042706/58766fda1a28abd0018b5e9d/html5/thumbnails/29.jpg)
App Dev (1/4) : Discover device types
![Page 30: Cloud-Centric Ecosystem Approach to address IoT Interoperability](https://reader033.vdocuments.site/reader033/viewer/2022042706/58766fda1a28abd0018b5e9d/html5/thumbnails/30.jpg)
App Dev (1/4) : learn the Manifest
![Page 31: Cloud-Centric Ecosystem Approach to address IoT Interoperability](https://reader033.vdocuments.site/reader033/viewer/2022042706/58766fda1a28abd0018b5e9d/html5/thumbnails/31.jpg)
Four steps for app development
1. Discover device type and learn data/capability
2. Create app and request permissions
3. Obtain an access token
4. Make API calls: get data from or send commands to
![Page 32: Cloud-Centric Ecosystem Approach to address IoT Interoperability](https://reader033.vdocuments.site/reader033/viewer/2022042706/58766fda1a28abd0018b5e9d/html5/thumbnails/32.jpg)
App Dev (2/4): Create app and
request permissions
![Page 33: Cloud-Centric Ecosystem Approach to address IoT Interoperability](https://reader033.vdocuments.site/reader033/viewer/2022042706/58766fda1a28abd0018b5e9d/html5/thumbnails/33.jpg)
Four steps for app development
1. Discover device type data/capability
2. Create app and request permissions
3. Obtain an access token
4. Make API calls: get data from or send commands to
![Page 34: Cloud-Centric Ecosystem Approach to address IoT Interoperability](https://reader033.vdocuments.site/reader033/viewer/2022042706/58766fda1a28abd0018b5e9d/html5/thumbnails/34.jpg)
App Dev (3/4): get access token – OAuth2
https://accounts.artik.cloud/authorize? client_id=xxx&response_type=token&redirect_uri=android-app://redirect
android-app://redirect#expires_in=1209600&token_type=bearer &access_token=xxxx
Example: Step 1: make an authentication call
Step 2: catch callback to get the token
![Page 35: Cloud-Centric Ecosystem Approach to address IoT Interoperability](https://reader033.vdocuments.site/reader033/viewer/2022042706/58766fda1a28abd0018b5e9d/html5/thumbnails/35.jpg)
Four steps for app development
1. Discover device type data/capability
2. Create app and request permissions
3. Obtain an access token
4. Make API calls: get data from or send commands to
![Page 36: Cloud-Centric Ecosystem Approach to address IoT Interoperability](https://reader033.vdocuments.site/reader033/viewer/2022042706/58766fda1a28abd0018b5e9d/html5/thumbnails/36.jpg)
App Dev(4/4): get data from ARTIK Cloud
https://api.samsungsami.io/v1.1/messages/last?count=1&sdids=xxxxHeader: "Authorization": "Bearer <ACCESS_TOKEN>"
"data": { "onFire": false "temp": 80 }
HTTP request:
HTTP response:
![Page 37: Cloud-Centric Ecosystem Approach to address IoT Interoperability](https://reader033.vdocuments.site/reader033/viewer/2022042706/58766fda1a28abd0018b5e9d/html5/thumbnails/37.jpg)
Four steps for app development
1. Discover device type data/capability
2. Create app and request permissions
3. Obtain an access token
4. Make API calls: get data from or send commands to
![Page 38: Cloud-Centric Ecosystem Approach to address IoT Interoperability](https://reader033.vdocuments.site/reader033/viewer/2022042706/58766fda1a28abd0018b5e9d/html5/thumbnails/38.jpg)
Application development (monitoring) is done!
FIRE!!!!!
![Page 39: Cloud-Centric Ecosystem Approach to address IoT Interoperability](https://reader033.vdocuments.site/reader033/viewer/2022042706/58766fda1a28abd0018b5e9d/html5/thumbnails/39.jpg)
1. IoT challenge and methodology to address it
2. Case study: build a fire detection system w/o integration pain• Device development• Application development• Add on rule capability
Outline
![Page 40: Cloud-Centric Ecosystem Approach to address IoT Interoperability](https://reader033.vdocuments.site/reader033/viewer/2022042706/58766fda1a28abd0018b5e9d/html5/thumbnails/40.jpg)
Smart Light
Monitor & Control
app
Fire Detector
Vendor A
Vendor B
Vendor C
turn on/off light
Set rules
state
state
state
Add Rules capability
Rules
Rule #1: If onFire is true, turn on lightRule #2: If onFire is false, turn off light
![Page 41: Cloud-Centric Ecosystem Approach to address IoT Interoperability](https://reader033.vdocuments.site/reader033/viewer/2022042706/58766fda1a28abd0018b5e9d/html5/thumbnails/41.jpg)
Two ways to manage rules• Manually manage them on User
Portal by the user • Programmatically manage them
through API calls within the app
![Page 42: Cloud-Centric Ecosystem Approach to address IoT Interoperability](https://reader033.vdocuments.site/reader033/viewer/2022042706/58766fda1a28abd0018b5e9d/html5/thumbnails/42.jpg)
Smart Light
Monitor & Control
app
Fire Detector
Vendor A
Vendor B
Vendor C
turn on/off light
#1 Make API callSet rules
statestate
state
Rules in action
Rules
If onFire is true/false, then turn on/off light
#2 Rules are working
![Page 43: Cloud-Centric Ecosystem Approach to address IoT Interoperability](https://reader033.vdocuments.site/reader033/viewer/2022042706/58766fda1a28abd0018b5e9d/html5/thumbnails/43.jpg)
Diverse way to communicate
Light
APP
Fire Detect
or
turn on/
off light
Set rules
state
state
state
Devices: • REST• WebSocket• MQTT• CoAP
3rd party clouds:• Cloud Connector• Subscription and
Notification• Integration using
REST/WebSocket
![Page 44: Cloud-Centric Ecosystem Approach to address IoT Interoperability](https://reader033.vdocuments.site/reader033/viewer/2022042706/58766fda1a28abd0018b5e9d/html5/thumbnails/44.jpg)
• Define and discover device Manifests• Powerful cross-silo rule engine • Diverse ways to interact with devices and 3rd party
clouds
Recap: how to achieve interoperability
• Build comprehensive solutions without integration pain• Each of the players focuses on what they do best
![Page 45: Cloud-Centric Ecosystem Approach to address IoT Interoperability](https://reader033.vdocuments.site/reader033/viewer/2022042706/58766fda1a28abd0018b5e9d/html5/thumbnails/45.jpg)
SDKs, tutorials, samples
![Page 46: Cloud-Centric Ecosystem Approach to address IoT Interoperability](https://reader033.vdocuments.site/reader033/viewer/2022042706/58766fda1a28abd0018b5e9d/html5/thumbnails/46.jpg)
List of “Works With” Devices
![Page 47: Cloud-Centric Ecosystem Approach to address IoT Interoperability](https://reader033.vdocuments.site/reader033/viewer/2022042706/58766fda1a28abd0018b5e9d/html5/thumbnails/47.jpg)
Thank you!
• https://artik.cloud
• https://developer.artik.cloud/
• https://blog.artik.cloud/
• https://github.com/artikcloud• @ArtikCloud | @SamsungIoT
![Page 48: Cloud-Centric Ecosystem Approach to address IoT Interoperability](https://reader033.vdocuments.site/reader033/viewer/2022042706/58766fda1a28abd0018b5e9d/html5/thumbnails/48.jpg)
Sign up for our ARTIK Cloud for IoT Challenge!
www.hackster.io/challenge/artikcloud