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
增加新设备
增加传感器
这样方可视为成功!(添加的每个传感器都会有个ID号码,有了它,你就可以通过网络获取它的云端状态了!)
在我的账户设置中,找到你的API KEY
上面所提到的API KEY 以及设备编号,传感器编号下面都要用到!!!
--------------------------------------------------------------------------------------------------------------------------
Step 2: 模块配置及获取改变云端按钮状态
I、先来演示一下GET网页数据(get到按钮的状态)
特别注意下面的指令不要有多余空格,不然会报错
下面这个就是因为多加空格的错误
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请求以文本方式发送
也务必加一个空行,最后否则会出错
按键开的状态vaule
按键关的状态对应的vaule
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
--------------------------------------------------------------------------------------------------------------------------