0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何使用ESP8266 SDK開發(fā)WiFi的Station和AP連接

CHANBAEK ? 來源:嵌入式攻城獅 ? 作者:嵌入式攻城獅 ? 2023-04-25 15:10 ? 次閱讀

WiFi站點(diǎn)(Station)和接入點(diǎn)(Access Point)

WiFi是由無線接入點(diǎn)AP(Access Point) 、站點(diǎn)(Station)等組成的無線網(wǎng)絡(luò)。 Station (STA)是指每個連接到無線網(wǎng)絡(luò)中的終端; 接入點(diǎn) (AP)是無線網(wǎng)絡(luò)的創(chuàng)建者,是網(wǎng)絡(luò)的中心節(jié)點(diǎn)

圖片

ESP8266模組支持STA、AP、STA+AP三種工作模式

  • STA模式:ESP8266模塊通過路由器連接互聯(lián)網(wǎng),PC或手機(jī)通過互聯(lián)網(wǎng)實(shí)現(xiàn)對設(shè)備的遠(yuǎn)程控制
  • AP模式:ESP8266模塊作為熱點(diǎn),PC或手機(jī)直接與模塊通訊,實(shí)現(xiàn)局域網(wǎng)無線控制
  • STA+AP模式:兩種模式的共存,既可以通過路由器連接到互聯(lián)網(wǎng),通過互聯(lián)網(wǎng)控制設(shè)備; 也可以作為WiFi熱點(diǎn),供其他WiFi設(shè)備連接。 實(shí)現(xiàn)了局域網(wǎng)和廣域網(wǎng)的無縫切換

下面將介紹如何使用ESP8266 SDK開發(fā)WiFi的Station和AP連接

1. Station連接

WiFi Station入網(wǎng)流程如下圖示:

圖片

實(shí)現(xiàn)步驟如下:

在ESP8266_RTOS_SDK目錄下新建station文件夾,把LED燈實(shí)驗(yàn)中的led目錄下所有文件拷貝到該文件夾中

圖片

使用Source Insight編輯器,編輯和瀏覽代碼; 新建工程,并將station和include文件夾下的文件添加到工程中; 在led燈程序基礎(chǔ)上,在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)的分配內(nèi)存空間
    sprintf(config->ssid,SSID);    
    sprintf(config->password,PASSWORD);     
    wifi_station_set_config(config);	//配置設(shè)置到寄存器里面
    free(config);	                //釋放動態(tài)分配的內(nèi)存
    wifi_station_set_auto_connect(TRUE);//啟動wifi的一鍵連接
    xTaskCreate(ATaskLed, "LED", 256, NULL, 2, NULL);
}

圖片

回到ESP8266編譯器中,在station文件夾下,運(yùn)行g(shù)en_misc.sh文件,依次確認(rèn)配置(Y/1/2/3/4),編譯完成后,燒寫bin文件到ESP8266

圖片

打開串口助手,模組復(fù)位后,串口輸出相關(guān)信息后,模塊顯示連接到無線網(wǎng)絡(luò)中,并獲取到路由分配的IP

圖片

2. AP連接

WiFi AP入網(wǎng)流程如下圖示:

圖片

實(shí)現(xiàn)步驟如下:

在ESP8266_RTOS_SDK目錄下新建ap文件夾,把LED燈實(shí)驗(yàn)中的led目錄下所有文件拷貝到該文件夾中

圖片

使用Source Insight編輯器,編輯和瀏覽代碼; 新建工程,并將ap和include文件夾下的文件添加到工程中; 在led燈程序基礎(chǔ)上,在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);	//設(shè)置為AP模式 
    struct softap_config *config = (struct softap_config *)
	zalloc(sizeof(struct softap_config)); 
    wifi_softap_get_config(config);	//獲取當(dāng)前參數(shù)
    sprintf(config->ssid,SSID);		//傳入自己定義的網(wǎng)絡(luò)名稱
    sprintf(config->password,PASSWORD);	//傳入自己定義的網(wǎng)絡(luò)密碼
    config->authmode = AUTH_WPA_WPA2_PSK;//授權(quán)加密方式
    //設(shè)置網(wǎng)絡(luò)名稱長度為0,表示網(wǎng)絡(luò)名稱字符串中遇到'\\0'時結(jié)束
    config->ssid_len = 0;		
    config->max_connection = 4;		//設(shè)置最大連接數(shù)
    wifi_softap_set_config(config);	//設(shè)置到寄存器
    free(config);			//釋放動態(tài)存儲
    xTaskCreate(ATaskLed, "LED", 256, NULL, 2, NULL);
}

圖片

回到ESP8266編譯器中,在ap文件夾下,運(yùn)行g(shù)en_misc.sh文件,依次確認(rèn)配置(Y/1/2/3/4),編譯完成后,燒寫bin文件到ESP8266

圖片

燒寫bin文件到ESP8266后,打開串口助手,模組復(fù)位后,串口輸出相關(guān)信息,用手機(jī)連接AP,獲取到AP分配的地址

圖片

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 無線網(wǎng)絡(luò)
    +關(guān)注

    關(guān)注

    6

    文章

    1410

    瀏覽量

    65709
  • WIFI
    +關(guān)注

    關(guān)注

    81

    文章

    5256

    瀏覽量

    201692
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1602

    瀏覽量

    48894
  • SDK
    SDK
    +關(guān)注

    關(guān)注

    3

    文章

    1006

    瀏覽量

    45412
  • ESP8266
    +關(guān)注

    關(guān)注

    50

    文章

    959

    瀏覽量

    44539
