WiFi站點(Station)和接入點(Access Point)
WiFi是由無線接入點AP(Access Point) 、站點(Station)等組成的無線網絡。 Station (STA)是指每個連接到無線網絡中的終端; 接入點 (AP)是無線網絡的創(chuàng)建者,是網絡的中心節(jié)點
ESP8266模組支持STA、AP、STA+AP三種工作模式
- STA模式:ESP8266模塊通過路由器連接互聯(lián)網,PC或手機通過互聯(lián)網實現(xiàn)對設備的遠程控制
- AP模式:ESP8266模塊作為熱點,PC或手機直接與模塊通訊,實現(xiàn)局域網無線控制
- STA+AP模式:兩種模式的共存,既可以通過路由器連接到互聯(lián)網,通過互聯(lián)網控制設備; 也可以作為WiFi熱點,供其他WiFi設備連接。 實現(xiàn)了局域網和廣域網的無縫切換
下面將介紹如何使用ESP8266 SDK開發(fā)WiFi的Station和AP連接
1. Station連接
WiFi Station入網流程如下圖示:
實現(xiàn)步驟如下:
在ESP8266_RTOS_SDK目錄下新建station文件夾,把LED燈實驗中的led目錄下所有文件拷貝到該文件夾中
使用Source Insight編輯器,編輯和瀏覽代碼; 新建工程,并將station和include文件夾下的文件添加到工程中; 在led燈程序基礎上,在user_main.c文件中的user_init()函數(shù)下添加如下代碼
user_init(void)
{
printf("SDK version:%s\\n", system_get_sdk_version());
Led_init();
wifi_set_opmode(STATION_MODE); //配置WiFi為Station模式
struct station_config *config = (struct station_config *)
zalloc(sizeof(struct station_config));//動態(tài)的分配內存空間
sprintf(config->ssid,SSID);
sprintf(config->password,PASSWORD);
wifi_station_set_config(config); //配置設置到寄存器里面
free(config); //釋放動態(tài)分配的內存
wifi_station_set_auto_connect(TRUE);//啟動wifi的一鍵連接
xTaskCreate(ATaskLed, "LED", 256, NULL, 2, NULL);
}
回到ESP8266編譯器中,在station文件夾下,運行gen_misc.sh文件,依次確認配置(Y/1/2/3/4),編譯完成后,燒寫bin文件到ESP8266
打開串口助手,模組復位后,串口輸出相關信息后,模塊顯示連接到無線網絡中,并獲取到路由分配的IP
2. AP連接
WiFi AP入網流程如下圖示:
實現(xiàn)步驟如下:
在ESP8266_RTOS_SDK目錄下新建ap文件夾,把LED燈實驗中的led目錄下所有文件拷貝到該文件夾中
使用Source Insight編輯器,編輯和瀏覽代碼; 新建工程,并將ap和include文件夾下的文件添加到工程中; 在led燈程序基礎上,在user_main.c文件中的user_init()函數(shù)下添加如下代碼
user_init(void)
{
printf("SDK version:%s\\n", system_get_sdk_version());
Led_init();
wifi_set_opmode(SOFTAP_MODE); //設置為AP模式
struct softap_config *config = (struct softap_config *)
zalloc(sizeof(struct softap_config));
wifi_softap_get_config(config); //獲取當前參數(shù)
sprintf(config->ssid,SSID); //傳入自己定義的網絡名稱
sprintf(config->password,PASSWORD); //傳入自己定義的網絡密碼
config->authmode = AUTH_WPA_WPA2_PSK;//授權加密方式
//設置網絡名稱長度為0,表示網絡名稱字符串中遇到'\\0'時結束
config->ssid_len = 0;
config->max_connection = 4; //設置最大連接數(shù)
wifi_softap_set_config(config); //設置到寄存器
free(config); //釋放動態(tài)存儲
xTaskCreate(ATaskLed, "LED", 256, NULL, 2, NULL);
}
回到ESP8266編譯器中,在ap文件夾下,運行gen_misc.sh文件,依次確認配置(Y/1/2/3/4),編譯完成后,燒寫bin文件到ESP8266
燒寫bin文件到ESP8266后,打開串口助手,模組復位后,串口輸出相關信息,用手機連接AP,獲取到AP分配的地址
-
無線網絡
+關注
關注
6文章
1435瀏覽量
65945 -
WIFI
+關注
關注
81文章
5297瀏覽量
203753 -
編譯器
+關注
關注
1文章
1634瀏覽量
49134 -
SDK
+關注
關注
3文章
1036瀏覽量
45955 -
ESP8266
+關注
關注
50文章
962瀏覽量
45018
發(fā)布評論請先 登錄
相關推薦
評論