libxr  1.0
Want to be the best embedded framework
Loading...
Searching...
No Matches
wifi_client.hpp
1#pragma once
2
3#include "libxr_def.hpp"
4#include "libxr_rw.hpp"
5#include "net.hpp"
6
7namespace LibXR
8{
9
18{
19 public:
20 // =========================
21 // 类型定义 / Type Definitions
22 // =========================
23
42
47 enum class Security
48 {
49 OPEN,
50 WPA2_PSK,
52 UNKNOWN,
53 };
54
62 {
63 const char* identity;
64 const char* username;
65 const char* password;
66 const char* ca_cert;
67 const char* client_cert;
68 const char* client_key;
69 };
70
84
91 struct Config
92 {
93 char ssid[33];
94 char password[64];
96
98 nullptr;
100 nullptr;
101
102 bool use_dhcp = true;
103 };
104
112 {
113 char ssid[33]{};
114 int rssi = 0;
116 };
117
123
127 virtual ~WifiClient() = default;
128
133 virtual bool Enable() override = 0;
134
138 virtual void Disable() override = 0;
139
144 virtual bool IsConnected() const override = 0;
145
150 virtual IPAddressRaw GetIPAddress() const override = 0;
151
156 virtual MACAddressRaw GetMACAddress() const override = 0;
157
163 virtual WifiError Connect(const Config& config) = 0;
164
169 virtual WifiError Disconnect() = 0;
170
178 virtual WifiError Scan(ScanResult* out_list, size_t max_count, size_t& out_found) = 0;
179
184 virtual int GetRSSI() const = 0;
185};
186
187} // namespace LibXR
提供一个通用的回调包装,支持动态参数传递。 Provides a generic callback wrapper, supporting dynamic argument passing.
Definition libxr_cb.hpp:124
抽象网络接口类 / Abstract base for network interfaces
Definition net.hpp:123
WiFi 客户端接口 / WiFi Client Interface.
virtual bool Enable() override=0
启用网络接口(WiFi) / Enable the network interface
virtual WifiError Connect(const Config &config)=0
连接到指定 WiFi 网络 / Connect to a WiFi network
Security
WiFi 安全类型 / WiFi security types.
@ WPA2_PSK
WPA2-PSK / WPA2-PSK.
@ UNKNOWN
未知类型 / Unknown type
@ OPEN
开放网络 / Open network
@ WPA2_ENTERPRISE
WPA2 企业认证 / WPA2 Enterprise.
virtual IPAddressRaw GetIPAddress() const override=0
获取当前 IP 地址 / Get current IP address
WifiError
WiFi 错误码 / Enumeration of WiFi error codes.
@ DHCP_FAILED
DHCP 获取失败 / DHCP acquisition failed.
@ INVALID_CONFIG
配置无效 / Invalid configuration
@ AUTHENTICATION_FAILED
身份验证失败 / Authentication failed
@ UNKNOWN
未知错误 / Unknown error
@ 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
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 bool IsConnected() const override=0
检查是否已连接 / Check if currently connected
virtual void Disable() override=0
禁用网络接口(WiFi) / Disable the network interface
virtual ~WifiClient()=default
析构函数 / Destructor
virtual MACAddressRaw GetMACAddress() const override=0
获取当前 MAC 地址 / Get MAC address
virtual int GetRSSI() const =0
获取当前 WiFi 信号强度(RSSI) / Get current signal strength
LibXR 命名空间
Definition ch32_gpio.hpp:9
原始 IPv4 地址 / Raw IPv4 address
Definition net.hpp:17
原始 MAC 地址 / Raw MAC address
Definition net.hpp:69
WiFi 连接配置 / WiFi connection configuration.
bool use_dhcp
是否使用 DHCP / Use DHCP or not
Security security
安全类型 / Security type
char ssid[33]
SSID 名称 / SSID name.
const EnterpriseConfig * enterprise_config
企业认证配置(可选) / Enterprise config (optional)
const StaticIPConfig * static_ip_config
静态 IP 配置(可选) / Static IP config (optional)
char password[64]
密码 / Password
企业 WiFi 配置 / Enterprise WiFi configuration
const char * identity
EAP 身份标识 / EAP identity.
const char * password
密码 / Password
const char * client_cert
客户端证书路径 / Client certificate path
const char * username
用户名 / Username
const char * client_key
客户端密钥路径 / Client key path
const char * ca_cert
CA 证书路径 / CA certificate path.
WiFi 扫描结果 / WiFi scan result.
int rssi
信号强度 / Signal strength (RSSI)
char ssid[33]
发现的 SSID / Detected SSID
Security security
安全类型 / Security type
静态 IP 配置 / Static IP configuration
IPAddressRaw dns
DNS 服务器 / DNS server.
IPAddressRaw ip
IP 地址 / IP address.
IPAddressRaw netmask
子网掩码 / Netmask
IPAddressRaw gateway
网关地址 / Gateway address