ESP8266 & ESP32使用AT指令开发示例
ESP8266 & ESP32使用AT指令开发示例
一. 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指令 !!见下图: