ESP8266模块,STA模式(与手机搭建TCP通讯,EPS8266为客户端)

专题文章:

ESP8266模块,STA模式(与电脑搭建TCP通讯,ESP8266为客户端)
ESP8266模块,STA模式(与电脑搭建TCP通讯,ESP8266为服务端)
ESP8266模块,SoftAP模式(与电脑搭建TCP通讯,ESP8266为客户端)
ESP8266模块,SoftAP模式(与电脑搭建TCP通讯,ESP8266为服务端)

ESP8266模块,STA模式(与手机搭建TCP通讯,ESP8266为客户端)   
ESP8266模块,STA模式(与手机搭建TCP通讯,ESP8266为服务端)
ESP8266模块,SoftAP模式(与手机搭建TCP通讯,ESP8266为客户端)
ESP8266模块,SoftAP模式(与手机搭建TCP通讯,ESP8266为服务端)

前言

  全文篇幅过于冗长,建议读者可先跳转至第4段落,完成本次实验“配置并且搭建TCP通讯的实验”,达到实验结果后,如有不解疑惑,即可返回查阅前文,是本人学习过程中困惑点,经过学习解答的一点见解,或许能帮助解答你的一点疑惑。
进入正文:



1、效果演示

如图:

电脑 “串口调试助手”,即 客户端 页面:

在这里插入图片描述


手机 服务端 页面:

在这里插入图片描述


