one remote control to command them all! building a ... · one remote control to command them all!...
TRANSCRIPT
![Page 1: One Remote Control to Command them All! Building a ... · One Remote Control to Command them All! Building a Hypermedia API for ESP8266-based Devices Alexey Andreev, Daniil Garayzuev,](https://reader030.vdocuments.net/reader030/viewer/2022041302/5e124b352d866301173201c6/html5/thumbnails/1.jpg)
One Remote Control to Command them All!
Building a Hypermedia API for ESP8266-based
Devices
Alexey Andreev, Daniil Garayzuev, Maxim Kolchin, Nikita Chursin and Ivan Shilin,
ITMO University, Russia
![Page 2: One Remote Control to Command them All! Building a ... · One Remote Control to Command them All! Building a Hypermedia API for ESP8266-based Devices Alexey Andreev, Daniil Garayzuev,](https://reader030.vdocuments.net/reader030/viewer/2022041302/5e124b352d866301173201c6/html5/thumbnails/2.jpg)
Abstract
embedded systems (esp8266 wifi module)
self descriptive REST API
CoAP protocol
Hydra Core Vocabulary based approach and guidelines
![Page 3: One Remote Control to Command them All! Building a ... · One Remote Control to Command them All! Building a Hypermedia API for ESP8266-based Devices Alexey Andreev, Daniil Garayzuev,](https://reader030.vdocuments.net/reader030/viewer/2022041302/5e124b352d866301173201c6/html5/thumbnails/3.jpg)
Introduction
Every IoT-devices developer is trying to build full stack
platform to provide access to them
Devices descpriptions, commands and observations could
be shared via stardartized protocols without limiting the
devices new features
Same clients could interact with the new devices if the new
schema is interhited from one used by client
![Page 4: One Remote Control to Command them All! Building a ... · One Remote Control to Command them All! Building a Hypermedia API for ESP8266-based Devices Alexey Andreev, Daniil Garayzuev,](https://reader030.vdocuments.net/reader030/viewer/2022041302/5e124b352d866301173201c6/html5/thumbnails/4.jpg)
Requirements
Device discovery
Model-instance representation
Authentification
Publish/Subsribe pattern
On-demand configuration
Slepping nodes support
![Page 5: One Remote Control to Command them All! Building a ... · One Remote Control to Command them All! Building a Hypermedia API for ESP8266-based Devices Alexey Andreev, Daniil Garayzuev,](https://reader030.vdocuments.net/reader030/viewer/2022041302/5e124b352d866301173201c6/html5/thumbnails/5.jpg)
Related work
SmallHydra
Approaches based on separated custom protocols adapters
![Page 6: One Remote Control to Command them All! Building a ... · One Remote Control to Command them All! Building a Hypermedia API for ESP8266-based Devices Alexey Andreev, Daniil Garayzuev,](https://reader030.vdocuments.net/reader030/viewer/2022041302/5e124b352d866301173201c6/html5/thumbnails/6.jpg)
Device Software Guidelines
![Page 7: One Remote Control to Command them All! Building a ... · One Remote Control to Command them All! Building a Hypermedia API for ESP8266-based Devices Alexey Andreev, Daniil Garayzuev,](https://reader030.vdocuments.net/reader030/viewer/2022041302/5e124b352d866301173201c6/html5/thumbnails/7.jpg)
Device Software Guidelines
![Page 8: One Remote Control to Command them All! Building a ... · One Remote Control to Command them All! Building a Hypermedia API for ESP8266-based Devices Alexey Andreev, Daniil Garayzuev,](https://reader030.vdocuments.net/reader030/viewer/2022041302/5e124b352d866301173201c6/html5/thumbnails/8.jpg)
Device Software Guidelines
![Page 9: One Remote Control to Command them All! Building a ... · One Remote Control to Command them All! Building a Hypermedia API for ESP8266-based Devices Alexey Andreev, Daniil Garayzuev,](https://reader030.vdocuments.net/reader030/viewer/2022041302/5e124b352d866301173201c6/html5/thumbnails/9.jpg)
Device Design Guidelines
Configuration mode for the initialization
For example, two-state hardware button to switch between configuration and
regular mode.
![Page 10: One Remote Control to Command them All! Building a ... · One Remote Control to Command them All! Building a Hypermedia API for ESP8266-based Devices Alexey Andreev, Daniil Garayzuev,](https://reader030.vdocuments.net/reader030/viewer/2022041302/5e124b352d866301173201c6/html5/thumbnails/10.jpg)
Device Public API Guidelines
.well-known/core resource
API Documentation
Device Resource
Value Resource
Action Resource
{
"@context": "http://external/doc#",
"@id": "coap://1.1.1.1/",
"@type": "TemperatureDevice",
"identifier": "e9704",
"label": { "@value": "Temperature Device",
"@language": "en" },
"location": {
"@type": "Place",
"label": "1010"
},
"temperature": "/temperatureValue"
}
![Page 11: One Remote Control to Command them All! Building a ... · One Remote Control to Command them All! Building a Hypermedia API for ESP8266-based Devices Alexey Andreev, Daniil Garayzuev,](https://reader030.vdocuments.net/reader030/viewer/2022041302/5e124b352d866301173201c6/html5/thumbnails/11.jpg)
Mobile Application Client Architecture
● sleeping nodes support
background service
● Devices identification in
configuration and regular mode
● Device discovery
![Page 12: One Remote Control to Command them All! Building a ... · One Remote Control to Command them All! Building a Hypermedia API for ESP8266-based Devices Alexey Andreev, Daniil Garayzuev,](https://reader030.vdocuments.net/reader030/viewer/2022041302/5e124b352d866301173201c6/html5/thumbnails/12.jpg)
Mobile Application Client Architecture
![Page 13: One Remote Control to Command them All! Building a ... · One Remote Control to Command them All! Building a Hypermedia API for ESP8266-based Devices Alexey Andreev, Daniil Garayzuev,](https://reader030.vdocuments.net/reader030/viewer/2022041302/5e124b352d866301173201c6/html5/thumbnails/13.jpg)
Mobile Application Client Architecture
![Page 14: One Remote Control to Command them All! Building a ... · One Remote Control to Command them All! Building a Hypermedia API for ESP8266-based Devices Alexey Andreev, Daniil Garayzuev,](https://reader030.vdocuments.net/reader030/viewer/2022041302/5e124b352d866301173201c6/html5/thumbnails/14.jpg)
Mobile Application Client Architecture
![Page 15: One Remote Control to Command them All! Building a ... · One Remote Control to Command them All! Building a Hypermedia API for ESP8266-based Devices Alexey Andreev, Daniil Garayzuev,](https://reader030.vdocuments.net/reader030/viewer/2022041302/5e124b352d866301173201c6/html5/thumbnails/15.jpg)
Case study
![Page 16: One Remote Control to Command them All! Building a ... · One Remote Control to Command them All! Building a Hypermedia API for ESP8266-based Devices Alexey Andreev, Daniil Garayzuev,](https://reader030.vdocuments.net/reader030/viewer/2022041302/5e124b352d866301173201c6/html5/thumbnails/16.jpg)
Benefits
DIY devices could be easily integrated with the
clients without rebuilding them
Uncompatible brands devices could be
integrated to one system
Embedded devices developing and smart clients
to simplify tasks and reduce the expenses