Skip to content

nets 模块

ESP32底层网络相关API 这里主要包含有netif和wifi组件,以及辅助的sntp和mac地址处理库。基本上所有的函数都是esp32的IDF框架直接对应过来的,查看idf v5.5.4文档即可知函数功能

netif组件

class netif

static attach_wifi_station(esp_netif: pointer) -> int

参数类型说明
esp_netifpointer
  • 返回: int
C++ 映射 esp_netif_attach_wifi_station

static attach_wifi_ap(esp_netif: pointer) -> int

参数类型说明
esp_netifpointer
  • 返回: int
C++ 映射 esp_netif_attach_wifi_ap

static create_default_wifi_ap() -> pointer

  • 返回: pointer
C++ 映射 esp_netif_create_default_wifi_ap

static create_default_wifi_sta() -> pointer

  • 返回: pointer
C++ 映射 esp_netif_create_default_wifi_sta

static destroy_default_wifi(esp_netif: pointer) -> None

本函数启用的话, 需要启用CONFIG_ESP_WIFI_NAN_ENABLE=y static native create_default_wifi_nan() -> pointer: esp_netif_create_default_wifi_nan

参数类型说明
esp_netifpointer
  • 返回: None

static create_wifi(wifi_if: pointer, esp_netif_inherent_config_t: pointer) -> pointer

参数类型说明
wifi_ifpointer
esp_netif_inherent_config_tpointer
  • 返回: pointer
C++ 映射 esp_netif_create_wifi

static create_default_wifi_mesh_netifs(p_netif_sta: pointer, p_netif_ap: pointer) -> int

参数类型说明
p_netif_stapointer
p_netif_appointer
  • 返回: int
C++ 映射 esp_netif_create_default_wifi_mesh_netifs

static ip4addr_ntoa(ip_v4: uint) -> str

参数类型说明
ip_v4uint
  • 返回: str
C++ 映射 ip4addr_ntoa

static ip4addr_aton(ip_str: str) -> uint

参数类型说明
ip_strstr
  • 返回: uint
C++ 映射 esp_ip4addr_aton

static new(esp_netif_config: pointer) -> pointer

参数类型说明
esp_netif_configpointer
  • 返回: pointer
C++ 映射 esp_netif_new

static destroy(esp_netif: pointer) -> None

参数类型说明
esp_netifpointer
  • 返回: None

static set_ip_info(esp_netif: pointer, ip_info: pointer) -> int

参数类型说明
esp_netifpointer
ip_infopointer
  • 返回: int
C++ 映射 esp_netif_set_ip_info

class wifi

static set_default_wifi_sta_handlers() -> int

  • 返回: int
C++ 映射 esp_wifi_set_default_wifi_sta_handlers

static set_default_wifi_ap_handlers() -> int

  • 返回: int
C++ 映射 esp_wifi_set_default_wifi_ap_handlers

static set_default_wifi_nan_handlers() -> int

  • 返回: int
C++ 映射 esp_wifi_set_default_wifi_nan_handlers

static clear_default_wifi_driver_and_handlers(esp_netif: void) -> int

参数类型说明
esp_netifvoid
  • 返回: int
C++ 映射 esp_wifi_clear_default_wifi_driver_and_handlers

static new_config() -> str

分配wifi_init_config_t指针,使用IDF框架的默认宏WIFI_INIT_CONFIG_DEFAULT完成初始化,并设置nvs_enable=false

return: 返回wifi_init_config_t结构体的实例指针,用用于接下来的init函数

  • 返回: str

static init(config: instance) -> int

参数类型说明
configinstance
  • 返回: int
C++ 映射 esp_wifi_init

static deinit() -> int

  • 返回: int
C++ 映射 esp_wifi_deinit

static set_mode(mode: uint) -> int

参数类型说明
modeuint
  • 返回: int
C++ 映射 esp_wifi_set_mode

static get_mode(mode: uint) -> int

参数类型说明
modeuint
  • 返回: int
C++ 映射 esp_wifi_get_mode

static start() -> int

  • 返回: int
C++ 映射 esp_wifi_start

static stop() -> int

  • 返回: int
C++ 映射 esp_wifi_stop

static restore() -> int

  • 返回: int
C++ 映射 esp_wifi_restore

static connect() -> int

  • 返回: int
C++ 映射 esp_wifi_connect

static disconnect() -> int

  • 返回: int
C++ 映射 esp_wifi_disconnect

static clear_fast_connect() -> int

  • 返回: int
C++ 映射 esp_wifi_clear_fast_connect

static deauth_sta(aid: int) -> int

参数类型说明
aidint
  • 返回: int
C++ 映射 esp_wifi_deauth_sta

static scan_start(config: pointer, block: bool) -> int

config为wifi_scan_config_t结构体

参数类型说明
configpointer
blockbool
  • 返回: int
C++ 映射 esp_wifi_scan_start

static set_scan_parameters(config: pointer) -> int

参数类型说明
configpointer
  • 返回: int
C++ 映射 esp_wifi_set_scan_parameters

static get_scan_parameters(config: pointer) -> int

参数类型说明
configpointer
  • 返回: int
C++ 映射 esp_wifi_get_scan_parameters

static scan_stop() -> int

  • 返回: int
C++ 映射 esp_wifi_scan_stop

static scan_get_ap_num(number: pointer) -> int

参数类型说明
numberpointer
  • 返回: int
C++ 映射 esp_wifi_scan_get_ap_num

static scan_get_ap_records(number: pointer, ap_records: pointer) -> int

参数类型说明
numberpointer
ap_recordspointer
  • 返回: int
C++ 映射 esp_wifi_scan_get_ap_records

static scan_get_ap_record(ap_record: pointer) -> int

参数类型说明
ap_recordpointer
  • 返回: int
C++ 映射 esp_wifi_scan_get_ap_record

static clear_ap_list() -> int

  • 返回: int
C++ 映射 esp_wifi_clear_ap_list

static sta_get_ap_info(ap_info: pointer) -> int

参数类型说明
ap_infopointer
  • 返回: int
C++ 映射 esp_wifi_sta_get_ap_info

static set_ps(type: uint) -> int

参数类型说明
typeuint
  • 返回: int
C++ 映射 esp_wifi_set_ps

static get_ps(type: pointer) -> int

参数类型说明
typepointer
  • 返回: int
C++ 映射 esp_wifi_get_ps

static set_protocol(ifx: uint, protocol_bitmap: int) -> int

参数类型说明
ifxuint
protocol_bitmapint
  • 返回: int
C++ 映射 esp_wifi_set_protocol

static get_protocol(ifx: uint, protocol_bitmap: int) -> int

参数类型说明
ifxuint
protocol_bitmapint
  • 返回: int
C++ 映射 esp_wifi_get_protocol

static set_bandwidth(ifx: uint, bw: uint) -> int

参数类型说明
ifxuint
bwuint
  • 返回: int
C++ 映射 esp_wifi_set_bandwidth

static get_bandwidth(ifx: uint, bw: uint) -> int

参数类型说明
ifxuint
bwuint
  • 返回: int
C++ 映射 esp_wifi_get_bandwidth

static set_channel(primary: uint, second: uint) -> int

参数类型说明
primaryuint
seconduint
  • 返回: int
C++ 映射 esp_wifi_set_channel

static get_channel(primary: uint, second: uint) -> int

参数类型说明
primaryuint
seconduint
  • 返回: int
C++ 映射 esp_wifi_get_channel

static set_country(country: str) -> int

参数类型说明
countrystr
  • 返回: int
C++ 映射 esp_wifi_set_country

static get_country(country: str) -> int

参数类型说明
countrystr
  • 返回: int
C++ 映射 esp_wifi_get_country

static set_mac(ifx: uint, arg1: str) -> int

参数类型说明
ifxuint
arg1str
  • 返回: int
C++ 映射 esp_wifi_set_mac

static get_mac(ifx: uint, arg1: str) -> int

参数类型说明
ifxuint
arg1str
  • 返回: int
C++ 映射 esp_wifi_get_mac

static set_promiscuous_rx_cb(cb: pointer) -> int

参数类型说明
cbpointer
  • 返回: int
C++ 映射 esp_wifi_set_promiscuous_rx_cb

static set_promiscuous(en: int) -> int

参数类型说明
enint
  • 返回: int
C++ 映射 esp_wifi_set_promiscuous

static get_promiscuous(en: int) -> int

参数类型说明
enint
  • 返回: int
C++ 映射 esp_wifi_get_promiscuous

static set_promiscuous_filter(filter: pointer) -> int

参数类型说明
filterpointer
  • 返回: int
C++ 映射 esp_wifi_set_promiscuous_filter

static get_promiscuous_filter(filter: pointer) -> int

参数类型说明
filterpointer
  • 返回: int
C++ 映射 esp_wifi_get_promiscuous_filter

static set_promiscuous_ctrl_filter(filter: pointer) -> int

参数类型说明
filterpointer
  • 返回: int
C++ 映射 esp_wifi_set_promiscuous_ctrl_filter

static get_promiscuous_ctrl_filter(filter: pointer) -> int

参数类型说明
filterpointer
  • 返回: int
C++ 映射 esp_wifi_get_promiscuous_ctrl_filter

static set_config(interface: pointer, conf: pointer) -> int

参数类型说明
interfacepointer
confpointer
  • 返回: int
C++ 映射 esp_wifi_set_config

static get_config(interface: pointer, conf: pointer) -> int

