一、AT指令

1、简介

  • 使用额外单片机,通过串口发送AT指令(串口数据)到ESP8266,ESP8266则 会执行相应功能,如连接WIFI、 发送网络数据等
  • 优点:简单方便(ESP8266只需UART (串口)即可作为Wi-Fi适配器,应用到基于任何微控制器的设计中)
  • 缺点:需额外单片机,增加成本,效率低。

【解释】:AT指令是应用于终端设备与PC应用之间的连接与通信的指令。AT 即Attention。每个AT命令行中只能包含一条AT指令;对于AT指令的发送,除AT两个字符外,最多可以接收1056个字符的长度(包括最后的空字符)。
2、ESP8266指令汇总

  • AT+RST:重启模块
  • AT+CWMODE=:mode=1,Station模式(接收模式);mode=2,AP模式(发送模式);mode=3,AP+Station模式
  • AT+CWSAP=<ssid>,<pwd>、<chl>,<ecn> ssid:接入点名称
    pwd:密码
    chl:通道号
    ecn:加密方式:(0-OPEN, 1-WEP, 2-WPA_PSK, 3-WPA2_PSK, 4-WPA_WPA2_PSK)
    配置AP参数(指令只有在AP模式开启后有效)
    注意:此设置完成后,连接网络会可能出现连接不上的情况,请发送 AT+RST 命令并等待几分钟之后再连接。
  • AT+CWLIF:查看已接入的设备IP
  • AT+CIFSR:查看本模块的IP地址
  • AT+CWMODE?:查看本机配置模式
  • AT+CIPMUX?:查询本模块是否建立多连接
    说明<mode>:0-单路连接模式, 1-多路连接模式
  • AT+CIPMODE?:查询本模块的传输模式
    说明<mode>:0-非透传模式, 1-透传模式
  • AT+CIPSTO?:查询本模块的服务器超时时间
  • AT+CIPMUX=1:开启多连接模式
  • AT+CIPSERVER=1,8080:创建服务器
    说明<mode>:0-关闭 server 模式, 1-开启 server 模式。:端口号,缺省值为 333。AT+ CIPMUX=1 时才能开启服务器;关闭 server 模式需要重启。开启 server 后自动建立 server 监听,当有 client 接入会自动按顺序占用一个连接。
  • AT+CIPSTO=2880:设置服务器超时时间
  • AT+CIPSTATUS:查看当前连接
    说明<id>:连接的 id 号 0-4。<type>:字符串参数,类型 TCP 或 UDP。<addr>:字符串参数, IP 地址。<port>:端口号。<tetype>: 0-本模块做 client 的连接, 1-本模块做 server 的连接
  • AT+CIPSEND=1,6:向某个连接发送数据
    说明: 1)单路连接时(+CIPMUX=0),指令为: AT+CIPSEND=<length>。2)多路连接时(+CIPMUX=1) ,指令为: AT+CIPSEND= <id>,<length>。收到此命令后先换行返回”>”,然后开始接收串口数据当数据长度满 length 时发送数据。如果未建立连接或连接被断开,返回 ERROR。如果数据发送成功,返回 SEND OK。:需要用于传输连接的 id 号。<length>:数字参数,表明发送数据的长度,最大长度为 2048
  • AT+CIPSTART=2,“TCP”,“192.168.4.101”,8080:建立 TCP 连接
    指令:1)单路连接时(+CIPMUX=0),指令为: AT+CIPSTART= <type>,<addr>,<port>2)多路连接时(+CIPMUX=1),指令为: AT+CIPSTART=<id>,<type>,<addr>,<port>
    响应:如果格式正确且连接成功,返回 OK,否则返回 ERROR,如果连接已经存在,返回 ALREAY CONNECT
    说明<id>:0-4,连接的 id 号。<type>:字符串参数,表明连接类型, ”TCP”-建立 tcp 连接, ”UDP”-建立 UDP 连接。<addr>:字符串参数,远程服务器 IP 地址。<port>:远程服务器端口号
  • AT+CIPSEND=2,8
    指令: 1)单路连接时(+CIPMUX=0),指令为: AT+CIPSEND=<length>。2)多路连接时(+CIPMUX=1) ,指令为: AT+CIPSEND= <id>,<length>
    响应:收到此命令后先换行返回”>”,然后开始接收串口数据当数据长度满 length 时发送数据。如果未建立连接或连接被断开,返回 ERROR如果数据发送成功,返回 SEND OK
    说明<id>:需要用于传输连接的 id 号。<length>:数字参数,表明发送数据的长度,最大长度为 2048
  • AT+CWLAP:查看当前无线路由器列表
    说明: < ecn >:0-OPEN, 1-WEP, 2-WPA_PSK, 3-WPA2_PSK, 4-WPA_WPA2_PSK。<ssid>:字符串参数,接入点名称。<rssi>:信号强度
  • AT+CWJAP=”MERSAIN”,”XXXXXXXX”:加入当前无线网络
  • AT+CWJAP?:检测是否真的连上该路线网络
  • AT+CIFSR:查看模块 IP 地址

3、文件下载方法

乐鑫官网中就有有关ESP8266的相关内容

esp8266发送邮件库 esp8266如何发送数据_esp8266发送邮件库


esp8266发送邮件库 esp8266如何发送数据_数据_02

二、SDK编程

1、简介

  • SDK: Software Development Kit:软件开发包。就是一个文件夹,存放SDK编程的所需文件:外设驱动库、WIFI配置库、链接文件等…
  • SDK编程:在特定编译环境下,使用SDK软件 开发包,进行BSP8266编程开发。
  • ESP8266集成32-bit内核处理器,带片上SRAM,可以通过GPI0等外设连接传感器和其他设备。可以将ESP8266独立应用,程序存放在外部F1ash中,ESP8266读取外部Flash中的程序,执行相应功能。即:ESP8266,本身就是集成了微控制器的WIFI芯片,可以使用SDK对它进行编程,实现所需功能。
  • 优点:无需额外单片机,节省成本,效率高(CPU频率最高可达160MHz)
  • 缺点: SDK编程较麻烦,增加研发成本

2、SDK文件下载位置

如上图所示,EDK文件也可以在乐鑫官网找到。

esp8266发送邮件库 esp8266如何发送数据_esp8266发送邮件库


下载好压缩包,解压后,文件如图所示:

esp8266发送邮件库 esp8266如何发送数据_IP_04


3、文件夹的作用

  • bin: 编译生成的BIN文件;可直接下载到Flash中。
  • documents:SDK相关的文档或链接。
  • driver_ lib: 外设驱动的库文件,如: UART、I2C和GPIO等。
  • examples: 可供用户二次开发的示例代码,如loT Demo等。
  • include: SDK自带头文件,包含了用户可使用的相关API函数及其他宏定义,用户无需修改。
  • Id:链接时所需的脚本文件,若无特殊需求,用户无需修改。
  • lib: SDK提供的库文件。
  • tools: 编译BIN文件所需的工具,用户无需修改。
    说明:API == [Application Programming Interface] 应用程序编程接口是一些预先定义的函数,并提供了函数接口。开发人员在无需访问源码或理解内部I作机制的细节的情况下,直接调用该函数,就可以实现其函数功能。