提前准备:
在CSDN上面有关AT指令的文章基本上都会用板子,但是目前我手上没有板子,这就很不知所措了。
可以用云服务器解决这个问题,这里分享一个链接。可以用云服务器模仿esp8266的传输过程。
链接: https://pan.baidu.com/s/1jdp7apV4Ro-HvB1itHVu2A
提取码: 8he5
另外(与本文无关):
esp8266 WiFi库文件 在我的电脑上这个位置:D:\ESP8266\Arduino-master\libraries\esp8266\examples
arduino下载esp8266开发板用家里的WiFi很慢,换成手机热点就快很多了。
AT指令发送步骤+编程:
4种开发方式:
1:使用乐鑫AT 固件,使用时,单片机通过串口用AT指令来实现wifi连接、网络通迅,例如arduino uno+esp8266他们间使用AT指令来交互,输入AT指令,要注意大小写,还有前后中间都不能有空格,以及符号必须是英文符号。
2:使用乐鑫SDK开发包,直接用C编程。例如果云esp8266 sdk开发之类。直接开发BIN文件。
3:使用NODEMCU固件,这是国内大能 在SDK基础上,加入了LUA语言。
现在,出现了第4种开发方式,arduino直接编程,原理还是在SDK基础上开发,不过已经封装为我们熟的Arduino语言了。注意已经不需要ARDUINO硬件了,而是利用arduino软件平台来编译8266的源码。
开始扩展4种开发方式的第一条,开始介绍步骤:
1.下面所有的命令,不做特殊说明,命令结尾处都要加/r/n装换成ASCII就是0x0d,0x0a。在编程中,这个很重要。我们的这个文档主要针对的也是编程过程。
2.AT命令,编程实现和用串口调试有很大的区别,主要体现在时间的延时上,在编程中,很多AT命令都需要相对应的延时,有些命令的延时需要长一些,而有一些则需要尽量的短,而这时间和实际环境也相关。所以,编程实现ESP8266的功能需要大量的时间来调试。
3.每个人用的模块的硬件电路可能有差异,所以如果对硬件不熟悉,就不能完全照抄别人的代码。当然,本质都是一样的,我们也得学习学习别人写好的那些调试代码,看他们的思路与设计过程,集众家之所长。
4.对于ESP8266的AT命令函数,网上能找到很多写好的库的函数,下载下来直接用就可以,都是开源的代码,结合自己的需求进行修改。注意,这个AT的库函数并不是官方的,官方是没有的,这个是别人写的,所以可能带有一些错误,但基本都是正确的,如果不确定,就先不用库函数,而是自己写简单的发送代码。
5.初次调试时,需要单步调试,观察每一步得到的返回字符,看是否正确。
6.涉及的命令很少,ESP8266本身AT命令也不多,主要用的是STA模式和AP模式,最后的目的便是网关(也就是ESP8266模块)和服务器的通信,通信才是重点,当然,肯定是不会直接通信的,必须依靠网络发送协议,也就是MQTT了,对于初次学习,这个协议有些难。
ESP8266连接WIFI,也就是上网用的无线信号:
我们这里的无线信号为:lm930126 密码:123456
第一步:ESP8266 复位
复位分两种,第一种是由AT指令实行:AT+RST,延时2s
第二种由硬件执行:此处不做详细说明,这是各个模块的硬件设计决定的。
我们建议使用第一种。
这个命令不会返回什么信息