libxr  1.0
Want to be the best embedded framework
Loading...
Searching...
No Matches
LibXR::WifiClient Class Referenceabstract

WiFi 客户端接口 / WiFi Client Interface. More...

#include <wifi_client.hpp>

Inheritance diagram for LibXR::WifiClient:
[legend]
Collaboration diagram for LibXR::WifiClient:
[legend]

Data Structures

struct  Config
 WiFi 连接配置 / WiFi connection configuration. More...
 
struct  EnterpriseConfig
 企业 WiFi 配置 / Enterprise WiFi configuration More...
 
struct  ScanResult
 WiFi 扫描结果 / WiFi scan result. More...
 
struct  StaticIPConfig
 静态 IP 配置 / Static IP configuration More...
 

Public Types

enum class  WifiError {
  NONE , ALREADY_ENABLED , NOT_ENABLED , CONNECTION_TIMEOUT ,
  AUTHENTICATION_FAILED , DHCP_FAILED , SSID_NOT_FOUND , INVALID_CONFIG ,
  HARDWARE_FAILURE , SCAN_FAILED , UNKNOWN
}
 WiFi 错误码 / Enumeration of WiFi error codes. More...
 
enum class  Security { OPEN , WPA2_PSK , WPA2_ENTERPRISE , UNKNOWN }
 WiFi 安全类型 / WiFi security types. More...
 
using WifiCallback = LibXR::Callback<WifiError>
 WiFi 状态回调类型 / Callback type for WiFi status.
 

Public Member Functions

virtual ~WifiClient ()=default
 析构函数 / Destructor
 
virtual bool Enable () override=0
 启用网络接口(WiFi) / Enable the network interface
 
virtual void Disable () override=0
 禁用网络接口(WiFi) / Disable the network interface
 
virtual bool IsConnected () const override=0
 检查是否已连接 / Check if currently connected
 
virtual IPAddressRaw GetIPAddress () const override=0
 获取当前 IP 地址 / Get current IP address
 
virtual MACAddressRaw GetMACAddress () const override=0
 获取当前 MAC 地址 / Get MAC address
 
virtual WifiError Connect (const Config &config)=0
 连接到指定 WiFi 网络 / Connect to a WiFi network
 
virtual WifiError Disconnect ()=0
 断开当前 WiFi 连接 / Disconnect from the WiFi network
 
virtual WifiError Scan (ScanResult *out_list, size_t max_count, size_t &out_found)=0
 扫描可用网络 / Scan for available WiFi networks
 
virtual int GetRSSI () const =0
 获取当前 WiFi 信号强度(RSSI) / Get current signal strength
 
- Public Member Functions inherited from LibXR::NetworkInterface

Detailed Description

WiFi 客户端接口 / WiFi Client Interface.

提供对 WiFi 模块的基本控制、连接管理、网络状态查询和扫描等接口, 同时继承 NetworkInterface,可统一作为网络接口使用。

Definition at line 17 of file wifi_client.hpp.

Member Typedef Documentation

◆ WifiCallback

WiFi 状态回调类型 / Callback type for WiFi status.

Definition at line 122 of file wifi_client.hpp.

Member Enumeration Documentation

◆ Security

enum class LibXR::WifiClient::Security
strong

WiFi 安全类型 / WiFi security types.

Enumerator
OPEN 

开放网络 / Open network

WPA2_PSK 

WPA2-PSK / WPA2-PSK.

WPA2_ENTERPRISE 

WPA2 企业认证 / WPA2 Enterprise.

UNKNOWN 

未知类型 / Unknown type

Definition at line 47 of file wifi_client.hpp.

48 {
49 OPEN,
50 WPA2_PSK,
52 UNKNOWN,
53 };
@ WPA2_PSK
WPA2-PSK / WPA2-PSK.
@ OPEN
开放网络 / Open network
@ WPA2_ENTERPRISE
WPA2 企业认证 / WPA2 Enterprise.
@ UNKNOWN
未知错误 / Unknown error

◆ WifiError

enum class LibXR::WifiClient::WifiError
strong

WiFi 错误码 / Enumeration of WiFi error codes.

Enumerator
NONE 

无错误 / No error

ALREADY_ENABLED 

已启用 / Already enabled

NOT_ENABLED 

未启用 / Not enabled

CONNECTION_TIMEOUT 

