常用的at指令集
esp8266封装方式多样,天线可支持板载pcb天线,ipex接口和邮票孔接口三种形式;
esp8266可广泛应用于智能电网、智能交通、智能家具、手持设备、工业控制等领域。
其实,这些都是浮云,最大的优点是它是一款非常廉价的wifi串口解决方案模块,适合种学生开发者~
at指令调试(初步开发)
esp8266本身就是一个mcu,所以它可以有两种用途:
1.当成一个普通的wifi模块,用官方集成的at指令集进行开发;
2.当成一个集成了wifi功能的mcu,用安信可或其他平台提供的sdk进行深度开发。
由于由浅入深,今天先总结下常用at指令的开发过程。
先连接好电路,注意将gpio0脚悬空,用串口调试助手发送at指令,默认波特率为115200,设置好之后才可以进行正常通讯。
下面我将列出常用的at指令集:
at+gmr ----------- ------- 查看版本信息
at+cwmode=? ---------- ---响应返回当前可支持哪些模式
at+cwmode=《mode》 --- ---参数说明
《mode》
1 station 模式; 2 ap 模式; 3 ap 兼 station 模式;
at+ cwjap =《ssid》,《 pwd 》 ----参数说明
《ssid》字符串参数,接入点名称
《pwd》字符串参数,密码最长 64 字节 ascii
at+cipstart=? ----------设置 at+cipmux=0
+cipstart:
(《type》取值列表), (《ip address》范围), (《port》范围)
at+ cipserver=《mode》,《port》--参数说明
《mode》 0 --关闭 server 模式 ; 1 --开启 server 模式
《port》 端口号,缺省值为 333
at+cipsto=《time》-------------参数说明
《 time》 0~28800 服务器超时时间,单位为 s
at+cipmode=《mode》----------参数说明
《mode》 0-- 非透传模式 ; 1 --透传模式
esp8266指令集主要分为:基础at命令、wife功能at命令、top/ip工具箱at命令
一、基础at指令
1. at:测试at启动,返回ok
2. at+rst:重启模块,返回ok
3. at+gmr:查看版本信息,返回 ok ,为8位版本号
二、wifi功能at指令
1. at+cwmode?:查询wifi应用模式,返回+cwmode:ok
2. at+cumode=:设置wifi应用模式,返回ok;指令重启后生效,mode:1.station模式,2.ap模式,3.ap+station兼容模式,备注,station:客户端,ap:服务器;
station模式下:
3. at+cwjap?:查询当前选择的ap,返回+cwjap:ok
4. at+cwjap=”ssid”,”pwd”:加入ap,返回ok或error;ssid:接入点名称,pwd:密码最长64字节ascii
5. at+cwlap:列出当前可用ap,返回+cwlap:,,ok/error;ecn:0.open,1.wep,2.wpa_psk,3.wpa2_psk,4.wpa_wpa2_psk;ssid:接入点名称;rssi:信号强度
6. at+cwqap:退出与ap的连接,返回ok
ap模式下:
7. at+cwsap?:查询当前ap模式下的参数,返回+cwsap:,,,;
8. at+cwsap=”ssid”,”pwd”,”chl”,”ecn”:设置ap参数,返回ok/error;ssid:接入点名称;pwd:密码最长64字节ascii;chl:通道号;ecn:0.open,1.wep,2.wpa_psk,3.wpa2_psk,
4.wpa_wpa2_psk;
9. at+cwlif:查看已接入设备的ip,返回 ok
三、tcp/ip工具箱at指令
1. at+cipstatus:获得连接状态和连接参数,返回status:+cipstatus:,”type”,”addr”,, ok;id:连接的id号0-4;type:tcp或udp;addr:ip地址;port:端口号;tetype:0.本模块做client的连接,1.本模块做server的连接
2. 单路连接:at+cipstart=”type”,”addr”,:建立tcp连接或注册udp端口号,返回ok/error/alreay connect;id:连接的id号0-4;type:tcp/udp;addr:远程服务器ip地址;port:远程服务器端口号
3. 多路连接:at+cipstart=”type”,”addr”,,返回,同上
4. 单路连接:at+cipsend=:发送数据,返回,换行返回》,error/sendok;
5. 多路连接:at+cipsend=,:id:用于传输连接的id号
6. 透传模式:at+cipsend:发送数据,返回收到次命令后先换行返回》,然后进入透传模式,每包数据以20ms间隔区分,每包最大2048字节,当输入单独一包”+++”返回指令模式,该指令必须在开启透传模式以及单连接模式下使用
7. 多路连接:at+cipclose=:关闭tcp/udp,返回,ok/link is not;id:需要关闭的连接id,id=5时关闭所有连接(开启server后id=5无效)
8. 单路连接:at+cipclose:关闭tcp/udp,返回,ok/error/unlink
9. at+cifsr:获取本地ip地址,返回+cifsr: ok/error,ip addr:本机ip地址(station),ap模式无效
10. at+cipmux=:启动多连接,返回ok/link isbuilded;mode:0.单路连接模式,1.多路连接模式;备注,只有当连接都断开后才能更改,如果开启过server需要重启模块
11. at+cipserver=[,]:配置为服务器,返回ok,关闭server需重启,mode:0.关闭server模式,1.开启server模式;port:端口号,缺省值为333;备注:开启server后自动建立server监听,当有client接入会自动按顺序占用一个连接,多连接模式才能开启服务器;
12. at+cipmode:设置模块传输模式,返回ok/link isbuilded;mode:0.非透传模式,1.透传模式
13. at+cipsto=:设置服务器超时时间,返回ok,0~28800服务器超时时间,单位为s
14. 单连接模式:+ipd,::接收到网络数据,返回 网络数据向模块串口发送的+ipd和数据,收到连接的id号,数据长度,收到的数据
15. 多连接模式:+ipd,,:
esp8266是块很有开发价值的芯片,值得我们深入学习和改造~当然,at指令开发还需要一定的单片机基础,对此我就不多赘述了。
esp8266使用at指令开发示例
一。 智能配网(smartconfig)示例
说明:使用两种方式进行配网,乐鑫esp-touch和微信airkiss。
方式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:airkiss
1,at+cwmode_def=1 !!配置wifi模组工作模式为单sta模式,并把配置保存在flash
2,at+cwautoconn=1 !!使能上电自动连接ap
3,at+cwstartsmart=3 !!支持esp-touch和airkiss智能配网
4,打开微信,关注微信公众号“安信可科技”,点击wifi配置,点击开始配置,输入密码,点击连接, 见图3
5,at+cwstopsmart !!无论配网是否成功,都需要释放快连所占的内存
6,at+cipstatus !!查询网络连接状态,如图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
5,at+cipmode=1 !!方式二:使用透传模式发送数据
6,at+cipsend !!发送数据(data:test2),见上图1:
7,发送:+++ !!退出透传发送三个连续的+++,不要勾选新行(\r\n),见下图:
8,退出成功,即可发送at指令
英飞凌助力来自科研和工业界的12个合作伙伴启动可信赖电子产品联合研究项目
一个单片机串行数据采集/传输模块的设计
荣耀9怎么样?荣耀9评测:华为荣耀9外观、性能、音效、拍照告诉你值不值得买
三星S8、iphone7plus、小米6评测:实际测试哪家续航强?
移远通信联合深圳宏电,推动5G LAN等新技术赋能智慧矿山无人驾驶
esp8266 at指令集详解
基于icl7107的温度计的设计
WIFI无线网络音柱SV-7042T
同步和异步通信协议介绍
利用RTO数字示波器在时域和频域解决EMI问题
兆易创新收购思立微经证监会审核再次获得了有条件通过的结果
智能手环或手表常用的睡眠监测原理
IBM分享混合键合新技术
打造企业AI核心系统,第四范式先知3.0亮相乌镇
PCB设计走线布线对信号完整性有何影响?
Netricity PLC草案出炉 智能电网应用扩大
2016中国信息通信产业十大热点发布
MAX1865应用电路图(输入9V-16V,输出3.3V/2
常见总线:IIC、IIS、SPI、UART、JTAG、CAN、SDIO、GPIO
苹果成半导体芯片市场最大买家:超出三星50%