Files
Bionic_sphere/Lib/Wireless/Wireless.h
T
Misaki ba5e47bc77 这是一次长久的提交:
1. 应用界面增加了返回主页的按钮
2. 修复了gif渲染内存泄漏的严重bug
3. 将PetDao当中的cJSON API替换为cpp_json,完美通过测试
4. 整合已经实现的各种上层建筑,实现了一个宠物对话基本业务应用,用于样品测试展示用
5. 重构了音频播放类,使其更modern,更加便于移植和拓展
2025-10-16 11:36:45 +08:00

71 lines
1.7 KiB
C

#pragma once
#ifdef __cplusplus
extern "C" {
#endif
#include "esp_log.h"
#include "freertos/FreeRTOS.h"
#include "esp_wifi.h"
#include "nvs_flash.h"
#include "esp_log.h"
#include <stdio.h>
#include <string.h> // For memcpy
#include "esp_system.h"
// #include "esp_bt.h"
// #include "esp_gap_ble_api.h"
// #include "esp_bt_main.h"
// WiFi AP信息结构体
typedef struct {
char ssid[33]; // SSID名称 (最大32字符 + 1个空字符)
uint8_t bssid[6]; // MAC地址
int8_t rssi; // 信号强度
wifi_auth_mode_t authmode; // 认证模式
} wifi_ap_info_t;
// BLE设备信息结构体
typedef struct {
char name[100]; // 设备名称
uint8_t address[6]; // MAC地址
int8_t rssi; // 信号强度
} ble_device_info_t;
extern uint16_t BLE_NUM;
extern uint16_t WIFI_NUM;
extern bool Scan_finish;
esp_err_t Wireless_Init(void);
esp_err_t WIFI_Init(void *arg);
uint16_t WIFI_Scan(void);
void BLE_Init(void *arg);
uint16_t BLE_Scan(void);
// 下面的函数为新增的函数
// Code By Misaki
/**
* @brief 自动连接指定 Wi-Fi,带重试
* @param ssid 目标热点名称
* @param password 密码
* @param max_retry 最大重连次数(0 表示仅尝试一次)
* @return true 成功连接
* false 达到重试上限仍未连上
*/
bool WiFi_AutoConnect(const char *ssid, const char *password, uint8_t max_retry);
/**
* @brief 断开当前 STA 连接
*/
esp_err_t WiFi_Disconnect(void);
// 接口函数
uint16_t wireless_get_wifi_ap_list(wifi_ap_info_t *ap_list, uint16_t max_aps);
uint16_t wireless_get_ble_device_list(ble_device_info_t *device_list, uint16_t max_devices);
void wireless_print_wifi_aps(void);
void wireless_print_ble_devices(void);
#ifdef __cplusplus
}
#endif