参数类型说明
interfacepointer
confpointer
  • 返回: int
C++ 映射 esp_wifi_get_config

static ap_get_sta_list(sta: instance) -> int

参数类型说明
stainstance
  • 返回: int
C++ 映射 esp_wifi_ap_get_sta_list

static ap_get_sta_aid(arg0: str, aid: pointer) -> int

参数类型说明
arg0str
aidpointer
  • 返回: int
C++ 映射 esp_wifi_ap_get_sta_aid

static set_storage(storage: uint) -> int

参数类型说明
storageuint
  • 返回: int
C++ 映射 esp_wifi_set_storage

static set_vendor_ie(enable: int, type: pointer, idx: pointer, vnd_ie: void) -> int

参数类型说明
enableint
typepointer
idxpointer
vnd_ievoid
  • 返回: int
C++ 映射 esp_wifi_set_vendor_ie

static set_vendor_ie_cb(cb: pointer, ctx: void) -> int

参数类型说明
cbpointer
ctxvoid
  • 返回: int
C++ 映射 esp_wifi_set_vendor_ie_cb

static set_max_tx_power(power: int) -> int

参数类型说明
powerint
  • 返回: int
C++ 映射 esp_wifi_set_max_tx_power

static get_max_tx_power(power: int) -> int

参数类型说明
powerint
  • 返回: int
C++ 映射 esp_wifi_get_max_tx_power

static set_event_mask(mask: int) -> int

参数类型说明
maskint
  • 返回: int
C++ 映射 esp_wifi_set_event_mask

static get_event_mask(mask: int) -> int

参数类型说明
maskint
  • 返回: int
C++ 映射 esp_wifi_get_event_mask

static 80211_tx(ifx: uint, buffer: void, len: int, en_sys_seq: int) -> int

参数类型说明
ifxuint
buffervoid
lenint
en_sys_seqint
  • 返回: int
C++ 映射 esp_wifi_80211_tx

static register_80211_tx_cb(cb: pointer) -> int

参数类型说明
cbpointer
  • 返回: int
C++ 映射 esp_wifi_register_80211_tx_cb

static get_tsf_time(interface: uint) -> int64

以下函数需要启用CONFIG_ESP_WIFI_CSI_ENABLED=y static native set_csi_rx_cb(cb: pointer, ctx: void) -> int: esp_wifi_set_csi_rx_cb static native set_csi_config(config: pointer) -> int: esp_wifi_set_csi_config static native get_csi_config(config: pointer) -> int: esp_wifi_get_csi_config static native set_csi(en: int) -> int: esp_wifi_set_csi

参数类型说明
interfaceuint
  • 返回: int64
C++ 映射 esp_wifi_get_tsf_time

static set_inactive_time(ifx: uint, sec: int) -> int

参数类型说明
ifxuint
secint
  • 返回: int
C++ 映射 esp_wifi_set_inactive_time

static get_inactive_time(ifx: uint, sec: int) -> int

参数类型说明
ifxuint
secint
  • 返回: int
C++ 映射 esp_wifi_get_inactive_time

static statis_dump(modules: int) -> int

参数类型说明
modulesint
  • 返回: int
C++ 映射 esp_wifi_statis_dump

static set_rssi_threshold(rssi: int) -> int

参数类型说明
rssiint
  • 返回: int
C++ 映射 esp_wifi_set_rssi_threshold

static ftm_initiate_session(cfg: pointer) -> int

参数类型说明
cfgpointer
  • 返回: int
C++ 映射 esp_wifi_ftm_initiate_session

static ftm_end_session() -> int

  • 返回: int
C++ 映射 esp_wifi_ftm_end_session

static ftm_resp_set_offset(offset_cm: int) -> int

参数类型说明
offset_cmint
  • 返回: int
C++ 映射 esp_wifi_ftm_resp_set_offset

static ftm_get_report(report: pointer, num_entries: int) -> int

参数类型说明
reportpointer
num_entriesint
  • 返回: int
C++ 映射 esp_wifi_ftm_get_report

static config_11b_rate(ifx: uint, disable: int) -> int

参数类型说明
ifxuint
disableint
  • 返回: int
C++ 映射 esp_wifi_config_11b_rate

static connectionless_module_set_wake_interval(wake_interval: int) -> int

参数类型说明
wake_intervalint
  • 返回: int
C++ 映射 esp_wifi_connectionless_module_set_wake_interval

static force_wakeup_acquire() -> int

  • 返回: int
C++ 映射 esp_wifi_force_wakeup_acquire

static force_wakeup_release() -> int

  • 返回: int
C++ 映射 esp_wifi_force_wakeup_release

static set_country_code(country: str, ieee80211d_enabled: bool) -> int

参数类型说明
countrystr
ieee80211d_enabledbool
  • 返回: int
