11. IoT Device Mobile
HTTP 1.1/2.0HTTP 1.1/2.0
Light-weight
Web server
Web
Frontend
Physical Object
HTTP 使用情境
http://wot.city/1/jollenchen/sensor/dust/a
12. IoT Device Mobile
HTTP 1.1/2.0
Streaming Data
Physical Object
Web
Frontend
Physical Object
Websocket 使用情境
Real-Time Data
Broker
ws://wot.city/object/jollenchen/sensor/dust/a
21. Libre
Software
Gives users the freedom to run the
software for any purpose as well as
to study, modify, and distribute the
original software and the adapted
versions. (—wikipedia)
22. Libre
IoT
Cloud
Gives users the freedom to ___ the
personal data for any purpose as
well as to ___, ___, and ___ the
original data and the ______
versions. (—WoT.City)
24. WoT.City
IoT Cloud Architecture
Open
IoT
Cloud
Open
Standards
Personal
Things
Free & Libre
Things
Open
Hardware
Web
IoT Cloud
Framework
Hacker
x
Maker
29. Web-technolog Matrix
HTML5/
CSS/JS
REST SPA WebSocket CORS
Frontend
Patterns
Web Pages V
Web App V V
SPA V V
V
(Backbone)
Web Service V V (Server) V
IoT / WoT V V V (Client)
V
(jQuery、Module、
Closure)
30. IoT vs WoT
IoT WoT
連結⽅方式 Bluetooth HTTP
數據管理 Centerlized Decenterlized
Things Objects RESTful Objects
應⽤用開發模式 Native Web (SPA)
硬件概念 Sensor Device
Physical Web
(Sensor Fusion)
Figure: Thinking in WoT. Copyright (C) 2014 Mokoversity Inc.
31. Connectivity
IoT WoT
Connectivity Machine to Machine
LWM2M
Machine to Web
Networking TCP / UDP HTTP / REST / CoAP
Things Sensor Device RESTful Objects
Data Streaming Data Time-Series Data
Discover MQTT Publish / Subscribe
Figure: Thinking in WoT. Copyright (C) 2015 Mokoversity Inc.
32.
33. Source: http://coap.technology
REST model for small
devices
!
Like HTTP, CoAP is based on the wildly successful
REST model: Servers make resources available
under a URL, and clients access these resources
using methods such as GET, PUT, POST, and
DELETE.
34. Source: http://coap.technology
Made for billions of
nodes
!
The Internet of Things will need billions of nodes,
many of which will need to be inexpensive. CoAP
has been designed to work on microcontrollers
with as low as 10 KiB of RAM and 100 KiB of code
space (RFC 7228).
35. Source: http://coap.technology
Existing skills transfer
!
From a developer point of view, CoAP feels very
much like HTTP. Obtaining a value from a sensor
is not much different from obtaining a value from
a Web API.
36. Source: http://coap.technology
Ready for integration
!
Since HTTP and CoAP share the REST model, they
can easily be connected using application-
agnostic cross-protocol proxies. A Web client may
not even notice that it just accessed a sensor
resource!
ARM IoT Tutorial
https://www.youtube.com/watch?v=4bSr5x5gKvA
38. From HTTP to CoAP
HTTP
The Web protocol.
!
CoAP
The Web of Things
Protocol.
!
MQTT
The TCP Protocol.
IoT Device
IoT Device
IoT Proxy
1
2
IoT Device
2
3
Constrained Environment
3
48. API Driven Development
API
Business Logic
Data Access Layer !
and Databases
Security
Logging
“server-side
implementations are
becoming a thin layer
with an API for data and
security” (-Shiju
Varghese)
“modern Web developers
are writing their server-
side code for both Mobile
apps and Web apps” (-
Shiju Varghese)
49. AutomationJS
Web Frontend
Boundary Compositor -!
update DOM subtree
Data Compositor -!
integrate the services and data
AutomationJS
Composition Layer -
programmable widgets
!
Physical Mashup
!
Building Blocks Pattern
!
(…)
50. IoT Device Mobile
HTTP 1.1/2.0
Streaming Data
Physical Object
Web
Frontend
Physical Object
Websocket 使用情境
Real-Time Data
Broker
ws://wot.city/object/jollenchen/sensor/dust/a
51. WoT.City
IoT Cloud
Device Registration
!
Device Container
!
Websocket Broker
(Channel)
!
CoAP Broker (Channel)
!
Data Compositor
52. ARM mbed IoT Devices
!
Maker Kit
!
In-place small data
analytics
WoT.City
IoT Device