a modular open source platform for web scale iot interoperability
DESCRIPTION
IoT is a macro instance of the M-V-C pattern. Open source software components built from IoT Toolkit, Node-RED, and Dojo Toolkit create an open source stack for the Internet of ThingsTRANSCRIPT
A Modular Open Source Pla1orm for Web Scale IoT Interoperability
Michael J Koster Open Source Internet Of Things
IoT Toolkit
IoT Web Pla1orm Features
• Interoperability – Any ApplicaCon to Any Connected Thing using Any M2M Protocol
• Data Models drive discovery and linking • Event driven, modular applicaCon soJware • Web Programming Model • Internet and Web Standards • Web and Mobile UI hosCng
IoT 2.0 – Interoperability
M2M CoAP M2M
MQTT M2M SOA
M2M HTTP
Smart Object API IoT Toolkit
Discovery
ApplicaCons • Web Objects • REST + Event Model • M2M Abstrac9ons • Model Driven
Connected Things, Sensors, Actuators, Data Sources
Models
• Any app to any thing via any M2M, use-‐case decides M2M
• Easy to deploy new things and applicaCons using data models
• Write once, run anywhere soJware
• Network effect enabled
IoT Interoperability
• Ability to reuse and repurpose resources • Choice of suitable M2M protocols • Reusable soJware components • Ease of integraCng data from diverse sources • Common pla1orm across use cases • Diverse UI pla1orms • Data models enable machine understanding independent of M2M protocols
RDF
SemanCc and Protocol Interoperability • Separate Control Plane and Data Plane – Common Data Models
Enable Diverse M2M Protocols Between Smart Objects
• Any Original Catalog or SemanCc Format – Smart Object stores
RDFModel Format, translates others using a SemanCc Proxy
• ApplicaCons see one API – With suitable metadata
representaCon SSN TSB IPSO
SemanCc Proxy
RDF
Any M2M Protocol Anywhere
Common Data
Models
Catalogs, Diverse Metadata
Smart Object API
ApplicaCon
Smart Object API
ApplicaCon
Open Source IoT Components • Open Source Components Becoming Available – IoT Toolkit – REST API + Data Models + Events – Node-‐RED – Graphical ApplicaCon Tool – Dojo UI Toolkit – UI tools – MosquiYo MQTT Broker and Client – RDFlib with SPARQL – Graph storage – Neo4J Graph Database – CoAP Clients and Servers
• Sufficient to build a complete Pla1orm Stack • Components allow ApplicaCon soJware to run in Local Server, Gateway, and Cloud Service
Model-‐View-‐Controller Macro PaYern IoT Feedback Control Loops
• Autonomic and cyberneCc feedback loops
• People’s intenCons take part in the cyberneCc feedback loop
Model
View Controller
Informs
Updates
Informs Actuates
Autonomic Feedback Loop
CyberneCc Feedback Loop
Model-‐View-‐Controller Macro PaYern Mapping to Open Source SoJware Components
• Model – Object Models, Data Models – Storage, Discovery, Formats,
Protocols, Binding to Objects
• Controller – Complex Flow Graphs of
Event-‐driven modular SW – Python and node.js
• View – UI Toolkit For ApplicaCons – Binding of UI Components to
Smart Object ProperCes
IoT Toolkit
Node-‐RED
Dojo Dashboard
Node Builder
IPSO TSB SSN
Catalogs and Repositories
Sensors, Things, MQTT, CoAP, HTTP REST API + Events
HTML5, Mobile Web
• Resource Discovery and Linkage
• Builds Smart Object Nodes
• Manages, stores Flow Graph
ApplicaCon Development Workflow
IPSO
TSB
SSN
Data Models and Catalogs
Node Builder Node-‐RED Dashboard
Model Controller View
• Discovers Resources • Makes Object Instances
• Builds Applica9on Flow Graphs
• UI Construc9on
Run Time Deployment Example
TSB
SSN
IPSO
Data Models and Catalogs
HTTP/LD Node-‐RED
Node-‐RED CoAP/RD
HTTP
HTTP + MQTT CoAP
HTTP
CoAP HTTP
Local Control Gateway
Personal Service
IoT Provider
UI Devices
Gatewayas a
Service
IoT Toolkit
IoT Toolkit
IoT Toolkit
CoAP
CoAP
IoT Toolkit Interoperability Demo
CoAP
MQTT
MQTT
HTTP
smartobjectservice.com
ec2-‐54-‐200-‐106-‐25.us-‐west-‐2.compute.amazonaws.com
Node-‐RED
Node-‐RED
Thank You!
This PresentaCon: hYp://www.slideshare.net/michaeljohnkoster/open-‐source-‐stack-‐for-‐io-‐t [email protected] hYp://www.linkedin.com/pub/michael-‐koster/2/36b/317/ hYp://iot-‐datamodels.blogspot.com/