YFROBOT创客社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 15451|回复: 9
打印 上一主题 下一主题

ESP8266 AT指令控制三、ESP8366连接Yeelink物联平台 HTTP GET/POST获取 实时通信控制

[复制链接]

签到天数: 866 天

[LV.10]以坛为家III

跳转到指定楼层
楼主
发表于 2016-3-18 08:03:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
YEELINK 云平台已失联,帖子仅供参考学习,请谨慎阅读!!

ESP8366连接Yeelink物联平台 http GET/POST获取、改变云端数据,实现远程控制

模块:ESP-01   固件版本:00200.9.5(b1)
想要实现远程控制,还有必不可少的部分:设备软硬件、云端服务器和手机APP,手机APP或网页。有了ESP wifi 模块,还需要云端服务器,这个想要自己搞一套出来确实不容易,需要了解的知识也很多!所以国内出现了免费云平台:Yeelink乐联网等,方便了开发者开发个性的智能产品!当然还有许多其他平台也在做这块,其中 IoTgo:一个完全开源的物联网平台,通过部署IoTgo建立自己的云端服务器,并且它将所有源代码都开源给用户,喜欢折腾的有福了;如果能力有限还是使用现成的平台比较好。
--------------------------------------------------------------------------------------------------------------------------
步骤一:yeelink平台注册自己的传感器设备
避免篇幅过长,Yeelink平台用户注册就不在这里详述了,查看下面网址:http://www.yeelink.net/developer/doc/11注册用户后,进入用户中心:


添加自己的新设备:


进入管理设备界面,点击增加传感器:


增加自己的传感器设备(我们以简单的BUTTON为例):


完成后,在管理设备界面,可以看到已添加的传感器设备Smart Button:

添加的每个传感器都会有个ID号码,有了它,你就可以通过网络获取它的云端状态了!
在我的账户设置中,找到你的 API KEY!


记下 设备编号传感器编号及你的 API KEY,在下面的配置中会用到的!
云端准备完成,下面来配置模块吧!
--------------------------------------------------------------------------------------------------------------------------
步骤二:模块配置及获取、改变云端按钮状态
首先模块通过USB串口模块连接至电脑,打开电脑端串口软件,进行配置。

######## 获取GET网页数据(按钮状态):

AT+CWMODE=1                                                                  模块配置到 STA 模式
AT+CIPMUX=0                                                                     模块配置为单路连接状态
上面两条指令不用重复配置,重启不会改变。
AT+CWJAP="YFROBOT","XXX"                                            连接到路由器(YFROBOT为SSID,XXX为密码)
AT+CIPSTART="TCP","www.yeelink.net",80                         建立TCP连接
AT+CIPMODE=1                                                                  设置透传模式
AT+CIPSEND                                                                       发送请求
回显:">",发送网页代码(再次请求或改变数据时,无需以上AT指令配置,直接发送网页代码即可
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”
完成以上请求代码后,返回一串数据,其中包含 Smart Button 的状态值 "value":0。

发送网页代码(再次请求或改变数据时,无需以上AT指令配置,直接发送网页代码即可
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”

完成以上请求代码后,返回一串数据,其中包含 Smart Button 的状态值 "value":1。


######## 上传POST网页数据(按钮状态):
如果你未完成了GET数据过程,则先对模块进行配置:
AT+CWMODE=1                                                                  模块配置到 STA 模式
AT+CIPMUX=0                                                                     模块配置为单路连接状态
上面两条指令不用重复配置,重启不会改变。
AT+CWJAP="YFROBOT","XXX"                                            连接到路由器(YFROBOT为SSID,XXX为密码)
AT+CIPSTART="TCP","www.yeelink.net",80                         建立TCP连接
AT+CIPMODE=1                                                                  设置透传模式
AT+CIPSEND                                                                       发送请求
如果已经配置完成,则直接发送POST代码即可:
改变按钮状态为:1
POST /v1.0/device/你的设备ID/sensor/你的传感器ID/datapoints HTTP/1.1
Host: api.yeelink.net
Accept: */*
U-ApiKey: 你的API KEY
Content-Length: 11                    发送数据长度
Content-Type: application/x-www-form-urlencoded
Connection: close
//必须发送空行
{"value":1}                                 数据长度为11
发送完代码后,刷新网页即可看到按钮状态已经改变。

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

-----------------------------------------------------------end-----------------------------------------------------------

网页可以改变按钮状态,同样的手机端APP也可以,下载APP软件:
Yeelink手机APP 下载地址:http://www.yeelink.net/developer/tools
安装完成后,打开软件(保持手机连网状态):


依照上面步骤会发现,手机上的Smart Button状态和网页、模块都是同步的!




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对

该用户从未签到

沙发
发表于 2017-5-31 17:07:55 | 只看该作者
麻烦问下楼主,我按照要求连接了,发送http请求应该也没有问题的,把楼主的http请求的每一行都发过去了,最后发送\r\n没有反应,连续点了很多次后显示400 bad request,但是请求的代码和题主应该是一样的。

顺便问下楼主那个建立云端连接时那个80端口是固定的,还是随机的?

下面附一下出现错误的图,谢谢楼主大大了,再过一周就要验收了,就差这个yeelink连接问题了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

签到天数: 866 天

[LV.10]以坛为家III

板凳
 楼主| 发表于 2017-6-2 08:37:43 | 只看该作者
PeterAngelo 发表于 2017-5-31 17:07
麻烦问下楼主,我按照要求连接了,发送http请求应该也没有问题的,把楼主的http请求的每一行都发过去了,最 ...

我看图片中你应该网址输错误了吧, yeelink 不是yeeliok。其他问题没看出来!
回复 支持 反对

使用道具 举报

该用户从未签到

地板
发表于 2017-6-2 20:33:24 | 只看该作者
我输入的是www.yeelink.net,但是ss42com显示的字符一般每行好像都有错误,那个网址我感觉应该输入api.yeelink.net。
回复 支持 反对

使用道具 举报

签到天数: 866 天

[LV.10]以坛为家III

5#
 楼主| 发表于 2017-6-3 17:14:50 | 只看该作者
PeterAngelo 发表于 2017-6-2 20:33
我输入的是www.yeelink.net,但是ss42com显示的字符一般每行好像都有错误,那个网址我感觉应该输入api.yeel ...

软件不应该会乱码的!你可以试试api.yeelink.net !
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2017-6-5 22:34:27 | 只看该作者
试了也是不行,感觉可能是json格式的问题
回复 支持 反对

使用道具 举报

签到天数: 22 天

[LV.4]偶尔看看III

7#
发表于 2019-5-7 16:33:48 | 只看该作者
值得学习的好资料,谢谢
回复 支持 反对

使用道具 举报

签到天数: 3 天

[LV.2]偶尔看看I

8#
发表于 2019-6-16 19:09:08 | 只看该作者
www.yeelink.net  这个网址已经失效了

点评

是的,被收购了转型了,( ̄▽ ̄)~*  发表于 2019-6-17 14:22
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|联系我们|YFROBOT ( 苏ICP备20009901号-2  

GMT+8, 2024-6-26 09:09 , Processed in 0.054075 second(s), 28 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表