control12580 发表于 2018-2-23 19:58:52

ESP8266 http get机智云端数据

机智云http-get方式请求云数据
        经过一些列的坑,终于把某些坑填平了。写下来,做备份
        file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtml1/03/clip_image002.jpg
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtml1/05/clip_image002.jpg
目标:通过手机APP发送数据给机智云,现在是运用虚拟设备这块。然后再用ESP8266通过HTTP GET的方式求情data point这几个数据。

1.        首先建立一个虚拟设备,再添加几个数据点。
其中要注意的事情:基本信息、数据点都很好添加,启动虚拟设备后,可以在手机APP上找到数据点,并控制,要注意更新完数据后要推送,否则云上的数据是不会改变的。这个坑困扰了我一阵子,另外,网页调试的时候回发现传过数据的时间会不对,客服说传过来的格林尼日时间。

2.        经过上述操作,可以建立手机APP和云的联系,接下来要在ESP8266上get到数据。这块坑是很大的,分析了原因主要是相关内容缺失以及经验太少。
首先说ESP8266的配置:
AT+CWMODE=3   配置成AP+STA模式,服务器模式+客户端模式
AT+RST         配置好上面需要重启
AT+CWJAP="Xiaomi_ldm","abcd1111"    既然要访问云,就要上网,进网络
AT+CIPMUX=0      这个可写可不写
AT+CIPSTART="TCP","114.55.186.19",80    这块是关键,连接到你要取数据的服务器
        那么怎么知道IP地址和端口号?
方法1:下载一个chrome,里面下载一个postman,F12后计入调试阶段,输入一个网址,能抓取一些列数据包,比如   http://api.k780.com:88/?app=life.time&appkey=10003&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=json是一个提供时间的接口函数,chrome可以看到访问这个URI的get方法
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtml1/06/clip_image002.jpg
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtml1/07/clip_image002.jpg



方法2:采用Postman,这个软件也是一个坑,需要自己体会
                首先新建一个request,可以是get方法,在get方法中输入你要访问的URI,除了get还有好多方法。另外在header中添加一系列要去访问的东西,可在code中查看生成的请求。
                通过以上这些基本就能得到透传时的代码了,以上不是傻瓜教程,有部分省略了,自行学习一下。
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtml1/08/clip_image002.jpg

file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtml1/09/clip_image002.jpg
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtml1/10/clip_image002.jpg

file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtml1/11/clip_image002.jpg
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtml1/12/clip_image002.jpg
AT+CIPMODE=1   设置为透传
AT+CIPSEND      开始透传
GET /v3/weather/now.json?key=wcmquevztdy1jpca&location=guangzhou&language=en&unit=c HTTP/1.1
Host: api.thinkpage.cn
Connection: close//在这个上面,我遇到了特别大的一个坑,其中经历了好多困扰,总结起来是,网络串口:当我发送空行+回车后,查看源码后发现只发送了一个0d 0a,只有在已16hex发送时,才能发送成功
//另外一个坑点是,另一个串口发送程序,发送\r\n时,其实是了ascii码,所以一直回来的是400
+++    关闭透传
AT+CIPCLOSE
经过以上的内容,应该就可以得到机智云APP的数据了,至于怎么解析数据,那就得学习json和mcu编程的功底了。
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtml1/13/clip_image002.jpg
做了上述事情一共耗时了10天左右吧,其中夹杂过年的假期,照顾我刚满月的小美女。有些问题确实让我走进了死胡同,因为对于上述技术我是10%的内容了解,其余全靠自学,图片传上来太费劲,大神勿喷,菜鸟一个


LegendiCC 发表于 2019-5-7 11:00:19

哇,学习了学习了

dcr1105 发表于 2019-12-6 11:52:19

您好,HTTPS 呢?
页: [1]
查看完整版本: ESP8266 http get机智云端数据