连接超时 / Connection timeout

AUTHENTICATION_FAILED 

身份验证失败 / Authentication failed

DHCP_FAILED 

DHCP 获取失败 / DHCP acquisition failed.

SSID_NOT_FOUND 

找不到 SSID / SSID not found

INVALID_CONFIG 

配置无效 / Invalid configuration

HARDWARE_FAILURE 

硬件故障 / Hardware failure

SCAN_FAILED 

扫描失败 / Scan failed

UNKNOWN 

未知错误 / Unknown error

Definition at line 28 of file wifi_client.hpp.

29 {
30 NONE,
40 UNKNOWN,
41 };
@ DHCP_FAILED
DHCP 获取失败 / DHCP acquisition failed.
@ INVALID_CONFIG
配置无效 / Invalid configuration
@ AUTHENTICATION_FAILED
身份验证失败 / Authentication failed
@ HARDWARE_FAILURE
硬件故障 / Hardware failure
@ SCAN_FAILED
扫描失败 / Scan failed
@ ALREADY_ENABLED
已启用 / Already enabled
@ NOT_ENABLED
未启用 / Not enabled
@ NONE
无错误 / No error
@ CONNECTION_TIMEOUT
连接超时 / Connection timeout
@ SSID_NOT_FOUND
找不到 SSID / SSID not found

Member Function Documentation

◆ Connect()

virtual WifiError LibXR::WifiClient::Connect ( const Config & config)
pure virtual

连接到指定 WiFi 网络 / Connect to a WiFi network

Parameters
[in]configWiFi 连接配置 / Configuration parameters
Returns
WifiError 连接结果 / Error code

Implemented in LibXR::ESP32WifiClient.

◆ Disable()

virtual void LibXR::WifiClient::Disable ( )
overridepure virtual

禁用网络接口(WiFi) / Disable the network interface

Implements LibXR::NetworkInterface.

Implemented in LibXR::ESP32WifiClient.

◆ Disconnect()

virtual WifiError LibXR::WifiClient::Disconnect ( )
pure virtual

断开当前 WiFi 连接 / Disconnect from the WiFi network

Returns
WifiError 断开结果 / Error code

Implemented in LibXR::ESP32WifiClient.

◆ Enable()

virtual bool LibXR::WifiClient::Enable ( )
overridepure virtual

启用网络接口(WiFi) / Enable the network interface

Returns
true 表示成功 / true if enabled successfully

Implements LibXR::NetworkInterface.

Implemented in LibXR::ESP32WifiClient.

◆ GetIPAddress()

virtual IPAddressRaw LibXR::WifiClient::GetIPAddress ( ) const
overridepure virtual

获取当前 IP 地址 / Get current IP address

Returns
当前 IP 地址(结构形式) / Current IP address in raw form

Implements LibXR::NetworkInterface.

Implemented in LibXR::ESP32WifiClient.

◆ GetMACAddress()

virtual MACAddressRaw LibXR::WifiClient::GetMACAddress ( ) const
overridepure virtual

获取当前 MAC 地址 / Get MAC address

Returns
当前 MAC 地址(结构形式) / Current MAC address in raw form

Implements LibXR::NetworkInterface.

Implemented in LibXR::ESP32WifiClient.

◆ GetRSSI()

virtual int LibXR::WifiClient::GetRSSI ( ) const
pure virtual

获取当前 WiFi 信号强度(RSSI) / Get current signal strength

Returns
信号强度(dBm) / Signal strength in dBm

Implemented in LibXR::ESP32WifiClient.

◆ IsConnected()

virtual bool LibXR::WifiClient::IsConnected ( ) const
overridepure virtual

检查是否已连接 / Check if currently connected

Returns
true 如果连接上了 / true if connected

Implements LibXR::NetworkInterface.

Implemented in LibXR::ESP32WifiClient.

◆ Scan()

virtual WifiError LibXR::WifiClient::Scan ( ScanResult * out_list,
size_t max_count,
size_t & out_found )
pure virtual

扫描可用网络 / Scan for available WiFi networks

Parameters
[out]out_list扫描结果数组 / Output list buffer
[in]max_count最大可填入数量 / Max result count
[out]out_found实际找到数量 / Number found
Returns
WifiError 错误码 / Scan result code

Implemented in LibXR::ESP32WifiClient.


The documentation for this class was generated from the following file: