2017-5-23 ESP 调试记录

来源:互联网 发布:手机移动协同软件 编辑:程序博客网 时间:2024/06/05 23:56

2017-5-23


today task:

说明:使用两种方式进行配网,乐鑫ESP-Touch和微信Airkiss。

准备工作:1块NodeMCU或ESP8266 wifi模组,ESP-Touch APP Android IOS

手机APP源码:https://github.com/espressifapp

NodeMCU购买链接:https://shop162836668.taobao.com/category-1303484485.htm?spm=a1z10.1-c.0.0.ykTvdP&search=y&catName=ESP8266%D7%A8%C7%F8

方式1:ESP-Touch

1,AT+CWMODE_DEF=1    !!配置WiFi模组工作模式为单STA模式,并把配置保存在flash

2,AT+CWAUTOCONN=1    !!使能上电自动连接AP

3,AT+CWSTARTSMART=3   !!支持ESP-Touch和Airkiss智能配网

4,手机连上需要配网的AP,打开手机APP ESP-Touch 输入密码,点击确定,等待配网成功,

         图1

5,AT+CWSTOPSMART     !!无论配网是否成功,都需要释放快连所占的内存,见图2

6,AT+CIPSTATUS      !!查询网络连接状态 

            图2


我已经按照官方所示完成上述步骤  实现配网,然后HTTP通讯:



1,AT+GMR      !!启动查询版本信息

AT version:1.2.0.0(Jul 1 2016 20:04:45)

SDK version:1.5.4.1(39cb9a32)

Ai-Thinker Technology Co., Ltd.

Integrated AiCloud 2.0 v0.0.0.5

Build:1.5.4.1 Mar 24 2017 11:06:56

OK

2,AT+CWMODE_DEF=1    !!配置WiFi模组工作模式为单STA模式,并把配置保存在flash

OK

3,AT+CWJAP_DEF=“newifi_F8A0”,“anxinke123” !!连接网络

WIFI CONNECTED

WIFI GOT IP

OK

4,AT+CWAUTOCONN=1    !!使能上电自动连接AP

OK

5,AT+CIPSTART=“TCP”,“183.230.40.33”,80 !!连接服务器

CONNECT

OK

6,AT+CIPMODE=1                !!设置透传

OK

7,AT+CIPSEND                 !!启动发送

OK

8,> GET请求

GET /devices/5835707 HTTP/1.1

api-key: xUrvOCDB=iRuS5noq9FsKrvoW=s=

Host:api.heclouds.com

\r\n\r\n(结束)  


回应:

HTTP/1.1 200 OK

Date: Tue, 09 May 2017 01:21:06 GMT

Content-Type: application/json

Content-Length: 213

Connection: keep-alive

Server: Apache-Coyote/1.1

Pragma: no-cache

{“errno”:0,“data”:{“private”:false,“protocol”:“EDP”,“create_time”:“2017-05-06 12:51:52”,“online”:false,“location”:{“lon”:0,“lat”:0},“id”:“5835707”,“auth_info”:“Light001”,“title”:“SLight”,“tags”:[]},“error”:“succ”}

9,>POST请求

POST /devices/5835707/datapoints HTTP/1.1

api-key: xUrvOCDB=iRuS5noq9FsKrvoW=s=

Host:api.heclouds.com

Content-Length:60

\r\n

{“datastreams”:[{“id”:“switch”,“datapoints”:[{“value”:1}]}]}|(结束)

回应:

HTTP/1.1 200 OK

Date: Tue, 09 May 2017 01:28:42 GMT

Content-Type: application/json

Content-Length: 26

Connection: keep-alive

Server: Apache-Coyote/1.1

Pragma: no-cache

{“errno”:0,“error”:“succ”}

10, +++                     !!退出透传,不要勾选新行(\r\n)



自我调试记录:

下面是我在调试时发送的信息:

POST /devices/5835707/datapoints HTTP/1.1
api-key: xUrvOCDB=iRuS5noq9FsKrvoW=s=
Host:api.heclouds.com
Content-Length:60


{"datastreams":[{"id":"switch","datapoints":[{"value":1}]}]}|




正确的收到的数据:



正确的收到的发送的数据:

注意 :

这里在串口助手里要有两个回车符

图片暂无:

Content-Length:60

后面要有两个回车符




不然的话提示错误:

错误信息为:

>HTTP/1.1 400 Bad Request
Server: nginx
Date: Tue, 23 May 2017 11:34:14 GMT
Content-Type: text/html
Content-Length: 166
Connection: close


<html>
<head><title>400 Bad Request</title></head>

<body bgcolor="white">
<center><h1>400 Bad Request</h1></center>
<hr><center>nginx</center>
</body>
</html>

正确的应该输入到串口助手中的信息格式为:

POST /devices/5835707/datapoints HTTP/1.1
api-key: xUrvOCDB=iRuS5noq9FsKrvoW=s=
Host:api.heclouds.com
Content-Length:60


{"datastreams":[{"id":"switch","datapoints":[{"value":1}]}]}



发送成功收到的回应:

HTTP/1.1 200 OK


Date: Tue, 23 May 2017 12:00:18 GMT


Content-Type: application/json


Content-Length: 26


Connection: keep-alive


Server: Apache-Coyote/1.1


Pragma: no-cache






{"errno":0,"error":"succ"}




不然的话提示错误:

错误信息为:

>HTTP/1.1 400 Bad Request
Server: nginx
Date: Tue, 23 May 2017 11:34:14 GMT
Content-Type: text/html
Content-Length: 166
Connection: close


<html>
<head><title>400 Bad Request</title></head>

<body bgcolor="white">
<center><h1>400 Bad Request</h1></center>
<hr><center>nginx</center>
</body>
</html>