安信可科技

ESP8266 & ESP32使用AT指令开发示例

ESP8266 & ESP32使用AT指令开发示例


说明:本页面主要使用AT指令进行开发wifi模组。

出厂最新AT固件及SDK源码:ESP8266 SDK发布


一. ESP8266的STM32工程示例

AT指令工程:ESP8266的STM32AT指令工程

使用说明文档:解压工程压缩包即可获取

腾讯云AT指令控灯工程:腾讯云控灯

阿里飞燕AT指令控灯工程:ESP8266的STM32阿里飞燕AT指令控灯工程

二. 智能配网(Smartconfig)示例


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

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

手机APP源码:https://github.com/EspressifApp/EsptouchForAndroid.git && https://github.com/EspressifApp/EsptouchForIOS.git

NodeMCU购买链接: NodeMCU购买


方式1:ESP-Touch


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

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

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

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

         图1

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

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

            图2


方式2:Airkiss


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

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

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

4,打开微信,关注微信公众号“安信可科技”,点击wifi配置,点击开始配置,输入密码,点击连接, 见图3

        图3

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

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

          图4


三. 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)


三.STA+连接TCP Server


1,AT+CWMODE_DEF=1                !!工作在单station模组,设置参数保存到flash

2,AT+CWJAP_DEF=“newifi_F8A0”,“anxinke123”   !!连接路由器,保存到flash

3,AT+CIPSTART=“TCP”,“192.168.99.217”,6001   !!连接TCP服务器,本实验用网络调试助手进行测试

4,AT+CIPSEND=5                  !!方式一:发送指定数据长度的数据(Data:test1),见图1

                                 图1

5,AT+CIPMODE=1                  !!方式二:使用透传模式发送数据

6,AT+CIPSEND                   !!发送数据(Data:Test2),见上图1

7,发送:+++                   !!退出透传发送三个连续的+++,不要勾选新行(\r\n),见下图:

8,退出成功,即可发送AT指令                   !!见下图: