http GET/POST获取、改变云端数据,实现远程控制

使用模块为ESP-01

查询相应的版本信息的AT指令为: AT+GMR

AT version:1.2.0.0
SDK version:1.5.4.1

远程控制:不能少了硬件模块、服务器、手机APP以及Web网页。

对于当前自身的技术水平,想要徒手搭建服务器感觉是有点困难,但是呢?毕

竟有了云的存在,使得这一切的实现似乎也不是特别难了!

这里推荐几个听闻的NB云平台:Yeelink乐联网OneNET以及机智云

--------------------------------------------------------------------------------------------------------------------------

Step 1:Yeelink平台注册自己的传感器设备

网站账号的注册指南可参考官方链接:http://www.yeelink.net/developer/doc/11

增加新设备

远程控制云服务器 远程控制云平台_API

增加传感器

远程控制云服务器 远程控制云平台_数据_02

远程控制云服务器 远程控制云平台_远程控制云服务器_03

这样方可视为成功!(添加的每个传感器都会有个ID号码,有了它,你就可以通过网络获取它的云端状态了!)

远程控制云服务器 远程控制云平台_远程控制云服务器_04

在我的账户设置中,找到你的API KEY

远程控制云服务器 远程控制云平台_.net_05

上面所提到的API KEY 以及设备编号,传感器编号下面都要用到!!!

--------------------------------------------------------------------------------------------------------------------------

Step 2: 模块配置及获取改变云端按钮状态

I、先来演示一下GET网页数据(get到按钮的状态)

特别注意下面的指令不要有多余空格,不然会报错

下面这个就是因为多加空格的错误

远程控制云服务器 远程控制云平台_远程控制云服务器_06

AT+CWMODE=1 							//设置成STA模式 
AT+RST               
AT+CIPMUX=0                  			//设置单连接
AT+CWJAP="XXX","XXX"    				//WIFI登录
AT+CIPSTART="TCP","www.yeelink.net",80  //TCP连接     
AT+CIPMODE=1                       		//设置透传模式
AT+CIPSEND      						//发送请求
//发送请求之后,便会回显'>',发送网页代码。
//当你想发多个的时候,无需再进行上面的配置,可以直接发

//网页代码格式:
GET /v1.0/device/你的设备ID/sensor/你的传感器ID/datapoints HTTP/1.1
Host: www.yeelink.net
Accept: */*
U-ApiKey: 你的API KEY
Content-Length: 0
Connection: close
//此处需要发送空行即“\r\n”

最后的GET请求以文本方式发送

远程控制云服务器 远程控制云平台_.net_07

也务必加一个空行,最后否则会出错

远程控制云服务器 远程控制云平台_远程控制云服务器_08

远程控制云服务器 远程控制云平台_数据_09

按键开的状态vaule

远程控制云服务器 远程控制云平台_.net_10

远程控制云服务器 远程控制云平台_.net_11

按键关的状态对应的vaule

远程控制云服务器 远程控制云平台_数据_12

远程控制云服务器 远程控制云平台_数据_13

II、再来演示一下POST网页数据(请求改变网页数据以及状态)

前提AT得配置好,和GET的一样!

改变按钮状态
POST /v1.0/device/你的设备ID/sensor/你的传感器ID/datapoints HTTP/1.1
Host: api.yeelink.net
Accept: */*
U-ApiKey: 你的API KEY
Content-Length: 11                 //发送数据长度11{"value":1}  
Content-Type: application/x-www-form-urlencoded
Connection: close
//必须发送空行
{"value":×}                        //×为1打开,0关闭   
发送完代码后,刷新网页即可看到按钮状态已经改变。

改变状态为1

远程控制云服务器 远程控制云平台_API_14

远程控制云服务器 远程控制云平台_数据_15

远程控制云服务器 远程控制云平台_数据_16

--------------------------------------------------------------------------------------------------------------------------