WSO2 IoT Platform is one of the most adaptive Apache licensed open source IoT platforms available today. This slide deck discusses best of breed technologies WSO2 IoT Platform offers for device manufacturers to develop connected products as well as rich integration and smart analytics capabilities for system integrators to adopt devices into systems they build.
14. Server side cloud Server side cloud
Server side cloud
with edge computing
TCP / UDP
Ethernet WiFi MFC Bluetooth
Low Energy
MOTT-SN ZigBee MFC Bluetooth
Low Energy
MOTT-SN ZigBee
Communication
Gateway
Communication
Gateway
Edge Computing
15. Web / Portal Dashboard API Management
Event Processing and Analytics
Aggregation / Bus Layer
ESB and Message Broker
Communications
Zigbee, BLE, MFC, MQTT-SN, MQTT, HTTP
DevicesManager
Identity&AccessManagement
Reference Architecture for IoT
16. WSO2 IoT Platform
Device 1
Device 2
Device n
SDK
Device Binding
Hardware
SDK
Edge Computing Core
Communication
API
Applications
System
Device Management Plugins
Devices
System Applications
HTTP, MQTT, XMPP and Custom Transports
Authenticationand
Authorization
Analytics
Device Management Core Analytics Plugins
Devices AppsIoT Platform
17. WSO2 IoT Platform
Device 1
Device 2
Device n
SDK
Device Binding
Hardware
SDK
Edge Computing Core
Communication
API
Applications
System
Device Management Plugins
Devices
System Applications
HTTP, MQTT, XMPP and Custom Transports
Authenticationand
Authorization
Analytics
Device Management Core Analytics Plugins
Devices AppsIoT Platform
18. WSO2 IoT Platform
Device 1
Device 2
Device n
SDK
Device Binding
Hardware
SDK
Edge Computing Core
Communication
API
Applications
System
Device Management Plugins
Devices
System Applications
HTTP, MQTT, XMPP and Custom Transports
Authenticationand
Authorization
Analytics
Device Management Core Analytics Plugins
Devices AppsIoT Platform
19. WSO2 IoT Platform
Device 1
Device 2
Device n
SDK
Device Binding
Hardware
SDK
Edge Computing Core
Communication
API
Applications
System
Device Management Plugins
Devices
System Applications
HTTP, MQTT, XMPP and Custom Transports
Authenticationand
Authorization
Analytics
Device Management Core Analytics Plugins
Devices AppsIoT Platform
20. WSO2 IoT Platform
Device 1
Device 2
Device n
SDK
Device Binding
Hardware
SDK
Edge Computing Core
Communication
API
Applications
System
Device Management Plugins
Devices
System Applications
HTTP, MQTT, XMPP and Custom Transports
Authenticationand
Authorization
Analytics
Device Management Core Analytics Plugins
Devices AppsIoT Platform
21. WSO2 IoT Platform
Device 1
Device 2
Device n
SDK
Device Binding
Hardware
SDK
Edge Computing Core
Communication
API
Applications
System
Device Management Plugins
Devices
System Applications
HTTP, MQTT, XMPP and Custom Transports
Authenticationand
Authorization
Analytics
Device Management Core Analytics Plugins
Devices AppsIoT Platform
22. WSO2 IoT Platform
Device 1
Device 2
Device n
SDK
Device Binding
Hardware
SDK
Edge Computing Core
Communication
API
Applications
System
Device Management Plugins
Devices
System Applications
HTTP, MQTT, XMPP and Custom Transports
Authenticationand
Authorization
Analytics
Device Management Core Analytics Plugins
Devices AppsIoT Platform
23. WSO2 IoT Platform
Device 1
Device 2
Device n
SDK
Device Binding
Hardware
SDK
Edge Computing Core
Communication
API
Applications
System
Device Management Plugins
Devices
System Applications
HTTP, MQTT, XMPP and Custom Transports
Authenticationand
Authorization
Analytics
Device Management Core Analytics Plugins
Devices AppsIoT Platform
24. Building a connected locker
It’s the journey that matters.
Source : http://www.worldofwanderlust.com/journey-matters-end/
35. 100% API driven IoT Platform
Build your own experience with our managed REST APIs.
36. Device Management Core
WSO2 APIM
Store in
IoTS
Device Management
Device Group Mgt
Policy Management
Certificate Mgt
User Management
Core APIs available in IoTS
WSO2 APIM
Publisher in
IoTS
Publishing REST APIs
Device Mgt Portal
Subscribing to REST
APIs through API
Application
Accessing the APIs
though various clients
Any other client app
37. Obtaining an OAuth2 token for API access
curl -k -X POST https://localhost:8243/api-application-registration/register
-H 'authorization: Basic <Base64 encoded username:password>'
-H 'content-type: application/json'
-d '{ "applicationName":"device-management-app", "tags":["device_management"]}'
curl -k -d
"grant_type=password&username=admin&password=admin&scope=perm:admin:device-type
perm:device-types:events perm:device-types:events:view perm:device-types:types
perm:devices:operations"
-H "Authorization: Basic <Base64 encoded client credentials>"
-H "Content-Type: application/x-www-form-urlencoded" https://localhost:8243/token
Getting client credentials
Getting token for API access
1
3
2
38. Registering “locker” as a device type
curl -X POST http://localhost:8280/api/device-mgt/v1.0/admin/device-types
-H 'authorization: Bearer <access token>'
-H 'content-type: application/json'
-d '{"name": "smart-lock","deviceTypeMetaDefinition":
{"properties": ["lockId"],"features": [{"code": "lock_code", "name": "Set Lock Code for user",
"description": "Set 4 digit lock code with comma separated username"},{"code": "Allow
Open","name": "allow_open", "description": "Set true to allow open with code, false otherwise"}],
"pushNotificationConfig": {"type": "MQTT", "scheduled": false}, "description": "this is a new remote
control smart lock", "initialOperationConfig": {"operations": ["lock_code"]}}}'
Registering a new device type using APIs
1
Device type is the extension point to introduce new
type of devices to IoT platform.
44. Registering an event stream from ‘locker’
1
curl -X POST http://localhost:8280/api/device-mgt/v1.0/events/locker
-H 'authorization: Bearer <access token>'
-H 'content-type: application/json'
-d '{"eventAttributes": {"attributes": [{"name": "locker_status","type": "String"}, "transport":
"MQTT"}'
Device instance will be sending events to IoT
platform. These event formats need to be
registered.
68. • Devices can be moving /
stationary
• Analytics on moving
devices
– Real time location updates
– Geo Fencing
– Geo Tagging
– Geo Messaging
– Alerting
• Analytics on stationary
devices
– Location Map
– Geo location based groups
Location based services
71. Support for Edge / Fog computing
Privacy, latency, offline operations matters.
72. • Why?
– Safeguard privacy
– Reduce latency
– Minimize bandwidth usage
– Avoid connectivity issues
• A platform specific packaged offering of WSO2 Siddhi, e.g.
– Edge Computing Engine for Android
– Edge Computing Engine for Yocto Linux
• WSO2 Siddhi
– Lightweight, easy-to-use open source CEP engine
– https://github.com/wso2/siddhi
• Centralized distribution of rules and offline execution mode
Edge / Fog Computing
73. • Firebase Cloud Messaging (FCM) or local push notifications
• Auto enroll device with mutual SSL
• Integrate with Android system service apps (sign with vendor
firmware signing key)
– Reboot, firmware upgrade, silent app install/update/remove
• Data containerization
• Android for work support
• Device ownership application via device owner APIs (for
COPE)
Android-Based Device Management