(ATS4-DEV04) Protocols as RESTful Services and RESTful URL Routing
RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb...
Transcript of RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb...
![Page 1: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/1.jpg)
RESTful web services for IoT
![Page 2: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/2.jpg)
whoami
• Bart Lemmens ([email protected])
• MSc Industrial Engineering @ EhB
• PhD @ VUB (ETRO-COMO)
WSN & IoT (MAC, synchronization, …)
• 6LoWPAN TETRA-project
Implementation of web services
DISCLAIMER: I’m a researcher, not a professional web developer
![Page 3: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/3.jpg)
what will I talk about
• Why RESTful IoT?
• CoAP: HTTP for IoT
• Erbium (Contiki) & Californium (Java)
• Our research work
• 6LoWPAN TETRA-project
![Page 4: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/4.jpg)
Why RESTful IoT?
![Page 5: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/5.jpg)
web app/service development
1. Get great idea
2. Design RESTful API
3. Implement
4. …
5. Profit
![Page 6: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/6.jpg)
Great idea #1
![Page 7: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/7.jpg)
Great idea #2
![Page 8: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/8.jpg)
Great idea #3
http://lifx.co
![Page 9: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/9.jpg)
Great idea #3
http://nest.com
![Page 10: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/10.jpg)
Great idea #3
http://zolertia.com
![Page 11: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/11.jpg)
Great idea #3
![Page 12: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/12.jpg)
Back-end communication
![Page 13: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/13.jpg)
Back-end communication
Problems:
• Need knowledge of back-end message model
• How to combine different back-end technologies
• Intra-networks: on-premise application gateway required
![Page 14: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/14.jpg)
Great idea #3 (version 2)
![Page 15: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/15.jpg)
Competition
![Page 16: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/16.jpg)
Best idea ever
![Page 17: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/17.jpg)
Problems
• Constrained devices (100KB ROM, 10KB RAM)
• Constrained wireless network
– Lossy
– Low-bandwidth
• Connection to Internet (solved: 6LoWPAN)
We need RESTful protocols for IoT
![Page 18: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/18.jpg)
Constrained RESTful Environments (core)
![Page 19: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/19.jpg)
CoAP
• Constrained Application Protocol
• Lightweight HTTP
• Datagram-oriented transport (UDP)
– No state
– Less overhead
• Binary packed header
![Page 20: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/20.jpg)
CoAP
• Message layer for reliable/asynchronous exchange
• Request/Response layer for resource manipulation
HTTP
TCP
IP
Request Response
UDP
6LoWPAN
Message
![Page 21: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/21.jpg)
CoAP – Messages
4 message types
• Confirmable (CON)
• Non-confirmable (NON)
• Acknowledgement (ACK)
• Reset (RST)
Reliability/Deduplication
• Message ID (MID)
![Page 22: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/22.jpg)
CoAP – Messages
Reliable transmission
Client Server
| |
| CON [0x7d34] |
+----------------->|
| |
| ACK [0x7d34] |
|<-----------------+
| |
Unreliable transmission
Client Server
| |
| NON [0x01a0] |
+----------------->|
| |
![Page 23: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/23.jpg)
CoAP – Request/Response
Very similar to HTTP
• Method code / Response code – 0.01-0.31: request
– 2.xx: successful
– 4.xx: client error
– 5.xx: server error
• Meta-data (including resource URL) in options
• Token (match response to request)
![Page 24: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/24.jpg)
CoAP – Messages
Compact fixed-length header (4 bytes) 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Ver| T | TKL | Code | Message ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Token (if any, TKL bytes) ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Options (if any) ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|1 1 1 1 1 1 1 1| Payload (if any) ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
![Page 25: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/25.jpg)
CoAP – Options
0 1 2 3 4 5 6 7
+---------------+---------------+
| | |
| Option Delta | Option Length | 1 byte
| | |
+---------------+---------------+
\ \
/ Option Delta / 0-2 bytes
\ (extended) \
+-------------------------------+
\ \
/ Option Length / 0-2 bytes
\ (extended) \
+-------------------------------+
\ \
/ /
\ \
/ Option Value / 0 or more bytes
\ \
/ /
\ \
+-------------------------------+
![Page 26: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/26.jpg)
CoAP – Options
+-----+----+---+---+---+----------------+--------+--------+---------+
| No. | C | U | N | R | Name | Format | Length | Default |
+-----+----+---+---+---+----------------+--------+--------+---------+
| 1 | x | | | x | If-Match | opaque | 0-8 | (none) |
| 3 | x | x | - | | Uri-Host | string | 1-255 | (see |
| | | | | | | | | below) |
| 4 | | | | x | ETag | opaque | 1-8 | (none) |
| 5 | x | | | | If-None-Match | empty | 0 | (none) |
| 7 | x | x | - | | Uri-Port | uint | 0-2 | (see |
| | | | | | | | | below) |
| 8 | | | | x | Location-Path | string | 0-255 | (none) |
| 11 | x | x | - | x | Uri-Path | string | 0-255 | (none) |
| 12 | | | | | Content-Format | uint | 0-2 | (none) |
| 14 | | x | - | | Max-Age | uint | 0-4 | 60 |
| 15 | x | x | - | x | Uri-Query | string | 0-255 | (none) |
| 17 | x | | | | Accept | uint | 0-2 | (none) |
| 20 | | | | x | Location-Query | string | 0-255 | (none) |
| 35 | x | x | - | | Proxy-Uri | string | 1-1034 | (none) |
| 39 | x | x | - | | Proxy-Scheme | string | 1-255 | (none) |
| 60 | | | x | | Size1 | uint | 0-4 | (none) |
+-----+----+---+---+---+----------------+--------+--------+---------+
![Page 27: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/27.jpg)
CoAP – Content-Format
+------------------+----------+-------+-----------------------------+
| Media type | Encoding | Id. | Reference |
+------------------+----------+-------+-----------------------------+
| text/plain; | - | 0 | [RFC2046][RFC3676][RFC5147] |
| charset=utf-8 | | | |
| application/ | - | 40 | [RFC6690] |
| link-format | | | |
| application/xml | - | 41 | [RFC3023] |
| application/ | - | 42 | [RFC2045][RFC2046] |
| octet-stream | | | |
| application/exi | - | 47 | [EXIMIME] |
| application/json | - | 50 | [RFC4627] |
+------------------+----------+-------+-----------------------------+
![Page 28: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/28.jpg)
CoAP – Message Size
• Avoid fragmentation (MTU = 127)
– Block-wise transfer for larger messages
• Limited buffer size at constrained server
– Response code 4.13 (Request entity too large)
– Size1 option to indicate maximum acceptable size
![Page 29: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/29.jpg)
CoAP – Cache & Proxy
Caching
• Important on constrained lossy networks
• Freshness: Max-Age (default 60)
• Validity: ETag
Proxy
• Security/Performance
• CoAP-HTTP & HTTP-CoAP cross-proxy
![Page 30: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/30.jpg)
CoAP – Observations
Retrieve representation of resource up to date
• Request:
– GET
– Observe option (register/deregister)
• Response/Notification:
– Notifications can be confirmable
– Observe option (ordering)
![Page 31: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/31.jpg)
CoAP – Observations
Client Server
| |
| GET /temperature |
| Token: 0x4a | Registration
| Observe: register |
+------------------->|
| |
| 2.05 Content |
| Token: 0x4a | Notification of
| Observe: 12 | the current state
| Payload: 22.9 Cel |
|<-------------------+
| |
| 2.05 Content |
| Token: 0x4a | Notification upon
| Observe: 44 | a state change
| Payload: 22.8 Cel |
|<-------------------+
| |
| 2.05 Content |
| Token: 0x4a | Notification upon
| Observe: 60 | a state change
| Payload: 23.1 Cel |
|<-------------------+
| |
![Page 32: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/32.jpg)
CoAP – Discovery
Service discovery
• all-coap-nodes multicast address
– IPv4: 224.0.1.187
– IPv6: FF02::FD (link-local)
FF05::FD (site-local)
Resource discovery
• /.well-known/core
• CoRE link format (web linking)
![Page 33: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/33.jpg)
CoAP – CoRE Link Format
Attributes
• rt: resource type (e.g. temperature-sensor)
• if: interface description (e.g. sensor)
• sz: maximum size estimate
• ct: possible content-type formats
• obs: observable resource
![Page 34: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/34.jpg)
CoAP – CoRE Link Format
Example
REQ: GET /.well-known/core
RES: 2.05 Content
</temp>;rt="temp-sensor";if="sensor",
</light>; rt="light-sensor"; if="sensor“,
</lamp>;rt="lamp-actuator";if="actuator"
![Page 35: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/35.jpg)
CoAP – CoRE Interfaces
Defines a set of if types +-------------------+----------+------------------------------------+
| Interface | if= | Methods |
+-------------------+----------+------------------------------------+
| Link List | core.ll | GET |
| Batch | core.b | GET, PUT, POST (where applicable) |
| Linked Batch | core.lb | GET, PUT, POST, DELETE (where |
| | | applicable) |
| Sensor | core.s | GET |
| Parameter | core.p | GET, PUT |
| Read-only | core.rp | GET |
| Parameter | | |
| Actuator | core.a | GET, PUT, POST |
| Binding | core.bnd | GET, POST, DELETE |
+-------------------+----------+------------------------------------+
![Page 36: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/36.jpg)
CoAP – Ontologies
SenML
• Media type for sensor measurements
• JSON, XML, EXI serialization
Semantic IoT
Many research proposals
![Page 37: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/37.jpg)
Erbium & Californium
![Page 38: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/38.jpg)
Erbium & Californium
Matthias Kovatsch (http://people.inf.ethz.ch/mkovatsc/)
• Copper (Firefox)
• Erbium (Contiki)
• Californium (Java)
![Page 39: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/39.jpg)
Contiki
• OS for constrained devices
• 6LoWPAN network stack
• ContikiMAC RDC
• Cooja network simulator
![Page 40: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/40.jpg)
Erbium
• C (Contiki)
• Client/Server
• Simple resource declaration
– RESOURCE(…)
– PERIODIC_RESOURCE(…)
– EVENT_RESOURCE(…)
• Management of observations
• Creates /.well-known/core
![Page 41: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/41.jpg)
Californium
• Java
• Maven dependency
• Client/Server
• Both blocking & non-blocking requests
• DTLS security
• Proxy (HTTP-CoAP)
![Page 42: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/42.jpg)
Research work
![Page 43: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/43.jpg)
Performance evaluation
![Page 44: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/44.jpg)
Performance evaluation
![Page 45: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/45.jpg)
Performance evaluation
![Page 46: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/46.jpg)
Bandwidth/Energy/Latency
sleep
bandwidth
energy
latency
![Page 47: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/47.jpg)
Other
• Multicast in RPL
– Service discovery
– Energy-efficient algorithms
• Observation attributes
– Threshold
– Reduce communication
• CoAP on smart phones
![Page 48: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/48.jpg)
6LoWPAN TETRA-project
![Page 49: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/49.jpg)
Overview
• Combine all technologies
– Embedded HW/SW: sensor/actuator
– Infrastructure (edge routers)
– Security
– Web application
• Administration
• Visualization
• Automation
![Page 50: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/50.jpg)
Web application
• Google Web Toolkit
• Californium
used as CoAP client
• Async-IO Atmosphere
cross-platform server side push of observations
![Page 51: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/51.jpg)
Observable actuators
![Page 52: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/52.jpg)
In-network automation
![Page 53: RESTful web services for IoT - Meetupfiles.meetup.com/8919372/RESTful web services for IoT.pdfweb app/service development 1. Get great idea 2. Design RESTful API 3. Implement 4. …](https://reader033.fdocuments.net/reader033/viewer/2022042308/5ed4b448d718f333af5c5414/html5/thumbnails/53.jpg)