程序员在旅途

用这生命中的每一秒,给自己一个不后悔的未来!

0%

通过AT指令实现ESP8266模块和TCP服务器的数据传输

一、总体介绍

  这篇博文主要讲解如何通过串口调试工具发送AT指令给esp8266-01,实现8266和服务器通讯。这里使用网络调试助手模拟出来一个TCP服务器,然后与WiFi模块相互通讯。由于演示的是局域网内部的通讯,因此需要将网络调试助手所在的PC和模块置于同一局域网内,并且PC的防火墙要关闭,以免模块连接不上服务器。

二、具体步骤

  1,搭建好环境
  准备好局域网环境,WiFi模块连接好电脑,串口调试工具能正常调试,安装好网络调试助手,(注意防火墙是否关闭)
TCP服务器示意图
  2,重启WiFi模块(非必须)
   AT+RST
  3,配置WiFi模组工作模式为单station 模式,(8266有三种工作模式:1 单station模式,2 AP模式,3 两者混合模式)
   AT+CWMODE=1
  4,连接AP(电脑连接的也是这个AP,此处换成你的路由器的ssid和密码)
   AT+CWJAP=”ITour”,”123456789”
  5,查看模块设备的IP地址(非必须)
   AT+CIFSR
  6,设置模块为单连接模式
   AT+CIPMUX=0
  7,建立TCP连接(协议是tcp,端口是在软件里面设置的,IP换成PC的。此处连接成功会有提示)
   AT+CIPSTART=”TCP”,”172.20.10.7”,8080
建立TCP连接
  8,查询网络的连接状态(非必须)
   AT+CIPSTATUS
  9,设置透传  (如果已经设置过则不用再次设置,再次设置也不会有问题)
   AT+CIPMODE=1 
  10,数据传输  (5代表数据长度大小,此处按照自己的需求进行设置,每输入这条指令就会提示让你输入数据 > )
   AT+CIPSEND=5
数据传输
  11,关闭传输
   AT+CIPCLOSE

三、实现原理 — 8266的透传功能

  ESP8266是一个 UART-WiFi 透传模块,可以将用户的一些物理设备连接到Wi-Fi 无线网络上,进行互联网或局域网通信,实现联网功能。       
   ESP8266 接受到来自串口的数据,并将收到的数据转换成TCP数据包,然后通过网络向指定的主机发送数据。这样服务器就可以接收到数据。服务器也通过网络可以向8266发送TCP数据包,然后模块解析此数据包,将其中的数据通过串口发送给物理设备(本文是串口调试工具)。