物联网设备使用HTTP协议传输数据也是一种常用的方式,而且HTTP协议是个很成熟的东西,在服务器上很容易部署。

HTTP协议并不是很复杂的东西。其处在互联网的应用层,因此这个协议只是规定了数据包的格式。具体的数据传递则是由TCP/IP来实现的。

物联网使用HTTP协议传输数据
互联网层次图

所以HTTP其实没那么高深,它只是通过一种格式的组成一串字符串,然后在通过TCP的方式发送出去,并通过TCP的方式将回复的数据接收到。

比如我们常见的GET命令,其组成的字符串数据包是:

GET /dweet/for/myesp?temperature=31&humidity=60 HTTP/1.1
Host: dweet.io
Connection: close

回复则是:

HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Content-Type: application/json
Content-Length: 218
Date: Sun, 05 Aug 2018 14:57:45 GMT
Connection: close

在物联网中,设备可以通过HTTP协议发送数据,主要有两种方式GET与POST。

GET方法是将数据包含在URL中。比如上例中/dweet/for/myesp?temperature=31&humidity=60 在‘?’后面的temperature与humidity就是两个变量的值。

使用GET方法传递数据,对数据的大小有限制。这是可以使用POST方法。将数据传递给服务器。