esp8266WIFI模块教程:ATK-ESP8266——TCP网络通讯和服务器连接

avatar
作者
猴君
阅读量:0

前言

  ATK-MW8266D 模块是正点原子推出的一款高性能 UART-WIFI(串口-无线)模块,ATK-MW8266D 模块板载了正点原子公司自主研发的 ATK-ESP-01 模块,该模块通过 FCC、CE 认证,可直接用于出口欧美地区的产品。
  ATK-MW8266D 模块采用串口(LVTTL)与 MCU(或其他串口设备)通讯,且内置 TCP/IP协议栈,能够实验串口与 WIFI 之间的转换。通过 ATK-MW8266D 模块,传统的串口设备只需要简单的串口配置,即可通过网络(WIFI)传输自己的数据。 ATK-MW8266D 模块支持 LVTTL 串口,兼容 3.3Vh 和 5V 单片机系统,可以很方便得与其他产品进行连接。同时,该模块支持还多种工作模式:WIFI STA、WIFI AP、WIFI STA+WIFI AP,从而能够快速地构建串口-WIFI 的数据传输方案,方便其他设备使用互联网传输数据。

引脚定义说明

名称说明
VCC电源(3.3V~5V)
GND电源地
TXD模块串口发送引脚(TTL电平,不能直接接RS232电平!),可接单片机的RXD
RXD模块串口接收引脚(TTL电平,不能直接接RS232电平!),可接单片机的TXD
RST复位(低电平有效)
IO_0用于进入固件烧写模式,IO_0低电平:固件烧写模式 ;高电平:运行模式(默认)

AT指令介绍

ATK-MW8266D 模块出厂默认为 AT 指令状态,可通过 UART 与模块进行通讯,UART通讯的默认配置参数,如下表所示:

ATK-MW8266D 模块支持三种工作模式,分别为:STA、AP、STA+AP。

  1. STA 模式

  在此模式下,ATK-MW8266D 模块可连接其他设备提供的无线网络,例如通过 WIFI 连接至路由器,从而可以访问互联网,进而实现手机或电脑通过互联网实现对设备的远程控制。

  1. AP 模式

  AP 模式为默认的模式,在此模式下,ATK-MW8266D 模块将作为热点供其他设备连接,从而让手机或电脑直接与模块进行通讯,实现局域网的无线控制。

  1. STA+AP 模式

  该模式为 STA 模式与 AP 模式共存的一种模式,ATK-MW8266D 模块既能连接至其他设备提供的无线网络,又能作为热点,供其他设备连接,以实现广域网与局域网的无缝切换,方便操作使用。
除了上述的三种工作模式外,ATK-MW8266D 模块在进行 UDP 连接或作为 TCP 客户端连接时,能够进入透传模式,进入透传模式后,ATK-MW8266D 将会原封不动地把从 TCP服务器或其他 UDP 终端接收到的消息,通过 UART 发送至与之连接的设备。

指令描述
AT测试指令
AT+RST重启模块
AT+GMR查看版本信息
ATE开关回显功能
AT+RESTORE恢复出厂设置
AT+UART设置串口配置
AT+CWMODE选择 WIFI 应用模式
AT+CWJAP加入 AP
AT+CWLAP列出当前可用 AP
AT+CWQAP退出与 AP 的连接
AT+CWSAP设置 AP 模式下的参数
AT+CWLIF查看已接入设备的 IP
AT+CWDHCP设置 DHCP 开关
AT+CWAUTOCONN设置 STA 开机自动连接到 wifi
AT+CIPSTAMAC设置 STA 的 MAC 地址
AT+CIPAPMAC设置 AP 的 MAC 地址
AT+CIPSTA设置 STA 的 IP 地址
AT+CIPAP设置 AP 的 IP 地址
AT+CWSTARTSMART启动智能连接
AT+CWSTOPSMART停止智能连接
AT+WPS设置 WPS 功能
AT+MDNS设置 MDNS 功能
AT+CWHOSTNAME设置 ATK-ESP-01 Station 的主机名字
AT+CIPSTATUS获得连接状态
AT+CIPDOMAIN域名解析功能
AT+CIPSTART建立 TCP 连接或注册 UDP 端口号
AT+CIPSSLSIZE设置 SSL Buffer 容量
AT+CIPSEND发送数据
AT+CIPCLOSE关闭 TCP 或 UDP
AT+CIFSR获取本地 IP 地址
AT+CIPMUX启动多连接
AT+CIPSERVER配置为服务器
AT+CIPMODE设置模块传输模式
AT+SAVETRANSLINK保存透传到 Flash
AT+CIPSTO设置服务器超时时间
AT+PINGPING 命令
AT+CIPDINFO接收网络数据时是否提示对端 IP 和端口
AT+CIPSNTPCFG设置时域和 SNTP 服务器
AT+CIPSNTPTIME查询 NTP 时间
AT+ATKCLDSTA连接到原子云服务器
AT+ATKCLDCLS关闭原子云服务器连接
AT+SAVETRANSLINK保存透传到 Flash

