一直想做一个监控室内温度和湿度的装置,开始不懂TCP,http报文什么的,查了很多资料,但是东西做了一半,断断续续,没有时间,把前面看过的东西都忘了,现在再复习下http请求的知识,以防自己忘记。
做这个东西时,我接触了Yeelink平台,它是一个物联网平台,允许用户通过http请求的方式上传或者查询数据。你可以再网页或者手机客户端看到你设备的信息。下面我介绍下Yeelink控制设备的http请求格式。
这里先声明下,代码中的ID1和ID2分别是设备编号和传感器编号,U-ApiKey是你的申请Yeelink账户时,给你的编码,可以理解为你的密码。
http请求:有两种方式GET方法和POST方法,我就介绍一种吧。
使用POST方法:
POST /v1.0/device/ID1/sensor/ID2/datapoints HTTP/1.1
U-ApiKey: fce0456e1534c25b6xxxxxxxxxxxx
Host: api.yeelink.net
Content-Type: application/json;charset=utf-8
Content-Length: 12
{"value":20}
HTTP响应:
HTTP/1.1 200 OK
Server: nginx/1.1.19
Date: Wed, 16 Apr 2014 13:35:34 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/5.3.10-1ubuntu3.6
Set-Cookie: CAKEPHP=7jmlgsv1pbhraufr3lato0vlj3; expires=Thu, 24-Apr-2014 21:35:34 GMT; path=/
P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"
0
这是发送温度的一个测试。
这里值得注意一点,请求的数据值,一定要以JSO格式存放,比如:{"value":20} ,开始也不懂,查了好久