24小(xiǎo)时联系電(diàn)话:18217114652、13661815404
中文(wén)
- 您当前的位置:
- 首页>
- 電(diàn)子资讯>
- 行业资讯>
- ESP8266 操作 WIFI 模...
行业资讯
ESP8266 操作 WIFI 模式
ESP8266 操作 WIFI 模式
我们将 ESP8266 连接到预先存在的 WIFI 网络。它是项目中常用(yòng)的方法,尤其是当有(yǒu)兴趣访问互联网时。
对于这些情况,ESP8266 作為(wèi)网络上的“站”运行。但是我们可(kě)以找到没有(yǒu)WIFI网络连接的场景。在这些情况下,我们还可(kě)以使用(yòng) ESP8266 吗?
ESP8266 操作模式
ESP8266 WiFi 模块可(kě)以在 2 种不同模式下运行:
STA (该模块作為(wèi)一个站运行,可(kě)用(yòng)于连接到接入点)。
AP (该模块创建一个具有(yǒu)可(kě)自定义 SSID 和密码的网络。我们将讨论每种模式的工作原理(lǐ)、其局限性以及如何使用(yòng)
STA模式
我们使用(yòng) STA 模式将 ESP8266 连接到预先存在的 Wi-Fi 网络。此连接由一个接入点建立,该接入点将负责管理(lǐ)信息流量。
在 Arduino 平台上配置和使用(yòng),我们使用(yòng) ESP8266WiFi.h 库。该库使用(yòng)简单且功能(néng)强大,為(wèi)我们提供了配置 WiFi 模块的所有(yǒu)工具,而不会让我们用(yòng)标志(zhì)和寄存器过载。
对于我们的配置,还有(yǒu)两个相关的函数,begin() 和 config()。
开始()函数
begin() 函数需要一些必要的参数,其他(tā)可(kě)选的。这是因為(wèi)该函数属于重载类型,在调用(yòng)函数时提供了更大的灵活性。举个更好的例子,让我们看看 begin() 函数的完整形式和最小(xiǎo)形式:
完整形式:begin(ssid, password, channel, bssid, connect)
最小(xiǎo)形式:begin(ssid, password)
相同的功能(néng),两种调用(yòng)方式。两者都有(yǒu)效。这是因為(wèi)它是在库中使用(yòng)不止一种声明格式构建的。
我们来看看它接受的参数:
SSID:我们要连接的网络的名称。必填字段,最多(duō)可(kě)包含 32 个
password : 所选必填字段的密码,必须在 8 到 64 个字符之间。
channel:定义带宽 此参数是可(kě)选的,在具有(yǒu)许多(duō)不同网络的區(qū)域中很(hěn)有(yǒu)用(yòng)。选择好的信道可(kě)以最大限度地减少干扰并增加网络覆盖范围。如果省略,它将被自动选中。
bssid:另外一个可(kě)选参数。如果设置為(wèi) true,该函数将返回它所连接的 AP 的 MAC
Connect:一个布尔参数,如果设置為(wèi) false,将保存函数中定义的参数,但不会连接到
此信息将保存在 FLASH 的保留區(qū)域中,如果连接丢失,将自动尝试重新(xīn)连接。
另一个重要的点是,默认情况下,该站被配置為(wèi) DHCP(动态主机配置协议)客户端。这意味着在连接时,ESP8266 会向接入点询问 IP 地址。如果 AP 启用(yòng)了 DHCP,我们将在那里配置的网络范围内收到一个随机 IP。
配置()函数
config() 函数对于站点等连接不是必需的。但是,如果您想使用(yòng)固定 IP 地址连接到网络,则需要它。该函数具有(yǒu)以下格式:
config(local_ip, gateway, subnet, dns1, dns2)其中参数代表:
local_ip:我们要分(fēn)配给
网关:接入点 IP 地址。
子网:我们将要访问的网络的 IP 掩码
dns1 和 dn2:DNS 服務(wù)器(域名服務(wù)器)的 IP 地址的可(kě)选字段。
当我们调用(yòng) config() 函数时,会自动禁用(yòng) DHCP 模式。然后站会强制使用(yòng)我们选择的地址。当通过没有(yǒu) DHCP 服務(wù)器的网络连接时,或者当具有(yǒu)固定地址是基本项目要求时,此方法很(hěn)有(yǒu)用(yòng)。
选择IP地址和子网时需要小(xiǎo)心,好像和网络配置不兼容,我们会连接,但我们将无法与任何东西交互。
在图像中,我们有(yǒu)一个作為(wèi)站的配置和连接代码。
接入点模式 (AP)
在 AP 模式下,ESP8266 创建其 WiFi 网络,允许站点连接到它。下图应该可(kě)以帮助您更好地了解它的工作原理(lǐ)。ESP8266配置為(wèi)AP,代替了路由器在网络中的作用(yòng)(有(yǒu)一定的局限性,但原理(lǐ)是一样的)。
严格来说,这种模式的名称是Soft Access Point,因為(wèi)作為(wèi)AP的功能(néng)不使用(yòng)任何等同于普通AP的硬件资源。它就像一个虚拟 AP。这不会影响健康,但会严重影响性能(néng)。
主要限制是它可(kě)以管理(lǐ)的连接数。虽然厂商(shāng)建议最多(duō)连接8个站,但是超过5个就会有(yǒu)严重的问题。如果你的应用(yòng)数据流量很(hěn)大,我建议你限制為(wèi)4个连接。
另一个限制是创建的网络未连接到 Internet。因此请记住,这是适用(yòng)于在本地网络和少数设备上运行良好的应用(yòng)程序的模型。
这种格式的一个示例应用(yòng)是访问控制系统。用(yòng)手机靠近,连接ESP8266网络,获得开门权限。
设置此模式与设置站点非常相似。我们有(yǒu)一个用(yòng)于开始的重载函数和另一个用(yòng)于配置的重载函数。
softAP() 函数
它相当于我们的車(chē)站模式 begin() 函数。
softAP(ssid):创建一个没有(yǒu)密码的开放网络。
softAP(ssid, password, channel, hidden, max_connection):创建一个受保护的网络。
让我们為(wèi)每个参数取一个:
SSID:我们网络的名称,最多(duō)可(kě)以包含 63 这是角色中唯一的必填字段,不能(néng)為(wèi)空。
密码:此字段包含工作站连接时需要输入的密码。如果没有(yǒu)通知,网络将是开放的,可(kě)以在没有(yǒu)任何安全性的情况下访问。如果包含一个,则必须至少包含 8 个字符,遵循 WPA2-PSK 网络安全标准。
Channel : 正如我们為(wèi)站讨论的,这个字段定义了 wifi 操作 它必须接收一个从 1 到 13 的数值。如果没有(yǒu)通知,它将接收 1 作為(wèi)默认值。
Hidden : 如果设置為(wèi) true,SSID 将不可(kě)见且无法被标识符检测到(例如在您手机的 WiFi 网络列表中。如果站写,网络仍然可(kě)以连接
Max_connection:定义允许的最大站数。接收从 0 到 8 的值,默认值為(wèi) 4。
softAPConfig() 函数
此函数设置一些参考 IP 地址的参数。它的格式為(wèi):WiFi.softAPConfig(local_ip, gateway, subnet)
其中参数代表:
Local_ip : 接入点的 IP 地址
网关:网关的IP 地址(这是站将用(yòng)作交换机的地址)
子网:定义 IP 范围
使用(yòng)该代码,您将配置一个对您的手机或计算机可(kě)见的简单接入点。
STA + AP 模式
顾名思义,esp8266 将同时作為(wèi)一个站点(能(néng)够连接到网络)和一个接入点(允许站点连接到它)运行。
这种方法背后的目的是在网状网络配置中使用(yòng) esp8266。这个想法很(hěn)有(yǒu)趣,但是如果作為(wèi) AP 运行时性能(néng)还不是很(hěn)出色,可(kě)以想象為(wèi) AP 和 STA。
这种格式的文(wén)档非常稀缺,在某种程度上,制造商(shāng)本身已经放弃了。乐鑫在推出 ESP8266 的继任者 ESP32 时,包含了一个特定的 MESH 库。