收藏 人收藏

    評論

    相關(guān)推薦

    ESP8266緩存AP后,是否會自動連接到任何緩存的AP

    我有一個關(guān)于工作站模式的 AP 緩存的問題。我知道ESP8266最多可以緩存 5 個 AP 已成功連接SDK 說:
    發(fā)表于 07-11 07:58

    ESP8266EX連接WIFI AP時,是否需要執(zhí)行一些特殊程序?

    ESP8266EX處于 STATION 模式。我正在使用 0.9.2 SDK 和 lubuntu 來構(gòu)建。 1.當(dāng)模塊上電后首次連接WIFI
    發(fā)表于 07-15 07:57

    esp8266 AP STA連接丟失的原因?

    通過 wifi_station_set_reconnect_policy(); 這個想法是用戶可以通過連接esp8266 AP 來重新配置/修復(fù)
    發(fā)表于 07-18 07:17

    WIFI_AP_STA軟AP只有STATION連接時才工作是為何?

    嗨,我在“WIFI_AP_STA”模式下使用 ESP8226。STATIONESP8266 作為客戶端連接
    發(fā)表于 02-21 07:52

    ESP8266_SDK_User_Manual_Version 1.4

    ESP8266__IOT_SDK_User_Manual,ESP8266 SDK 使用指南
    發(fā)表于 12-30 14:23 ?20次下載

    ESP8266中文版SDK編程手冊

    2A-ESP8266__IOT_SDK_User_Manual SDK使用手冊 2B-ESP8266__SDK__IOT_Demo 2C-ESP8266__SDK__Progra
    發(fā)表于 12-30 14:48 ?0次下載

    esp8266 sdk開發(fā)教程是什么

      軟件開發(fā)工具包(外語首字母縮寫:SDK、外語全稱:Software Development Kit)一般都是一些軟件工程師為特定的軟件包、軟件框架、硬件平臺、操作系統(tǒng)等建立應(yīng)用軟件時的開發(fā)工具的集合。那么
    發(fā)表于 11-03 10:09 ?1.6w次閱讀
    <b class='flag-5'>esp8266</b> <b class='flag-5'>sdk</b><b class='flag-5'>開發(fā)</b>教程是什么

    esp8266,tcp通信實(shí)例詳解

    ESP8266工作在station模式下,需確認(rèn)ESP8266已經(jīng)連接AP(路由器)并分配到IP地址,啟用client
    發(fā)表于 11-04 10:14 ?4.3w次閱讀
    <b class='flag-5'>esp8266</b>,tcp通信實(shí)例詳解

    ESP8266 SDK開發(fā)環(huán)境搭建初級教程

    ESP8266 SDK 開發(fā)環(huán)境 本章主要從開發(fā)環(huán)境搭建、工程模板建立、開發(fā)流程說明三個方面進(jìn)行,在開發(fā)
    發(fā)表于 12-07 14:42 ?15次下載
    <b class='flag-5'>ESP8266</b> <b class='flag-5'>SDK</b><b class='flag-5'>開發(fā)</b>環(huán)境搭建初級教程

    ESP8266(NodeMCU)無線終端模式連接WiFi

    使用NodeMCU無線終端模式連接WiFi,并在串口打印出相關(guān)信息。ESP8266有三種工作模式,分別為:AP,STA,AP混合STA,下面
    發(fā)表于 10-27 13:21 ?9次下載
    <b class='flag-5'>ESP8266</b>(NodeMCU)無線終端模式<b class='flag-5'>連接</b><b class='flag-5'>WiFi</b>

    ESP8266 wifi模塊開發(fā)匯總

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ESP8266 wifi模塊開發(fā)匯總?ESP8266 wifi模塊
    發(fā)表于 11-05 19:21 ?187次下載
    <b class='flag-5'>ESP8266</b> <b class='flag-5'>wifi</b>模塊<b class='flag-5'>開發(fā)</b>匯總

    ESP8266連接手機(jī)

    esp8266的三種模式1為Station 模式:ESP8266 模塊通過路由器連接互聯(lián)網(wǎng),手機(jī)或電腦通過互聯(lián)網(wǎng)實(shí)現(xiàn)對設(shè)備的遠(yuǎn)程控制。2為AP
    發(fā)表于 11-30 16:06 ?37次下載
    <b class='flag-5'>ESP8266</b><b class='flag-5'>連接</b>手機(jī)

    ESP8266--SDK開發(fā)(HelloWorld!)

    ESP8266--SDK開發(fā)(HelloWorld!)
    發(fā)表于 12-03 17:21 ?12次下載
    <b class='flag-5'>ESP8266--SDK</b><b class='flag-5'>開發(fā)</b>(HelloWorld!)

    使用ESP8266-01制作WIFI遙控小車(一)

    使用ESP8266-01制作WIFI遙控小車(一)ESP8266簡介ESP8266有三種工作模式:STA、AP以及STA+
    發(fā)表于 01-12 19:47 ?46次下載
    使用<b class='flag-5'>ESP8266</b>-01制作<b class='flag-5'>WIFI</b>遙控小車(一)

    esp8266wifi模塊怎么連接手機(jī)

    ESP8266 WiFi模塊連接手機(jī)主要可以通過兩種方式實(shí)現(xiàn): 通過路由器連接(STA模式)和直接作為熱點(diǎn)連接
    的頭像 發(fā)表于 08-19 17:27 ?650次閱讀