6. ➢ 1st wave of computing: Governments
and Big Corporations
➢ 2nd wave of computing: ordinary people
(first PC then smartphone)
➢ 3rd wave of computing: ordinary “things”
(the embedded era)
6
7. ➢ 1st wave of computing: Governments
and Big Corporations
➢ 2nd wave of computing: ordinary people
(first PC then smartphone)
➢ 3rd wave of computing: ordinary “things”
(the embedded era)
7
11. Definition:
The Internet of Things is a system of physical
objects that can be discovered, monitored,
controlled, or interacted with by electronic
devices that communicate over various
networking interfaces and eventually can be
connected to the wider internet. 11
12. Definition:
The Internet of Things is a system of physical
objects that can be discovered, monitored,
controlled, or interacted with by electronic
devices that communicate over various
networking interfaces and eventually can be
connected to the wider internet. 12
15. some Numbers
➢ Bain Capital: $520bn by 2021 ($6.2bn by 2024 for API Management)
➢ McKinsey: $11.1trn every year ($19.4trn US GDP)
➢ ARM: 1trn devices by 2035 (0.007trn people)
15
20. The case for Open Source IoT:
❏ readily available and popular standards
❏ already tested and proven scalable protocols
❏ Open for Innovation
❏ already widespread and known to developers
❏ easier to develop and to consume
20
23. PAN protocols
Thread protocol:
➢ supports mesh networks
➢ uses open protocols
➢ can communicate with internet directly
➢ supports various Application layer protocols
23
29. WoT provides mechanisms to formally describe IoT interfaces to allow IoT
devices and services to communicate with each other, independent of their
underlying implementation, and across multiple networking protocols.
In addition, WoT offers a standardized way to define and program IoT behavior.
29
32. LAYER 1: ACCESS
● publish things using REST and JSON
● WebSocket for real-time / event-driven
● integration of non-connected things through gateway architectures
32
33. LAYER 2: FIND
● data model
● semantic extension
● easily used and automatically understood
33
34. LAYER 3: SHARE
● generated data shared
● safely
● with AuthN and AuthZ
34
35. LAYER 4: COMPOSE
● integration of data and services in a simple way
● power to the users!
35
38. The Thing Description provides a vocabulary for describing physical devices
connected to the World Wide Web in a machine readable format with a default
JSON encoding.
complex example
38
39. The @context member is an optional annotation which can be used to provide a URI for a schema
repository which defines standard schemas for common "types" of device capabilities.
"@context": "https://iot.mozilla.org/schemas"
The @type member is an optional annotation which can be used to provide the names of schemas for
types of capabilities a device supports
"@type": ["Light", "OnOffSwitch"]
The id member provides an identifier of the device in the form of a URI [RFC3986] (e.g. a URL or a
URN). This may be the URL of the Thing Description itself,
"id": "https://mywebthingserver.com/things/lamp"
39
40. A property object describes an attribute of a Thing and is indexed by a property id.
"level" : {
"title": "Level",
"description": "The level of light from 0-100",
"@type": "LevelProperty",
"type": "integer",
"unit": "percent",
"minimum": 0,
"maximum": 100,
"readOnly": false,
"links": [{"href": "/things/lamp/properties/level"}]
}
40
41. An action object describes a function which can be carried out on a device.
"fade": {
"title": "Fade",
"description": "Fade the lamp to a given level",
"input": {
"@type": "FadeAction",
"type": "object",
"properties": {
"level": {
"type": "integer",
"minimum": 0,
"maximum": 100
},
"duration": {
"type": "integer",
"minimum": 0,
"unit": "milliseconds"
}
}
},
"links": [{"href": "/things/lamp/actions/fade"}]
}
41
42. An event object describes a kind of event which may be emitted by a device.
"overheated": {
"title": "Overheated",
"description": "The lamp has exceeded its safe operating temperature",
"@type": "OverheatedEvent",
"type": "number",
"unit": "degree celsius",
"links": [{"href": "/things/lamp/events/overheated"}]
}
42
43. A link object represents a link relation.
Similar to OAS3.0 https://swagger.io/docs/specification/links/
{
"href": "/things/lamp/properties",
"rel": "properties",
"mediaType": "application/json"
}
43
44. The WebSocket API
• Provides a realtime mechanism to make multiple requests and be notified
of events
• JSON response consistent with Web Thing REST API
• Possible messages:
– setProperty
– requestAction
– addEventSubscription
– propertyStatus
– actionStatus
– event
44
51. Challenges of WoT model:
• the easier it is to access it, the better it should be protected
• not optimized for low power small battery devices
• JSON encoding is not storage efficient (lots of metadata)
51
52. 52
Everything open:
● strong developer
community
● open standards
● interoperable world
Oligopoly:
● Google, Amazon or Apple
to dominate the market
● partially open standards
● siloed world
53. What will happen
● “servicisation”
● everything becomes part of data economy (the new Oil)
● privacy and security will become even more crucial
53
55. ➢ understanding the challenges of current IoT frameworks
➢ learn the basics of WoT model
➢ understand the advantages and implications of the WoT
API
55