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

本文主要是介绍esp8266WIFI模块教程:ATK-ESP8266——TCP网络通讯和服务器连接,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

  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”,这样上电模块就不会再上电进入透传了。

这篇关于esp8266WIFI模块教程:ATK-ESP8266——TCP网络通讯和服务器连接的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/825316

相关文章

MySQL 多表连接操作方法(INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL OUTER JOIN)

《MySQL多表连接操作方法(INNERJOIN、LEFTJOIN、RIGHTJOIN、FULLOUTERJOIN)》多表连接是一种将两个或多个表中的数据组合在一起的SQL操作,通过连接,... 目录一、 什么是多表连接?二、 mysql 支持的连接类型三、 多表连接的语法四、实战示例 数据准备五、连接的性

MySQL中的分组和多表连接详解

《MySQL中的分组和多表连接详解》:本文主要介绍MySQL中的分组和多表连接的相关操作,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录mysql中的分组和多表连接一、MySQL的分组(group javascriptby )二、多表连接(表连接会产生大量的数据垃圾)MySQL中的

springboot使用Scheduling实现动态增删启停定时任务教程

《springboot使用Scheduling实现动态增删启停定时任务教程》:本文主要介绍springboot使用Scheduling实现动态增删启停定时任务教程,具有很好的参考价值,希望对大家有... 目录1、配置定时任务需要的线程池2、创建ScheduledFuture的包装类3、注册定时任务,增加、删

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

Python的time模块一些常用功能(各种与时间相关的函数)

《Python的time模块一些常用功能(各种与时间相关的函数)》Python的time模块提供了各种与时间相关的函数,包括获取当前时间、处理时间间隔、执行时间测量等,:本文主要介绍Python的... 目录1. 获取当前时间2. 时间格式化3. 延时执行4. 时间戳运算5. 计算代码执行时间6. 转换为指

如何为Yarn配置国内源的详细教程

《如何为Yarn配置国内源的详细教程》在使用Yarn进行项目开发时,由于网络原因,直接使用官方源可能会导致下载速度慢或连接失败,配置国内源可以显著提高包的下载速度和稳定性,本文将详细介绍如何为Yarn... 目录一、查询当前使用的镜像源二、设置国内源1. 设置为淘宝镜像源2. 设置为其他国内源三、还原为官方

Python正则表达式语法及re模块中的常用函数详解

《Python正则表达式语法及re模块中的常用函数详解》这篇文章主要给大家介绍了关于Python正则表达式语法及re模块中常用函数的相关资料,正则表达式是一种强大的字符串处理工具,可以用于匹配、切分、... 目录概念、作用和步骤语法re模块中的常用函数总结 概念、作用和步骤概念: 本身也是一个字符串,其中

Python中的getopt模块用法小结

《Python中的getopt模块用法小结》getopt.getopt()函数是Python中用于解析命令行参数的标准库函数,该函数可以从命令行中提取选项和参数,并对它们进行处理,本文详细介绍了Pyt... 目录getopt模块介绍getopt.getopt函数的介绍getopt模块的常用用法getopt模

Maven的使用和配置国内源的保姆级教程

《Maven的使用和配置国内源的保姆级教程》Maven是⼀个项目管理工具,基于POM(ProjectObjectModel,项目对象模型)的概念,Maven可以通过一小段描述信息来管理项目的构建,报告... 目录1. 什么是Maven?2.创建⼀个Maven项目3.Maven 核心功能4.使用Maven H

springboot上传zip包并解压至服务器nginx目录方式

《springboot上传zip包并解压至服务器nginx目录方式》:本文主要介绍springboot上传zip包并解压至服务器nginx目录方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录springboot上传zip包并解压至服务器nginx目录1.首先需要引入zip相关jar包2.然