ps:(图片中有两个图片,

   第一张图片是 ESP8266 调试窗口,也就是本实验中的客户端
   第二张照片是手机上搭建的一个服务端窗口

   第一张照片红色方框里的信息是,服务端发送给客户端的信息;
   第二张图片蓝色方框里的信息是,客户端发送给服务端的信息。
tips:   服务端是,手机
    客户端是, ESP8266




2、实验目的

  将ESP8266模块配置为STA模式(Station)、客户端 。搭建TCP通讯,与手机实现通讯功能。



3、指令

3.1 本实验相关指令

配置ESP8266为Station模式时,需要的用到的相关指令:

AT指令响应(也就是返回值)
ATOK
ATE<mode>OK
AT+CWMODE=<mode>OK
AT+CWJAP=<ssid>,<pwd>OK
AT+CIPMUX=<mode>OK
AT+CIPSTART=<type>,<remote IP>,<remoteport>CONNECT
AT+CIPMODE=<mode>OK
AT+CIPSEND=<length>>
AT+CIFSROK(查询ESP8266连接WIFI后,分配的IP 地址)
AT+CIPSTA?OK(查询ESP8266连接WIFI后,分配的IP 地址)
AT+CIPCLOSEOK(关闭TCP连接)
AT+CWQAPWIFI DISCONNECT(断开已连接的WIFI热点)
AT+CWLAP返回周围的所以热点
AT+RSTready

ps:只有配置正常没有错误时,才会出现如上表中的响应(即窗口弹出的返回值)




3.2 学习指令的方法

  下面,我将先详细跟大家分享一下,我是如何从芯片数据手册中,了解相关指令作用的,然后读者照着思路去翻阅其余指令即可。表中剩余的相关指令,我会按照以我的理解阐述,因为目的在于能够理解并使用,所以有时不会拘束于专业术语,对此不要过于纠结了,如有出错点,希望读者指出,一同进步!
见下表:
在这里插入图片描述

阅读表中信息可知,有关AT+CWJAP指令有两类,一类是查询指令,另一类是设置指令。下面分别对这两种指令进行实验。

按照指令表所给指令,向ESP8266模块发送指令(就是往调试窗口 发送指令):

AT+CWJAP?

观察表中红色方框信息可知,该指令是查询指令,功能是 “ 查询 ESP8266 Station 已连接的 AP 信息。”
(ps:这句话有两点信息需要注意。“ESP8266 Station”表明已经将ESP8266设置为STA模式;“AP”,英文全程是“Access Point”,中文翻译为“接入点”。这里代表的是,为 ESP8266 提供热点连接、接入 的设备,也就是本实验的电脑设备)

响应(即窗口返回的信息)为:+CWJAP:<ssid>,<bssid>,<channel>,<rssi>
              OK

下图是我往调试窗口发送查询指令以及返回的参数值(响应),根据截图对比着表中信息来逐一了解。

在这里插入图片描述

观察发现,当我们发送查询指令时,窗口就如期而至的弹出“一批数据”,并且数据与指令表的格式一一对应,固定的信息“+CWJAP : ”  我就不加以阐述,下面我们来对比着参数,一一了解:
   <ssid>  → 参数① “blue” :该参数表示的是热点的名称例:我手机设置的热点名称是 “blue”。
  <bssid> → 参数② “ea:47:38:cb:4c:82” :该参数表示的是提供热点的设备的MAC地址例:这6个字节便是我手机在该局域网内的MAC地址
<channel> → 参数③ “11” :该参数表示的是网络通道例:此时 ESP8266 与我的电脑设备是通过网络通道11连通起来的
  <rssi> → 参数④ “-42” :能力有限,该参数我也不甚了解,在网上查阅了资料仅供参考:RSSI (英文全程:Received Signal Strength Indicator) 信号强度指示,是用来衡量接收到的无线信号的信号强度的一项指标

  以上便是发送 查询指令 时返回的各个参数代表的含义。注意的一点是,有以上的信息反馈是因为 ESP8266模块已经连接上了热点。如果 ESP8266模块还没有连接上任何热点时,发送 查询指令 ,返回的信息只有“No AP”。
(ps:  “→”    表示  “对应” 关系)





下面我们按照这种思路来继续解读“ 设置指令 ”

调试窗口 发送(就是向 ESP8266模块发送指令)指令:

AT+CWJAP="blue","12345678"

下图是实践的截图,

在这里插入图片描述


手机热点连接情况:
在这里插入图片描述

查阅表中信息得知,该 设置指令 格式为:AT+CWJAP=<ssid>,<pwd>[,<bssid>]。功能是设置 ESP8266 Station 需连接的 AP(就是让 ESP8266 连接上热点)。其中参数,
<ssid> 表示目标AP的SSID,也就是设备热点的名称。
例:我手机热点的名称为 “blue”

<pwd> 表示目标AP的接入密码,最⻓为64 字节 ASCII。
例:我手机热点 “blue”设置的密码为“12345678”

[<bssid>] 表示⽬标 AP 的 MAC 地址
(就是提供热点的设备的MAC地址),该参数⼀般⽤于有多个 SSID 相同的 AP 的情况。通俗的讲就是如果你现处的环境除了你的热点名字叫 “A”之外,还有其他的设备提供的热点名字也叫 “A”,这时 ESP8266仅靠热点名字 “A”是不能准确的找到你的设备的。这种情况便需要一个类似“身份证”一样的东西,来帮助 ESP8266 寻找你的设备了。这个“身份证”就是MAC地址了,就像我们人人都有唯一的“身份证”一样,任何设备,也都只会有唯一的一个MAC地址,除自身MAC之外,不会有第二个相同的MAC地址出现,ESP8266就可以根据唯一的MAC地址,识别找到你的设备热点,然后连接接入了。


总结:
  当向 ESP8266发送 设置指令 ,AT+CWJAP=“blue”,"12345678"时,ESP8266 模块便会自发的寻找名称为 “blue”的热点,
如果周围只有唯一的一个热点名称叫 “blue”,那么 ESP8266 便会找到 “blue”这个AP,然后核对密码“12345678”,核实正确则顺利接入热点,连接完成,如果密码错误,则连接失败。

如果周围有多个热点名称叫 “blue”,这时 便会将 ESP8266 给整懵逼了,到底该找谁?然后就一直犹豫思考,不会去一一寻找核实密码,一一尝试接入。这时如果再在指令后面加上指定设备的MAC地址, ESP8266 便会根据唯一的MAC地址找到指定的热点 “blue”进行核实比对,密码正确则连接热点,错误则连接失败。




  好了,以上全部,便是对于芯片手册上提供的“AT + CWJAP”的这一条指令的所有学习、运用过程,其余的指令,可以按照这种思路一一摸索。摸索过程曲折坎坷即便是失败也不要紧,只要动手实践了,你就会对对应的指令有更深刻的理解,运用起来也不会云里雾里,不知所以。嗯…当然!对于新手建议有些参数和内容浅学了解即可,不必过于烦恼,先会用,然后学有余力再去针对对应的知识点补充学习。加油,你一定可以的。










3.3 指令用途和说明

  根据上面一条详细指令的学习,我们需要知道有一个意识,就是设置指令查询指令,在格式上只是个别的不同,如“xxx?”是查询指令。而相同的“xxx=”便是设置指令了。下面我会在兼有这两种指令的旁边标记“☆☆☆”,事后可以自己调试时试试看。

AT

说明:用来确认是否与模块达成通讯的。

用途:无特别功能用处。



ATE

说明:该指令用于是否“回显”自己发送的指令命令。

用途:发送指令“ATE0”,关闭回显。这时发送指令时,串口软件只会显示响应信息,不会显示发送的指令;
发送“ATE1”,开启回显。这时发送指令时,串口软件即会显示响应信息,也会显示发送的指令信息。



AT+CWMODE          ☆☆☆

说明:该指令用于配置查询ESP8266模块的工作模式(共三种模式)。

用途:发送指令“AT+CWMODE=1”,设置模块为Station模式,该模式下ESP8266是需要连接其他热点的设备,本身不是热点;
   发送指令“AT+CWMODE=2”,设置模块为SoftAP模式,该模式下ESP8266模块自身便是一个热点,等待其他设备的接入,注意两种模式的区别(就是连接与被连接的区别);
   发送指令“AT+CWMODE=3”,设置模块为SoftAP+Station模式,该模式下ESP8266模块既可以是Station站点(接入其他热点),也可以是SoftAP接入点(WIFI),本次实验设置ESP8266为模式1,Station站点模式,接入电脑的热点。




tip:“AT+CWMODE?”为查询指令,查询当前ESP8266处于什么模式。

AT+CWJAP         ☆☆☆

说明:用来连接指定的WIFI热点,或用来查询当下连接到的WIFI热点的信息。

用途:具体用途已经在上面详细例子中总结完毕,此处便不多加赘述。



tip:“AT+CWJAP?”为查询指令,查询当前 ESP8266 连接到的WIFI热点的信息。

AT+CIPMUX         ☆☆☆

说明: 建⽴ TCP 、UDP 或 SSL 连接时,设置模块的连接模式(单连接模式多连接模式)。

用途: 发送指令“AT+CIPMUX=0”,设置模块为单连接模式;
    发送指令“AT+CIPMUX=1”,设置模块为多连接模式。

注意:ESP8266不同模式下,设置为什么样的连接模式,可能会对具体的实现功能有影响,比如Station模式下,只能设置为单连接模式,才能连接上WIFI热点,设置为多连接模式时是连接不上热点的(个人理解便是一个模块不能连接多个热点吧,得专一,所以只能是单连接模式)。而SoftAP模式下,可以设置为多连接模式,这时ESP8266作为WIFI热点,可以被多个设备连接。



tip:“AT+CIPMUX?”为查询指令,查询当前ESP8266处于什么连接模式。

AT+CIPSTART

说明: 连接上或被连接WIFI热点后,需要进一步搭建TCP 连接、UDP 传输或 SSL 连接,取得设备之间彼此的信息通讯功能,需要进行的操作指令。

用途单连接模式时,发送指令“AT+CIPSTART=<type>,<remote IP>,<remote port>”从左到右的参数表示TCP、UDP或SSL通讯类型,指定IP地址,指定的远程端口号的服务端或客户端建立联系,响应成功后,便搭建好通讯,即可进行设备之间的通讯了。
   多连接模式时,发送指令“AT+CIPSTART=<link ID>,<type>,<remote IP>,<remote port>”,参数较比单连接模式多了一个<link ID>,也很好理解,因为有多个设备个已经连接上了,那具体要与哪一个设备建立通讯,总得‘指名道姓’吧,要不然怎么与指定的设备建立通讯呢。因此每一台设备的接入都会从0开始给予标记,依次递增。0、1、2…就是设备的‘姓名’,其余的参数与上述的一样。。



AT+CIPMODE         ☆☆☆

说明: 搭建好设备之间的通讯时,设置彼此之间的传输模式,有两种传输模式,分别是普通传输模式透传模式,其中透传模式仅支持TCP和UDP固定通讯对端的情况

用途:当连上客户端(ESP8266为服务端时)或服务端(ESP8266为客户端时),搭建好通讯时,需要设置设备之间的数据传输模式,发送指令“AT+CIPMODE=0”设置数据传输模式为普通传输模式;发送指令“AT+CIPMODE=1”设置数据传输模式为透传模式。这两种传输模式有何区别,文章最后实验具体配置流程有详细说明,此处不加以赘述,敬请下文。



tip:“AT+CIPMODE?”为查询指令,查询当前ESP8266处于什么数据传输模式。

AT+CIPSEND

说明:搭建好通讯时,发送信息的作用

用途单连接模式时发送指令“AT+CIPSEND=<length>”表示一次发送length个字节;
    多连接模式时发送指令“AT+CIPSEND=<link ID>,<length>”表示向指定的设备一次发送length个字节。(其中 <link ID> 取值范围是0~5,表示第几台设备,每一台设备的接入都会从0开始逐次加1,作为标志)
以上是普通传输模式下,每一次传输信息时需要进行的操作。ESP8266只会发送指定好的字节数,超出的将不发送出去。
    透传模式时发送指令“AT+CIPSEND”表示进入信息透传功能 (注意:本指令必须在开启 透传模式 以及 单连接下使⽤。),此时发送信息前不用再发指令,不管发什么都将被认为是信息发送出去,包括指令也将被认为是信息而发送出去,如果需要重新恢复指令的作用,得先退出“透传模式”,具体操作在下文的实验配置中有解说,此处不加以赘述。


AT+CIFSR

说明: 查询ESP8266模块的本地IP地址物理地址当ESP8266为Station模式,连接上WIFI热点时,发送该指令可以查询ESP8266模块分配到的IP地址和物理地址;当ESP8266为SoftAP模式时,发送该指令可以查询ESP8266此时的IP地址和物理地址。(注:一般设备都只有唯一的一个物理地址。

用途:发送指令“AT+CIFSR”模块ESP8266将返回自己当前模式下分配到的IP地址物理地址



AT+CIPSTA         ☆☆☆

说明:用来配置查询ESP8266模块Station模式下的IP地址。

用途:发送指令“AT+CIPSTA?”时,返回的参数有,模块在当前局域网中的IP地址、网关地址和子网掩码,下面实验配置流程中有详细说明,敬请下文。
   发送指令“AT+CIPSTA=<ip>”,自己给ESP8266身处的局域网里设置一个IP地址,如果对于此方面知识不是很懂,不建议自己随意配置IP地址,默认系统自动配置即可。



AT+CIPCLOSE

说明: 断开已经连接好的 TCP/UDP/SSL传输。

用途多连接模式时发送指令“AT+CIPCLOSE=<link ID>”表示断开指定设备的 TCP/UDP或SSL通讯通道
   单连接模式时发送指令“AT+CIPCLOSE”表示断开已经连接好的TCP/UDP或SSL通讯通道。


AT+CWQAP

说明:断开与AP的连接,就是接入点、断开WIFI热点。

用途:发送指令“AT+CWQAP”,断开模块已经连接上的WIFI热点。



AT+RST

说明:令ESP8266模块复位重启。

用途:发送指令“AT+RST”,模块重新启动。





4、配置并且搭建TCP通讯的流程

4.1 准备工作 :

    ① ESP8266 模块
    ②一个 USB 转 TTL 的转串口设备;
    ③两个软件,一个电脑上的 串口调试 软件,用来调试 ESP8266 模块;手机上下载一个 网络调试助手 软件 ,用来搭建TCP 服务端

(我手机上使用的是网络调试精灵,建议使用这款手机调试助手,我找了几款软件感觉这款更好用些,图标如下);

在这里插入图片描述


ESP8266 与 转串口设备连接图如下:
在这里插入图片描述


实物图如下,可照着线的颜色比对比对:

在这里插入图片描述


将转串口设备接入电脑USB口,打开设备管理器出现该端口说明识别成功 (而后用调试窗口选择该端口时,便能和 ESP8266 通讯了。)

在这里插入图片描述


现在可以事先打开手机热点,如图,此时并没有任何设备接入。

在这里插入图片描述


准备工作完成,接下来开始配置 ESP8266 模块,让其连接上手机的热点.。




4.2 配置 ESP8266

第一步:与 ESP8266 达成通讯

    打开串口调试软件
    选择USB识别到的端口
    打开串口
    发送 AT
如下图所示,窗口响应OK,证明此时调试助手软件已成功与 ESP8266 模块达成通讯。

在这里插入图片描述



第二步:设置 ESP8266 模块为 STA 模式

     设置前可先查询一下当前模式,如下图蓝色方框里的指令
     发送 AT+CWMODE=1指令,ESP8266 设置为模式1完成。
在这里插入图片描述



第三步:连接热点

     发送指令" AT+CWJAP=“热点名称”,“热点密码” ",连上手机热点。例:此处我的指令为:AT+CWJAP=“blue”,“12345678”

如图,ESP8266 已经成功连上手机的热点。

在这里插入图片描述

查看手机上的热点,设备接入信息即可发现有 ESP8266 这一设备的连接情况!



第四步:设置单连接模式

     发送指令" AT+CIPMUX=0 "

(注:由于本实验中 ESP8266模块为 客户端 ,因此必须将 ESP8266 模块设置为 单连接模式,才能连接上 服务器 多连接模式下是连接不上 服务器 的。)

在这里插入图片描述


  至此,本实验 ESP8266 与手机之间的 TCP 通讯中的 客户端 准备工作已经完成,下一步直接向 服务器 发送通讯请求即可搭建好 TCP 通讯。在这之前,我们需要在手机上搭建好 TCP 通讯的 服务端








4.3 搭建手机上的 服务端

第一步,打开网络调试精灵APP


进入以下页面,点击绿色框里的 “ TCP 服务端 ” 选项。

在这里插入图片描述


然后就会进入以下页面,点击绿色方框里的 " + "

在这里插入图片描述


就会进入以下创建页面:

在这里插入图片描述


!!!重点来了,这里困惑了我很久才搞明白。最令人不知所云的就是第二个选项 " 主机 " ,需要填写什么?下面依个为你解答:


  首先是 " 名称 " 这一选项,任你命名,它唯一的作用就是,当你建了很多个 服务端 时,能够通过命名,识别到哪一个才是你当前想要用到的 服务端

☆☆☆ 其次是 " 主机 " 这一选项,需要填写的是 IP 地址。这里的 “主机” 的指的就是手机,当 ESP8266 连上我们的手机热点后,我们的手机便和 ESP8266 组成了一个局域网,在这个局域网内,每个设备都会有一个 IP 地址,这里的选项便是填写,手机在这个局域网内的 IP 地址(注:如何查看手机的 IP 地址讲解完第三个选项再演示)

  最后是 " 端口 " 这一选项,它也是任你填写的一个值,你可以自己选填一个端口号,但是要避免一些特殊、常用的端口值,如8080等,如果填了已经被占用的端口值,可能创建失败,或者客户端压根连不进来。




???     如何查看手机的 IP 地址(手机的 IP 地址和,与 ESP8266 组成的局域网中的 IP 地址是一样的,因为手机在这当中是热点,充当网关的角色)
① 打开 “手机设置”
② 打开 “关于手机” 选项
③ 打开 “状态信息” 选项
④ 打开 “IP 地址” 选项
将 IP 地址填写到 " 主机 " ,填写好 " 名称 " " 端口 " 点击保存,就能成功创建" 服务端 "
不同手机可能有所不同,大家可以上网搜自己手机型号的 IP 地址如何查看。



第二步,创建 服务端

如下图所示,我创建了一个名称为 “ blue ” ,端口号为8088 的 " 服务端 " 。点进去, " 服务端 " 便会不断扫描是否有 " 客户端 " 发来通讯请求,有则成功搭建通讯。

在这里插入图片描述




创建完成如下:

在这里插入图片描述


进入页面如下:

在这里插入图片描述


  至此,手机上的 " 服务端 " 我们已经搭建完成,让 ESP8266 这个 客户端 发送通讯请求,即可完成TCP通讯。







4.4 实现 TCP 通讯

发送指令 " AT+CIPSTART=“协议类型”,“服务端 IP 地址”,“端口号” "
(例:我发送的指令是"AT+CIPSTART=“TCP”,“10.33.49.170”,8088其中第二第三个参数,分别是刚刚手机上创建 服务端 时填写的 “主机” “端口”

在这里插入图片描述


查看手机 服务端

在这里插入图片描述

至此, ESP8266 STA模式、客户端,与手机搭建TCP通讯实验,完成 !
(tip:已连接前面的 IP 地址,便是该局域网中,客户端 ESP8266 分配到的 IP 地址哦)



通讯效果如下:

在这里插入图片描述

手机页面:

在这里插入图片描述

tip:发送汉字时,发送和接收端都选择 “ gb2312 ” 协议,要不然出现乱码。



上图所示, ESP8266 已经与手机 服务端 达成了通讯。但是在信息传递上还有几个要点:
   服务端 想给 客户端 发送信息,可直接在 网络调试精灵 TCP 服务端 页面上畅所欲言的发送信息。
但是客户端想给服务端发送信息,有两种方法:

方法一非透传模式
  发送信息前,得发送指令 " AT+CIPSEND=“多少个字节” "。例: AT+CIPSEND=5 ,就是发送5个字节的信息

优点
  发送指令不会被当做信息发送出去。
缺点
  每次发送信息前都得发送指令 " AT+CIPSEND=“多少个字节” " ,并且要算自己发送的数据需要多少个字节。发送的字节数过多,发送数据不完全,发送到自己设定的字节数便截止不再发送;
发送的字节数过少,发完会接着从头继续发送,直到发送的数据达到自己设定的字节数。



方法二透传模式(上述图片演示的便是此种模式)
     发送指令 " AT+CIPMODE=1 ",选择透传模式;
     然后发送 " AT+CIPSEND ",之后等待信息发送。
  该模式下,客户端发的任何信息(包括指令),都将一五一十的被服务端接收,此时便再也没法通过指令再去配置、命令 ESP8266 模块了,要想令指令生效,只有退出透传模式

优点
  发送信息前不用再发送指令,因为即便是指令也将被当做普通数据信息发送出去,可以畅所欲言。
缺点
  此时所有的指令将不负有原来的作用,如果想要配置 ESP8266模块,得先退出透传模式


退出透传模式的方法:
先发送 “+++”(注意窗口中取消回车换行的选项),再发送 “ AT+CIPMODE=0 ”配置为非透传模式就能退出透传模式,恢复指令的作用了。

至此,关于 ESP8266 模块,如何设置为 STA 模式,并且与电脑搭建TCP通讯的实验,完成。

  • 5
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: ESP8266 WiFi模块STA模式是一种工作模式,它允许ESP8266模块连接到一个已经存在的WiFi网络中,以便实现无线通信。在STA模式下,ESP8266模块作为客户端连接到WiFi网络,可以通过TCP/IP协议与其他设备进行通信。此模式需要提供WiFi网络的SSID和密码,以便ESP8266模块能够连接到网络STA模式ESP8266模块最常用的工作模式之一,它可以用于许多应用,如远程控制、数据传输、物联网等。 ### 回答2: ESP8266是一款可以集成WiFi功能的芯片,它的STA模式是其中一种工作模式STA全称为Station,即作为客户端连接到现有的WiFi网络STA模式可以让用户轻松地连接到一个无线路由器或者接入点,并通过这个路由器或者接入点来连接到互联网。 使用ESP8266STA模式,我们需要在代码中设置WiFi的SSID和密码,以便模块可以连接到该WiFi网络。代码中可以通过`WiFi.begin(ssid, password)`函数来连接WiFi网络ESP8266连接到WiFi网络后,可以使用WiFi库中的函数来执行网络操作,如使用HTTP请求向云服务器发送数据等。 在STA模式下,ESP8266可以连接到任何支持WiFi的设备上,包括路由器,手机热点等,使得其应用范围非常广泛。我们可以使用它来实现各种物联网应用,比如智能家居、智能车联网等。 除了STA模式ESP8266还有AP模式,即作为一个热点连接到其他设备上。在AP模式下,ESP8266可以作为一个服务器,为其他设备提供服务。AP模式也可以和STA模式一样在同一个程序中切换,这使得我们可以使用ESP8266作为一个智能设备的核心模块。 总之,ESP8266STA模式提供了一种简便的方法来连接到现有的WiFi网络,使得我们可以轻松地实现各种物联网应用。同时,ESP8266STA模式下还支持多路连接,可以同时处理多个TCP连接,为我们提供更加强大的网络功能。 ### 回答3: ESP8266WiFi模块STA模式简介 ESP8266WiFi模块是一种低成本且易于使用的Wi-Fi模块,它采用基于ESP8266芯片设计的物联网解决方案,支持标准802.11b/g/n协议。在ESP8266WiFi模块中,STA模式使模块能够与Wi-Fi路由器连接,实现对互联网的访问。现在让我们来深入了解一下ESP8266WiFi模块STA模式。 1. STA模式的特点 STAESP8266WiFi模块的一种连接模式。在该模式中,ESP8266WiFi模块将作为Wi-Fi客户端工作,并尝试连接到其他Wi-Fi接入点或路由器。它能够访问互联网,获取IP地址并连接到其他设备。以下是STA模式的特点: - 可通过Wi-Fi路由器连接互联网,实现对网络资源的访问。 - 可以在任意地方实现远程测量、监测和控制。 - 可以通过向ESP8266WiFi模块发送数据来控制连接的设备。 - 可以通过使用TCP/IP协议与其他设备通信。 2. STA模式的连接方式 在ESP8266WiFi模块STA模式中,您可以选择不同的连接方式。以下是常用的两种连接方式: - 正常连接方式:在此模式下,ESP8266WiFi模块将实时监测Wi-Fi网络以确定何时可用并尝试连接到可用的Wi-Fi接入点或路由器。 - 强制连接方式:在该模式下,ESP8266WiFi模块将尝试一直连接到指定的Wi-Fi接入点或路由器。 3. STA模式的代码实现 要使用ESP8266WiFi模块STA模式,需要编写相关代码来初始化模块并实现连接。以下是一些示例代码: - 配置模块:在此示例中,您需要为ESP8266WiFi模块设置网络参数,例如Wi-Fi网络名称和密码。 ``` #include <ESP8266WiFi.h> const char* ssid = "YOUR_SSID"; // Wi-Fi网络名称 const char* password = "YOUR_PASSWORD"; // Wi-Fi网络密码 void setup() { Serial.begin(115200); delay(10); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println("IP address: "); Serial.println(WiFi.localIP()); } ``` - 监听网络:在此示例中,您需要在ESP8266WiFi模块连接到Wi-Fi网络后监听TCP端口。 ``` #include <ESP8266WiFi.h> #include <WiFiServer.h> const char* ssid = "YOUR_SSID"; // Wi-Fi网络名称 const char* password = "YOUR_PASSWORD"; // Wi-Fi网络密码 WiFiServer server(80); void setup() { Serial.begin(115200); delay(10); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println("IP address: "); Serial.println(WiFi.localIP()); server.begin(); } void loop() { WiFiClient client = server.available(); if (client) { while (client.connected()) { if (client.available()) { char c = client.read(); Serial.write(c); } } client.stop(); } } ``` 总结 ESP8266WiFi模块STA模式是连接Wi-Fi网络的有用工具。它能够访问互联网,接收网络数据并控制其他设备。同时,编写基于ESP8266WiFi模块STA模式的代码是非常简单的。我们只需定义要连接的Wi-Fi网络名称和密码,并实现TCP/IP通信协议即可。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值