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

相关文章

Nginx屏蔽服务器名称与版本信息方式(源码级修改)

《Nginx屏蔽服务器名称与版本信息方式(源码级修改)》本文详解如何通过源码修改Nginx1.25.4,移除Server响应头中的服务类型和版本信息,以增强安全性,需重新配置、编译、安装,升级时需重复... 目录一、背景与目的二、适用版本三、操作步骤修改源码文件四、后续操作提示五、注意事项六、总结一、背景与

SpringBoot集成redisson实现延时队列教程

《SpringBoot集成redisson实现延时队列教程》文章介绍了使用Redisson实现延迟队列的完整步骤,包括依赖导入、Redis配置、工具类封装、业务枚举定义、执行器实现、Bean创建、消费... 目录1、先给项目导入Redisson依赖2、配置redis3、创建 RedissonConfig 配

java.sql.SQLTransientConnectionException连接超时异常原因及解决方案

《java.sql.SQLTransientConnectionException连接超时异常原因及解决方案》:本文主要介绍java.sql.SQLTransientConnectionExcep... 目录一、引言二、异常信息分析三、可能的原因3.1 连接池配置不合理3.2 数据库负载过高3.3 连接泄漏

Python中logging模块用法示例总结

《Python中logging模块用法示例总结》在Python中logging模块是一个强大的日志记录工具,它允许用户将程序运行期间产生的日志信息输出到控制台或者写入到文件中,:本文主要介绍Pyt... 目录前言一. 基本使用1. 五种日志等级2.  设置报告等级3. 自定义格式4. C语言风格的格式化方法

Web服务器-Nginx-高并发问题

《Web服务器-Nginx-高并发问题》Nginx通过事件驱动、I/O多路复用和异步非阻塞技术高效处理高并发,结合动静分离和限流策略,提升性能与稳定性... 目录前言一、架构1. 原生多进程架构2. 事件驱动模型3. IO多路复用4. 异步非阻塞 I/O5. Nginx高并发配置实战二、动静分离1. 职责2

基于C#实现PDF转图片的详细教程

《基于C#实现PDF转图片的详细教程》在数字化办公场景中,PDF文件的可视化处理需求日益增长,本文将围绕Spire.PDFfor.NET这一工具,详解如何通过C#将PDF转换为JPG、PNG等主流图片... 目录引言一、组件部署二、快速入门:PDF 转图片的核心 C# 代码三、分辨率设置 - 清晰度的决定因

Python 基于http.server模块实现简单http服务的代码举例

《Python基于http.server模块实现简单http服务的代码举例》Pythonhttp.server模块通过继承BaseHTTPRequestHandler处理HTTP请求,使用Threa... 目录测试环境代码实现相关介绍模块简介类及相关函数简介参考链接测试环境win11专业版python

Linux搭建ftp服务器的步骤

《Linux搭建ftp服务器的步骤》本文给大家分享Linux搭建ftp服务器的步骤,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录ftp搭建1:下载vsftpd工具2:下载客户端工具3:进入配置文件目录vsftpd.conf配置文件4:

Java Scanner类解析与实战教程

《JavaScanner类解析与实战教程》JavaScanner类(java.util包)是文本输入解析工具,支持基本类型和字符串读取,基于Readable接口与正则分隔符实现,适用于控制台、文件输... 目录一、核心设计与工作原理1.底层依赖2.解析机制A.核心逻辑基于分隔符(delimiter)和模式匹

Mac电脑如何通过 IntelliJ IDEA 远程连接 MySQL

《Mac电脑如何通过IntelliJIDEA远程连接MySQL》本文详解Mac通过IntelliJIDEA远程连接MySQL的步骤,本文通过图文并茂的形式给大家介绍的非常详细,感兴趣的朋友跟... 目录MAC电脑通过 IntelliJ IDEA 远程连接 mysql 的详细教程一、前缀条件确认二、打开 ID