使用Arduino开发ESP32:wifi基本功能使用
1.建立網(wǎng)絡(luò)(AP)
2.連接網(wǎng)絡(luò)(STA)
3.掃描網(wǎng)絡(luò)
1.建立網(wǎng)絡(luò)(AP)
只需兩步:1.引用WiFi庫include<WiFi.h>
2.啟動AP網(wǎng)絡(luò)WiFi.softAP(ssid)
將下面代碼上傳到模塊中:
#include <WiFi.h>void setup() {WiFi.softAP("ESP32_AP_TEST"); }void loop() { }代碼運行后可以搜索到一個名稱為ESP32_AP_TEST的無密碼網(wǎng)絡(luò),默認(rèn)情況下ESP32建立AP時,模塊自身地址為192.168.4.1,可以連接到該網(wǎng)絡(luò)后進(jìn)行測試
常用方法說明:
bool softAP(const char* ssid, const char* passphrase = NULL, int channel = 1, int ssid_hidden = 0, int max_connection = 4)
該方法用來啟動AP,在成功啟動后返回true,各項參數(shù)如下:
ssid所建立AP網(wǎng)絡(luò)的名稱,至少需一個字節(jié),最大一般不超過32字節(jié);
passphrase所建立AP網(wǎng)絡(luò)的密碼,可以為NULL(無密碼)或不小于8字節(jié)且不大于63字節(jié)的密碼;
channelWiFi網(wǎng)絡(luò)信道,可選值1~13;
ssid_hidden是否對外隱藏SSID,0-不隱藏,1-隱藏;
max_connection最大可接入數(shù),可選值1~4;
bool softAPConfig(IPAddress local_ip, IPAddress gateway, IPAddress subnet)
設(shè)置本地地址、網(wǎng)關(guān)地址和子網(wǎng)掩碼,默認(rèn)分別為192.168.4.1 192.168.4.1 255.255.255.0;
bool softAPdisconnect(bool wifioff = false)
關(guān)閉當(dāng)前AP,若wifioff為true則還將還原網(wǎng)絡(luò)設(shè)置;
uint8_t softAPgetStationNum()
返回連接到AP的客戶端數(shù)量;
IPAddress softAPIP()
返回當(dāng)前模塊IP
const char * softAPgetHostname()
返回主機名字
bool softAPsetHostname(const char * hostname)
設(shè)置主機名字
uint8_t* softAPmacAddress(uint8_t* mac)
String softAPmacAddress(void)
返回mac地址
使用示例:
#include <WiFi.h>IPAddress local_IP(192,168,4,22); IPAddress gateway(192,168,4,22); IPAddress subnet(255,255,255,0);const char *ssid = "ESP32_AP_TEST"; const char *password = "12345678";void setup() {Serial.begin(115200);Serial.println();WiFi.mode(WIFI_AP); //設(shè)置工作在AP模式WiFi.softAPConfig(local_IP, gateway, subnet); //設(shè)置AP地址while(!WiFi.softAP(ssid, password)){}; //啟動APSerial.println("AP啟動成功");Serial.print("IP address: ");Serial.println(WiFi.softAPIP()); // 打印IP地址WiFi.softAPsetHostname("myHostName"); //設(shè)置主機名Serial.print("HostName: ");Serial.println(WiFi.softAPgetHostname()); //打印主機名Serial.print("mac Address: ");Serial.println(WiFi.softAPmacAddress()); //打印mac地址 }void loop() {delay(1000);Serial.println(WiFi.softAPgetStationNum()); //打印客戶端連接數(shù) }另:
使用ESP32和Arduino IDE設(shè)置一個軟AP。這樣其他設(shè)備就可以連接到ESP32并與其交換數(shù)據(jù),而無需連接到傳統(tǒng)路由器。
例如,在實際連接到無線網(wǎng)絡(luò)之前,在商業(yè)產(chǎn)品中配置ESP32可能是有用的。有了這個功能,我們可以提供一個簡單的HTML頁面,用戶可以從他的家庭網(wǎng)絡(luò)輸入證書,以便ESP32稍后連接到它。
#include<WiFi.h>首先,應(yīng)包含WiFi.h庫,它提供了一個名為WiFi的外部變量,我們將使用它來設(shè)置我們的軟AP
由于我們要設(shè)置一個軟AP,我們需要指定網(wǎng)絡(luò)名稱(SSID),它將顯示給可以連接的站點。我們還需要指定一個密碼,以避免不良站點連接到我們的AP。我們將在全局常量中指定這兩個變量
const char* ssid = "MyESP32AP";
const char* password = "testpassword";
之后,我們將在Arduino設(shè)置功能中完成剩余的代碼。我們從開始串口連接開始,我們可以輸出程序的一些結(jié)果。這樣,我們可以在Arduino IDE串口監(jiān)視器中檢查結(jié)果。
Serial.begin(115200)
之后,為了設(shè)置我們的軟AP,我們只需調(diào)用WiFi extern變量的softAP方法,同時輸入之前定義的SSID和密碼
請注意,這個函數(shù)有一些更多的可選參數(shù),分配了默認(rèn)值。這些是通道,一個整數(shù),指定SSID是否應(yīng)該隱藏,以及最大連接數(shù)。除此之外,密碼也是一個可選參數(shù),默認(rèn)為NULL,這將允許無需密碼連接到AP。盡管如此,對于我們的例子,我們指定了它
WiFi.softAP(ssid,passwoord);
最后,我們將通過調(diào)用WiFi extern變量的softAPIP方法來獲取并打印軟AP的IP。此方法不帶任何參數(shù),將返回IP地址
Serial.println(WiFi.softAPIP());
下面可以看到這個ESP32教程的最終源代碼。它包括所有先前分析的代碼和一些額外的打印件,以使輸出更易于閱讀
參考:https://blog.csdn.net/Naisu_kun/article/details/86165403?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161754020016780261990278%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=161754020016780261990278&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allbaidu_landing_v2~default-1-86165403.pc_search_result_no_baidu_js&utm_term=esp32wifiarduino
以及
https://blog.csdn.net/solar_Lan/article/details/80049915
2.連接網(wǎng)絡(luò)(STA)
需要兩步:1.引用WiFi庫#include<WiFi.h>
2.連接到網(wǎng)絡(luò)WiFi.begin(ssid,password);
將下面代碼上傳到模塊中:
#include <WiFi.h>const char *ssid = "********"; //你的網(wǎng)絡(luò)名稱 const char *password = "********"; //你的網(wǎng)絡(luò)密碼void setup() {Serial.begin(115200);Serial.println();WiFi.begin(ssid, password); //連接網(wǎng)絡(luò)while (WiFi.status() != WL_CONNECTED) //等待網(wǎng)絡(luò)連接成功{delay(500);Serial.print(".");}Serial.println("WiFi connected!");Serial.println("IP address: ");Serial.println(WiFi.localIP()); //打印模塊IP }void loop() { }總結(jié)
以上是生活随笔為你收集整理的使用Arduino开发ESP32:wifi基本功能使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ppt快捷键大全(ppt常用快捷键大全)
- 下一篇: 手机微博怎么发微博