C++ 映射 esp_wifi_set_country_code

static get_country_code(country: str) -> int

参数类型说明
countrystr
  • 返回: int
C++ 映射 esp_wifi_get_country_code

static config_80211_tx_rate(ifx: uint, rate: uint) -> int

参数类型说明
ifxuint
rateuint
  • 返回: int
C++ 映射 esp_wifi_config_80211_tx_rate

static config_80211_tx(ifx: uint, config: uint) -> int

参数类型说明
ifxuint
configuint
  • 返回: int
C++ 映射 esp_wifi_config_80211_tx

static disable_pmf_config(ifx: uint) -> int

参数类型说明
ifxuint
  • 返回: int
C++ 映射 esp_wifi_disable_pmf_config

static sta_get_aid(aid: int) -> int

参数类型说明
aidint
  • 返回: int
C++ 映射 esp_wifi_sta_get_aid

static sta_get_negotiated_phymode(phymode: pointer) -> int

参数类型说明
phymodepointer
  • 返回: int
C++ 映射 esp_wifi_sta_get_negotiated_phymode

static set_dynamic_cs(enabled: int) -> int

参数类型说明
enabledint
  • 返回: int
C++ 映射 esp_wifi_set_dynamic_cs

static sta_get_rssi(rssi: int) -> int

参数类型说明
rssiint
  • 返回: int
C++ 映射 esp_wifi_sta_get_rssi

static set_band(band: uint) -> int

参数类型说明
banduint
  • 返回: int
C++ 映射 esp_wifi_set_band

static get_band(band: uint) -> int

参数类型说明
banduint
  • 返回: int
C++ 映射 esp_wifi_get_band

static set_band_mode(band_mode: uint) -> int

参数类型说明
band_modeuint
  • 返回: int
C++ 映射 esp_wifi_set_band_mode

static get_band_mode(band_mode: uint) -> int

参数类型说明
band_modeuint
  • 返回: int
C++ 映射 esp_wifi_get_band_mode

static set_protocols(ifx: uint, protocols: pointer) -> int

参数类型说明
ifxuint
protocolspointer
  • 返回: int
C++ 映射 esp_wifi_set_protocols

static get_protocols(ifx: uint, protocols: pointer) -> int

参数类型说明
ifxuint
protocolspointer
  • 返回: int
C++ 映射 esp_wifi_get_protocols

static set_bandwidths(ifx: uint, bw: pointer) -> int

参数类型说明
ifxuint
bwpointer
  • 返回: int
C++ 映射 esp_wifi_set_bandwidths

static get_bandwidths(ifx: uint, bw: pointer) -> int

参数类型说明
ifxuint
bwpointer
  • 返回: int
C++ 映射 esp_wifi_get_bandwidths

static action_tx_req(req: pointer) -> int

参数类型说明
reqpointer
  • 返回: int
C++ 映射 esp_wifi_action_tx_req

static remain_on_channel(req: pointer) -> int

参数类型说明
reqpointer
  • 返回: int
C++ 映射 esp_wifi_remain_on_channel

class sntp

static init(config: pointer) -> int

参数类型说明
configpointer
  • 返回: int
C++ 映射 esp_netif_sntp_init

static start() -> int

  • 返回: int
C++ 映射 esp_netif_sntp_start

static deinit() -> None

  • 返回: None

static sync_wait(tout: uint) -> int

参数类型说明
toutuint
  • 返回: int
C++ 映射 esp_netif_sntp_sync_wait

static reachability(index: int, reachability: int) -> int

参数类型说明
indexint
reachabilityint
  • 返回: int
C++ 映射 esp_netif_sntp_reachability

class mac

static read(mac: pointer, esp_mac_type_t: uint) -> int

mac: 使用malloc分配6个字节即可接收mac地址

参数类型说明
macpointer
esp_mac_type_tuint
  • 返回: int
C++ 映射 esp_read_mac

static iface_addr_set(mac: pointer, type: uint) -> int

type: 定义在nets_c.h中的esp_mac_type_t枚举值

参数类型说明
macpointer
typeuint
  • 返回: int
C++ 映射 esp_iface_mac_addr_set

static base_addr_set(mac: pointer) -> int

参数类型说明
macpointer
  • 返回: int
C++ 映射 esp_base_mac_addr_set

static base_addr_get(mac: point) -> int

参数类型说明
macpoint
  • 返回: int
C++ 映射 esp_base_mac_addr_get

static addr_len_get(type: uint) -> uint

参数类型说明
typeuint
  • 返回: uint
C++ 映射 esp_mac_addr_len_get

static dns_server_start(gate_way: uint) -> str

参数类型说明
gate_wayuint
  • 返回: str

static dns_server_stop() -> str

  • 返回: str
C++ 映射 dns_server_stop

基于 llpython ESP 平台构建