400-035-6699
当前位置: 首页 » 技术支持 » 博文资讯 »

ESP32局域网通信与穿透技术详解

智能家居物联网(IoT)日益普及的今天,ESP32模块凭借其强大功能和易用性,成为了连接和控制的理想选择。本篇文章将详细介绍如何使用ESP32模块进行局域网通讯,并利用花生壳实现局域网与外界的通信

ESP32局域网通信与穿透技术详解


首先,我们需要了解ESP32模块的基本通讯方式。ESP32支持多种网络协议,包括TCP/IPUDP等。通过AT指令集,我们可以轻松地控制ESP32模块进行网络通讯


为了实现ESP32模块在局域网中的通讯,我们需要准备一些硬件软件工具。硬件方面,你需要一台搭载ESP32模块的设备,如Arduino开发板,以及路由器。软件方面,你需要安装安卓端TCP工具、PC端TCP工具和花生壳软件。


接下来,我们来具体讲解如何使用ESP32模块进行局域网通讯。首先,我们需要配置ESP32模块的网络模式。通过发送AT指令“AT+CWMODE=3”,我们可以将ESP32模块设置为softAP+station模式。这样,ESP32模块既可以作为接入点(AP),也可以作为客户端(station)连接到其他网络。


完成网络模式配置后,我们需要连接到局域网内的路由器。通过发送AT指令“AT+CWJAP=\"SSID\",\"PASSWORD\"”,我们可以让ESP32模块连接到指定的WIFI网络。成功连接后,我们可以通过AT指令“AT+CIFSR”查询ESP32模块的ip地址


获取IP地址后,我们可以使用TCP工具与ESP32模块进行通信。例如,我们可以在PC端TCP工具中输入ESP32模块的IP地址和端口,然后发送数据。同时,我们也可以使用安卓端TCP工具进行数据收发。


除了局域网通讯,我们还可以利用花生壳实现ESP32模块与外界的通信。花生壳是一款能够将内网设备映射到公网的工具。通过花生壳,我们可以将ESP32模块的IP和端口映射到一个域名上,从而实现远程访问


在使用花生壳进行映射之前,我们需要先注册并登录花生壳官网。登录后,我们可以申请到一个映射端口。然后,在花生壳中添加映射规则,将ESP32模块的IP和端口映射到花生壳提供的域名和端口上。


完成映射后,我们就可以通过花生壳提供的域名和端口访问ESP32模块了。例如,我们可以在PC端TCP工具中输入花生壳的域名和端口,然后发送数据。这样,即使ESP32模块位于局域网内,我们也可以通过互联网对其进行远程控制


在实现ESP32模块与外界的通信时,我们需要注意一些问题。例如,ESP32模块的端口需要记录下来,并且每次发送AT指令都需要等待模块回复应答信号。此外,我们还需要确保花生壳的正常运行,以及映射规则的正确配置。


最后,我们可以利用花生壳提供的功能,实现更多的应用。例如,我们可以将ESP32模块用作智能家居的控制中心,通过互联网对家中的电器设备进行远程控制。我们还可以将ESP32模块用作物联网设备数据采集点,通过互联网将数据传输到云端服务器


总之,ESP32模块与花生壳的结合,为我们提供了强大的网络通讯功能。通过合理的配置和应用,我们可以轻松地实现局域网通讯、远程控制、物联网数据采集等功能。希望本篇文章能够帮助大家更好地理解和应用ESP32模块与花生壳。

前言:

ESP32在局域网中通讯非常简单,按照模块的AT指令集发送指令即可。常规情况下,需要局域网内部的IP与局域网外界通讯,需要穿透局域网,此时需要借助第三方工具实现,此处使用花生壳刺破局域网。

硬件测试环境需求:STM32f1+ESP-12F,电脑手机,路由器

软件测试需求:安卓端TCP工具,PC端TCP工具,花生壳软件

45dee8d8-ab48-11ed-bfe3-dac502259ad0.png

指令集:

N101=0,查询模块版本信息,1000
N1=A,AT+GMR



N102=0,配置模块模式,1000
N2=A,AT+CWMODE=3



N103=0,连接路由器,1000
N3=A,AT+CWJAP="CT_LG""1234567890"



N104=0,查询模块IP地址,1000
N4=A,AT+CIFSR



N105=0,连接server,1000
N5=A,AT+CIPSTART="TCP""192.168.2.2"8080



N106=0,发送数据长度,1000
N6=A,AT+CIPSEND=10



N107=0,7无注释,1000
N7=A,1234567890


N108=0,开启透传模式,1000
N8=A,AT+CIPMODE=1



N109=0,关闭透传模式,1000
N9=A,AT+CIPMODE=0



N110=0,使能透传模式,1000
N10=A,AT+CIPSEND



N111=0,退出透传模式,1000
N11=A,+++


N112=0,使能多连接,1000
N12=A,AT+CIPMUX=1



N113=0,建立TCP server,1000
N13=A,AT+CIPSERVER=1



N114=0,断开TCP server,1000
N14=A,AT+CIPSERVER=0

操作方法:

ESP8266 AT 仅⽀持建⽴⼀个 TCP 服务器,且必须使能多连接,即允许连接多个 TCP Client

以下为 ESP8266 作为 softAP ,建⽴ TCP 服务器的举例;

如果是 ESP8266 作为 station,可在连接路由后,同理建⽴服务器。

配置 WiFi 模式AT+CWMODE=3//softAP+stationmode响应 :OK

使能多连接AT+CIPMUX=1响应 :OK

建⽴ TCP server AT+CIPSERVER=1 //defaultport=333响应 :OK

此处需要注意,模块端口号需要记录下来

每次发送AT指令,需要等待ESP32模块回复应答信号

461185e0-ab48-11ed-bfe3-dac502259ad0.png

花生壳配置:

一个账号,可以申请到两个映射端口,常规家庭使用,可以先把IP穿透到家庭中,之后使用家庭网关,进行设备集中管理

46238790-ab48-11ed-bfe3-dac502259ad0.png

花生壳中映射建立完成,可使用手机端,进行连接测试,手机端断开wifi,进行第一次通信测试,连接IP以及端口号使用域名指向,之后手机重新连接wifi进行通讯测试,即可完成全部测试

4640a1e0-ab48-11ed-bfe3-dac502259ad0.png

问题点记录:连接的客户端,第一个设备,才能接收到服务端发送的数据,此问题需要查询

花生壳附带功能

468bff0a-ab48-11ed-bfe3-dac502259ad0.png

网络刺穿之后,对于常规家庭设备,可以用来做那些?

审核编辑 :李倩

【限时免费】一键获取网络规划系统模板+传输架构设计+连通性评估方案

ESP32相关文章

服务电话:
400-035-6699
企服商城