24小时联系电话:18217114652、13661815404

中文

您当前的位置:
首页>
电子资讯>
行业资讯>
ESP8266 操作 WIFI 模...

行业资讯

ESP8266 操作 WIFI 模式


ESP8266 操作 WIFI 模式

我们将 ESP8266 连接到预先存在的 WIFI 网络。它是项目中常用的方法,尤其是当有兴趣访问互联网时。

对于这些情况,ESP8266 作为网络上的运行。但是我们可以找到没有WIFI网络连接的场景。在这些情况下,我们还可以使用 ESP8266 吗?

ESP8266 操作模式

ESP8266 WiFi 模块可以在 2 种不同模式下运行:

STA (该模块作为一个站运行,可用于连接到接入点)。

AP (该模块创建一个具有可自定义 SSID 和密码的网络。我们将讨论每种模式的工作原理、其局限性以及如何使用

STA模式

我们使用 STA 模式将 ESP8266 连接到预先存在的 Wi-Fi 网络。此连接由一个接入点建立,该接入点将负责管理信息流量。


Arduino 平台上配置和使用,我们使用 ESP8266WiFi.h 库。该库使用简单且功能强大,为我们提供了配置 WiFi 模块的所有工具,而不会让我们用标志和寄存器过载。

对于我们的配置,还有两个相关的函数,begin() config()

开始()函数

begin() 函数需要一些必要的参数,其他可选的。这是因为该函数属于重载类型,在调用函数时提供了更大的灵活性。举个更好的例子,让我们看看 begin() 函数的完整形式和最小形式:

完整形式:begin(ssid, password, channel, bssid, connect)

最小形式:begin(ssid, password)

相同的功能,两种调用方式。两者都有效。这是因为它是在库中使用不止一种声明格式构建的。

我们来看看它接受的参数:

SSID:我们要连接的网络的名称。必填字段,最多可包含 32

password : 所选必填字段的密码,必须在 8 64 个字符之间。

channel:定义带宽 此参数是可选的,在具有许多不同网络的区域中很有用。选择好的信道可以最大限度地减少干扰并增加网络覆盖范围。如果省略,它将被自动选中。

bssid:另外一个可选参数。如果设置为 true,该函数将返回它所连接的 AP MAC

Connect:一个布尔参数,如果设置为 false,将保存函数中定义的参数,但不会连接到

此信息将保存在 FLASH 的保留区域中,如果连接丢失,将自动尝试重新连接。

另一个重要的点是,默认情况下,该站被配置为 DHCP(动态主机配置协议)客户端。这意味着在连接时,ESP8266 会向接入点询问 IP 地址。如果 AP 启用了 DHCP,我们将在那里配置的网络范围内收到一个随机 IP

配置()函数

config() 函数对于站点等连接不是必需的。但是,如果您想使用固定 IP 地址连接到网络,则需要它。该函数具有以下格式:

config(local_ip, gateway, subnet, dns1, dns2)其中参数代表:

local_ip:我们要分配给

网关:接入点 IP 地址。

子网:我们将要访问的网络的 IP 掩码

dns1 dn2DNS 服务器(域名服务器)的 IP 地址的可选字段。

当我们调用 config() 函数时,会自动禁用 DHCP 模式。然后站会强制使用我们选择的地址。当通过没有 DHCP 服务器的网络连接时,或者当具有固定地址是基本项目要求时,此方法很有用。

选择IP地址和子网时需要小心,好像和网络配置不兼容,我们会连接,但我们将无法与任何东西交互。

在图像中,我们有一个作为站的配置和连接代码。


接入点模式 (AP)

AP 模式下,ESP8266 创建其 WiFi 网络,允许站点连接到它。下图应该可以帮助您更好地了解它的工作原理。ESP8266配置为AP,代替了路由器在网络中的作用(有一定的局限性,但原理是一样的)。

严格来说,这种模式的名称是Soft Access Point,因为作为AP的功能不使用任何等同于普通AP的硬件资源。它就像一个虚拟 AP。这不会影响健康,但会严重影响性能。

主要限制是它可以管理的连接数。虽然厂商建议最多连接8个站,但是超过5个就会有严重的问题。如果你的应用数据流量很大,我建议你限制为4个连接。

另一个限制是创建的网络未连接到 Internet。因此请记住,这是适用于在本地网络和少数设备上运行良好的应用程序的模型。

这种格式的一个示例应用是访问控制系统。用手机靠近,连接ESP8266网络,获得开门权限。

设置此模式与设置站点非常相似。我们有一个用于开始的重载函数和另一个用于配置的重载函数。

softAP() 函数

它相当于我们的车站模式 begin() 函数。

softAP(ssid):创建一个没有密码的开放网络。

softAP(ssid, password, channel, hidden, max_connection):创建一个受保护的网络。

让我们为每个参数取一个:

SSID:我们网络的名称,最多可以包含 63 这是角色中唯一的必填字段,不能为空。

密码:此字段包含工作站连接时需要输入的密码。如果没有通知,网络将是开放的,可以在没有任何安全性的情况下访问。如果包含一个,则必须至少包含 8 个字符,遵循 WPA2-PSK 网络安全标准。

Channel : 正如我们为站讨论的,这个字段定义了 wifi 操作 它必须接收一个从 1 13 的数值。如果没有通知,它将接收 1 作为默认值。

Hidden : 如果设置为 trueSSID 将不可见且无法被标识符检测到(例如在您手机的 WiFi 网络列表中。如果站写,网络仍然可以连接

Max_connection:定义允许的最大站数。接收从 0 8 的值,默认值为 4

softAPConfig() 函数

此函数设置一些参考 IP 地址的参数。它的格式为:WiFi.softAPConfig(local_ip, gateway, subnet)

其中参数代表:

Local_ip : 接入点的 IP 地址

网关:网关的IP 地址(这是站将用作交换机的地址)

子网:定义 IP 范围

使用该代码,您将配置一个对您的手机或计算机可见的简单接入点。

STA + AP 模式

顾名思义,esp8266 将同时作为一个站点(能够连接到网络)和一个接入点(允许站点连接到它)运行。

这种方法背后的目的是在网状网络配置中使用 esp8266。这个想法很有趣,但是如果作为 AP 运行时性能还不是很出色,可以想象为 AP STA

这种格式的文档非常稀缺,在某种程度上,制造商本身已经放弃了。乐鑫在推出 ESP8266 的继任者 ESP32 时,包含了一个特定的 MESH 库。

请输入搜索关键字

确定