web servers for the internet of things

39
Web servers for the Internet of Things SUMMER SCHOOL

Upload: alexandru-radovici

Post on 03-Aug-2015

308 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Web servers for the Internet of Things

Web servers for the Internet of ThingsSUMMER SCHOOL

Page 2: Web servers for the Internet of Things

2

Outline

Web server

HTTP

Gadgets

IoT Webserver

Web templates

Web services

Web socket

Questions

Page 3: Web servers for the Internet of Things

3

Web server

Page 4: Web servers for the Internet of Things

4

What is a web server Software that implements HTTP/HTTPS

Mainframes

Computers

Gadgets

Page 5: Web servers for the Internet of Things

5

Gadgets?!

Page 6: Web servers for the Internet of Things

6

What HTTP? Widely used

Easy to implement

Text based

HTML◦ Simple and flexible UI◦ JavaScript runs in almost any browser◦ Replace displays

Page 7: Web servers for the Internet of Things

7

UI Gadgets prefer HTML UI

Accessible from the tablet

Wireless “display”

Web language

Gadgets are using less displays

Expensive

Fixed

Special software

Page 8: Web servers for the Internet of Things

8

HTTP

Page 9: Web servers for the Internet of Things

9

HTTP

Image from https://www3.ntu.edu.sg/home/ehchua/programming/webprogramming/HTTP_Basics.html

Page 10: Web servers for the Internet of Things

10

HTTP Request

◦ Headers◦ Method◦ URL◦ Query String◦ Upload body

Response◦ Status◦ Headers◦ Data

Page 11: Web servers for the Internet of Things

11

Query http://address[:port]URL?querystring

http://wyliodrin.cs.pub.ro/projects?show=true

Address?

Port?

URL?

querystring?

Page 12: Web servers for the Internet of Things

12

Query http://address[:port]URL?querystring

http://wyliodrin.cs.pub.ro/projects?show=true

Address? wyliodrin.cs.pub.ro

Port? 80

URL? /projects

querystring? show=true

Page 13: Web servers for the Internet of Things

13

Methods GET

◦ Request objects without sending data

POST◦ Modify objects with data that you are sending

PUT◦ Create new objects with data that your are sending

DELETE◦ Delete objects without sending data

Page 14: Web servers for the Internet of Things

14

HTTP

Image from https://www3.ntu.edu.sg/home/ehchua/programming/webprogramming/HTTP_Basics.html

Page 15: Web servers for the Internet of Things

15

Gadgets

Page 16: Web servers for the Internet of Things

16

Webserver for the gadgets

Page 17: Web servers for the Internet of Things

17

Web Web request

◦ Starts a webserver◦ Sets up static folder◦ Stores

◦ Html◦ Javascript◦ Css

http://address:port/static/index.html

Page 18: Web servers for the Internet of Things

18

Web Web request

◦ Route◦ Method◦ Port

Message

{

payload: query string / upload data

req: request

res: response

next:

}

Page 19: Web servers for the Internet of Things

19

Web response Web response

◦ Input from a web request◦ Sends the payload◦ Redirect

http://address:port/ redirects to http://address:port/static/index.html

Page 20: Web servers for the Internet of Things

20

Run the server Get the IP of the board

◦ Shell ◦ ifconfig

In the same network

http://172.17.0.82:5000/

Page 21: Web servers for the Internet of Things

21

IoT Server

Page 22: Web servers for the Internet of Things

22

IoT Server Server with public IP address

A gadget without pin access

Good for web server◦ Web pages◦ API

Page 23: Web servers for the Internet of Things

23

IoT Server

Page 24: Web servers for the Internet of Things

24

Web templates

Page 25: Web servers for the Internet of Things

25

Web template Web template

◦ Loads a templates◦ Fills it with variables

◦ From value◦ From payload

◦ Sends it

Page 26: Web servers for the Internet of Things

26

Web template• Values are available• Payload variables are available

Page 27: Web servers for the Internet of Things

27

Web template

Value is refreshed only on a page reload

Page 28: Web servers for the Internet of Things

28

Web service

Page 29: Web servers for the Internet of Things

29

Web service is API Expose functions for apps

◦ Mobile Applications◦ Refresh the value without reloading the page◦ Use multiple UI

Image from http://blogs.msdn.com/b/martinkearn/archive/2015/01/05/introduction-to-rest-and-net-web-api.aspx

Page 30: Web servers for the Internet of Things

30

Web response Web response

◦ Input from a web request◦ Sends the payload◦ Redirect

Page 31: Web servers for the Internet of Things

31

Web response /sensor returns

{

“sensor”: “0”

}

Page 32: Web servers for the Internet of Things

32

JQuery API

Page 33: Web servers for the Internet of Things

33

Web socket

Page 34: Web servers for the Internet of Things

34

Websocket Allows asynchronous communication with the server

◦ Like a socket◦ Uses HTTP or HTTPS◦ Problems with proxies

Socket.IO◦ Has a solution with HTTP or HTTPS if the websocket is unavailable

Page 35: Web servers for the Internet of Things

35

Websocket

Image from https://warmcat.com/libwebsockets/2010/11/01/libwebsockets-html5-websocket-server-library-in-c.html

Page 36: Web servers for the Internet of Things

36

Web starter app Streams

Web starter app

Angular JS

Page 37: Web servers for the Internet of Things

37

Angular JS static/web.html

Page 38: Web servers for the Internet of Things

38

Javascript

Page 39: Web servers for the Internet of Things

39

Questions?