ESP32 開發筆記(三)源碼示例 15_WIFI_AP 建立軟AP示例

開發板購買連接windows

https://item.taobao.com/item.htm?spm=a2oq0.12575281.0.0.50111deb2Ij1As&ft=t&id=626366733674網絡

開發板簡介
開發環境搭建 windows
源碼示例:
    0_Hello Bug (ESP_LOGX與printf)    工程模板/打印調試輸出
    1_LED                                                    LED亮滅控制       
    2_LED_Task                                          使用任務方式控制LED
    3_LEDC_PWM                                      使用LEDC來控制LED實現呼吸燈效果
    4_ADC_LightR                                      使用ADC讀取光敏電阻實現光照傳感
    5_KEY_Short_Long                              按鈕長按短按實現
    6_TouchPad_Interrupt                          電容觸摸中斷實現
    7_WS2812_RMT                                  使用RMT實現RGB_LED彩虹變色示例
    8_DHT11_RMT                                    使用RMT實現讀取DHT11溫溼度傳感器
    9_SPI_SDCard                                    使用SPI總線實現TF卡文件系統示例
    10_IIC_ADXL345                                使用IIC總線實現讀取ADXL345角度加速度傳感器
    11_IIC_AT24C02                                 使用IIC總線實現小容量數據儲存測試
    12_IR_Rev_RMT                                使用RMT實現紅外遙控接收解碼(NEC編碼)
    13_IR_Send_RMT                              使用RMT實現紅外數據發送(NEC編碼)
    14_WIFI_Scan                                    附近WIFI信號掃描示例    
    15_WIFI_AP                                        建立軟AP示例
    16_WIFI_AP_TCP_Server                  在軟AP模式下實現TCP服務端
    17_WIFI_AP_TCP_Client                   在軟AP模式下實現TCP客戶端
    18_WIFI_AP_UDP                              在軟AP模式下實現UDP通信
    19_WIFI_STA                                      建立STA站模
    20_WIFI_STA_TCP_Server                在站模式STA下實現TCP服務端
    21_WIFI_STA_TCP_Client                 在站模式STA下實現TCP客戶端
    22_WIFI_STA_UDP                            在站模式STA下實現UDP通信
    23_LVGL_Test                                     LVGL圖形庫簡單示例

























app

AP 模式介紹

接入點(AP)是一種提供 Wi-Fi 網絡訪問的設備,並將其鏈接到有線網絡的裝置。ESP32除了不具備與有線網絡的接口外,還能夠提供相似的功能。這種操做模式稱爲軟接入點(soft-AP)。能夠同時鏈接到soft-AP的最大站數能夠設置4,默認爲4。

當ESP32單獨處於AP模式下時,能夠被認爲是一個沒法訪問外網的局域網WiFi路由器節點,它能夠接受各種設備的鏈接請求。並能夠和鏈接設備進行TCP、UDP鏈接,實現數據流。在局域物聯網的設計中能夠承擔數據收發節點的做用。

tcp

1、編寫代碼

先引用必要頭文件函數

#include <stdio.h>
#include "esp_system.h"
#include "esp_spi_flash.h"
#include "esp_wifi.h"
#include "esp_event_loop.h"
#include "esp_log.h"
#include "esp_err.h"
#include "nvs_flash.h"
#include "esp_event.h"

定義AP的參數oop

#define WIFI_AP_SSID		"HelloBug"			// WIFI 網絡名稱
#define WIFI_AP_PAS			"12345678"			// WIFI 密碼
#define WIFI_AP_MAXCON		1					// 最大站鏈接數		最多隻能被4個station同時鏈接,這裏設置爲只能被一個station鏈接
#define WIFI_AP_AUTH		WIFI_AUTH_WPA_WPA2_PSK

主函數測試

void app_main()
{
	ESP_LOGI(TAG, "APP Start......");

	ESP_ERROR_CHECK( nvs_flash_init() );
	tcpip_adapter_init();
	ESP_ERROR_CHECK(esp_event_loop_init(event_handler, NULL));	// 建立默認事件循環
	wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
	ESP_ERROR_CHECK(esp_wifi_init(&cfg));						// 使用默認wifi初始化配置
	wifi_config_t wifi_config = {								// 配置AP參數
		.ap = {
			.ssid = WIFI_AP_SSID,
			.ssid_len = 0,
			.max_connection = WIFI_AP_MAXCON,		
			.password = WIFI_AP_PAS,
			.authmode = WIFI_AP_AUTH,
		},
	};
	ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_AP));			// 設置工做模式爲AP模式
	ESP_ERROR_CHECK(esp_wifi_set_config(ESP_IF_WIFI_AP, &wifi_config));// 設置AP配置
	ESP_ERROR_CHECK(esp_wifi_start());							// 開啓WIFI
}

WIFI事件處理函數ui

// wifi事件處理函數
static esp_err_t event_handler(void *ctx, system_event_t *event)
{
	switch (event->event_id){
		case SYSTEM_EVENT_AP_START:
			ESP_LOGI(TAG,"wifi_softap_start");
			break;
		case SYSTEM_EVENT_AP_STACONNECTED:
			ESP_LOGI(TAG,"wifi_softap_connectted");
			break;
		case SYSTEM_EVENT_AP_STADISCONNECTED:
			ESP_LOGI(TAG,"wifi_softap_disconnectted");
			break;
		default:
			break;
	}
	return ESP_OK;
}

2、下載測試

打開ESP-IDF Command Prompt編碼

cd命令進入此工程目錄spa

cd F:\ESP32_DevBoard_File\15_WIFI_AP

查看電腦設備管理器中開發板的串口號

執行idf.py -p COM9 flash monitor從串口9下載並運行打開口顯示設備調試信息   Ctrl+c退出運行

手機打開WIFI設置,便可看到有一個HelloBug的WIFI,下圖打印信息是鏈接和斷開鏈接的效果

相關文章
相關標籤/搜索