调试前准备

  准备一个ATK-ESP8266,一个usb转ttl模块,硬件连接:

连接电脑

原子云服务器连接

(1)创建设备
  在创建设备之前,需登入原子云的网址 https://cloud.alientek.com/创建并登入账号。创建和登入账号的过程比较简单,这里不做过多介绍,登入原子云后,如下图所示:

  在原子云平台创建设备,首先点击原子云首页左侧导航栏中的“设备管理”,随后在出现的页面中,点击“新增设备”,如下图所示:

  接着在弹出的窗口中,根据 ATK-MW8266D 模块的设备类型选择“ESP8266”,随后根据个人喜好填入“设备名称”和“密码”(这里的密码在就是 ATK-MW8266D 模块通过 AT 指令连接原子云时需要的密码),如下图所示:

  最后,点击“新增”按钮,即可创建设备,设备创建好后,如下图所示:

  创建好设备后,系统会自动为设备生成编号,这个设备编号就是 ATK-MW8266D 模块使用 AT 指令连接原子云时需要的设备 ID。
(2)连接原子云
  创建好设备后,就能后根据设备的编号和密码并通过 AT 指令操作 ATK-MW8266D 模块连接原子云了。具体的 AT 指令如下所示:
  AT+CWMODE=1  /* 使能 ATK-MW8266D 模块的 STA 模式,以连接路由器的 AP /
  AT+CWJAP=”PADAVAN”,”122232542”   /
连接路由器的 AP,以访问互联网 /
  AT+ATKCLDSTA=”80745715229992155590”,”66666666”   /
连接原子云服务器 */
实际在串口调试助手中的操作,如下图所示:
  当串口调试助手显示“CLOUD CONNECTED”后,说明已成功连接上原子云服务器,此时在原子云的设备管理界面,也能够看到对应的设备显示为“已连接”的连接状态,如下图所示:

   当 ATK-MW8266D 模块成功连接原子云服务器后,即进入了透传模式,此时就能够在原子云的对应设备的“消息收发”操作界面通过原子云服务器发送消息至 ATK-MW8266D模块,同时,也能后在该界面下,查看到接收自 ATK-MW8266D 模块的消息,如下图所示:

TCP 网络通讯连接

  注:ATK_ESP8266 模块仅在 TCP Client 和 UDP,支持透传模式。

  1. 设置 WIFI 模式
      AT+CWMODE=1 //设置为 STA 模式

  2. 连接路由器
      AT+CWJAP=”PADAVAN”,”122232542” //连接对象路由器的 ssid 和password

  3. 在电脑上面使用网络调试助手,创建一个 server,win+r——ipconfig获取本地IP地址(如192.168.3.65),如图所示

  4. 模块连接到 server
      AT+CIPSTART=“TCP”,“192.168.3.65”,8082

  5. 开启透传模式
       AT+CIPMODE=1

  6. 开始透传
      AT+CIPSEND

  7. 退出透传模式
    在透传模式中,若识别到单独的一包数据“ +++”,则退出透传模式。注:退出透传模式需要取消发送新行。

    TCP通讯示例:

      注意:如果需要模块上电自动连接到某个 IP 并进入透传模式,这个时候需要在模块连接到wifi 热点之后 ,发送AT+SAVETRANSLINK=1,“192.168.1.xxx”,8082,“TCP”,设置模块为上电自动连接到 TCP Server :192.168.1.xxx ,8082 , 并进入透传模式 。当发送AT+SAVETRANSLINK 指令后,模块断电再上电会自动进入透传模式,此时发送 AT 指令模块是不会回复的(即使透传的服务器不存在,模块也会进入透传模式的)。模块要恢复到 AT 指令模式参考图 2.3.9.4 先退出透传模式,然后勾选发送新行,再发送“AT+SAVETRANSLINK=0”,这样上电模块就不会再上电进入透传了。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!