Chế Độ WiFi Station Là Gì?
Thiết bị kết nối vào mạng WIFI được gọi là station (trạm).
Cách Kết Nối ESP8266 Vào 1 Điểm Truy Cập Wifi
Ta Cần Thiết Lập ssid và password, để module có thể kết nối
đến một điểm phát wifi (AP) cụ thể
WiFi.begin(ssid, password)
Theo mặc định, ESP sẽ cố kết nối lại đến mạng WiFi sau khi
bị ngắt kết nối. Do đó chúng ta không cần phải xử lý việc này trong code.
Bật Esp8266 ở Chế độ STA (trạm)
WiFi.mode(WIFI_STA)
Reconnect Kết nối lại Wifi
WiFi.reconnect()
Điều này được thực hiện bằng cách ngắt kết nối sau đó thiết
lập kết nối lại đến cùng một điểm truy cập.
Disconnect Ngắt Kết nối Với Wifi
WiFi.disconnect(wifioff)
Thiết lập cấu hình ssid
và password thành null và thực hiện ngắt kết nối đến điểm
truy cập.
Đối số wifioff
là tham số tùy chọn kiểu boolean, nếu là true thì chế độ trạm (station mode) sẽ
bị tắt.
isConnected kiểm tra kết nối wifi
WiFi.isConnected()
Trả về true nếu Station kết nối với một điểm truy cập hoặc
false nếu không.
WiFi.status() Chuẩn Đoán Wifi
WiFi.status()
Hàm này trả về các mã sau để mô tả những gì đang xảy ra với
kết nối Wi-Fi
WL_CONNECTED: được chỉ định
khi được kết nối với mạng WiFi ;
WL_NO_SHIELD: được chỉ định
khi không có lá chắn WiFi;
WL_IDLE_STATUS: đó là trạng
thái tạm thời được chỉ định khi WiFi.begin () được gọi và vẫn hoạt động cho đến
khi số lần thử hết hạn (kết quả là WL_CONNECT_FAILED) hoặc kết nối được thiết lập
(kết quả là WL_CONNECTED);
WL_NO_SSID_AVAIL: được chỉ định
khi không có SSID;
WL_SCAN_COMPLETED: được chỉ định
khi hoàn thành các mạng quét;
WL_CONNECT_FAILED: được chỉ định
khi kết nối không thành công cho tất cả các lần thử;
WL_CONNECTION_LOST: được chỉ định
khi mất kết nối;
WL_DISCONNECTED: được chỉ định
khi ngắt kết nối mạng;
printDiag in thông tin chẩn đoán Wi-Fi chính
WiFi.printDiag(Serial);
Có một chức năng cụ thể có sẵn để in thông tin chẩn đoán
Wi-Fi chính:
localIP Lấy Địa Chỉ IP
WiFi.localIP()
Lấy Địa Chỉ IP Truy Cập của Esp8266
macAddress Lấy Mac Của ESP8266
WiFi.macAddress()
Chương Trình Kết Nối Wifi Ở Chế Độ STA
Mở Lên Bằng Arduino IDE
/* Chế Độ STA
* LePan
*/
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
ESP8266WebServer server(80);
WiFiClient wifiClient;
const char* ssid="HomeSmart"; //viết têm wifi muốn truy cập
const char* password="098847474567";
String webSite;
void handleWebsite(){
webSite = "Trợ Lý Bài Giảng";
server.send(200,"text/html",webSite);
}
void setup() {
Serial.begin(9600);
Serial.print("Kết Nối Tới ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
// Print local IP address and start web server
Serial.println("");
Serial.println("Đã Kết Nối Wifi.");
Serial.println("Địa Chỉ IP là: ");
Serial.println(WiFi.localIP());
Serial.println("Chuẩn Đoán Wifi");
WiFi.printDiag(Serial);
server.on("/",handleWebsite);
server.begin();
}
void loop() {
server.handleClient();
}
Chế Độ STA Esp8266 |
Chế Độ Access Point là gì
Một điểm truy cập (AP) là một thiết bị cung cấp quyền truy
cập vào mạng Wi-Fi với các thiết bị khác
Nếu Nó không kết nối với một mạng nào đó thì đó là chế độ
hoạt động soft-AP.
Số lượng trạm tối đa kết nối với soft-AP là 5
Cách Tạo Một Điểm Truy Cập AP Bằng Esp8266
Ta Cần Thiết Lập myssid và mypassword, để module có thể tạo
ra một điểm phát wifi
WiFi.softAP(myssid,mypassword)
Nếu bỏ trống Mypassword thì điểm phát wifi không có mật khẩu
Bật Chế Độ AP Cho Esp8266
WiFi.mode(WIFI_AP);
softAPgetStationNum
WiFi.softAPgetStationNum()
Lấy số lượng các thiết bị station kết nối đến softAP
softAPdisconnect ngắt kết nối các thiết bị kế nối
WiFi.softAPdisconnect(wifioff)
Chức năng sẽ thiết lập cấu hình SSID và password của
soft-AP giá trị là null. Tham số wifioff là tùy chọn. Nếu thiết lập là true nó
sẽ tắt chế độ soft-AP.
Trả về true nếu hoạt động đã thành công, false nếu không.
softAPIP lấy Ip Của Mạng AP
WiFi.softAPIP()
softAPmacAddress Lấy Địa Chỉ Mac Của AP
WiFi.softAPmacAddress()
Chương Trình Tạo Điểm Truy Cập AP Cho Esp8266
Mở Lên Bằng Arduino IDE
/* Chế Độ Ap
* LePan
*/
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
ESP8266WebServer server(80);
WiFiClient wifiClient;
const char* myssid="TroLyBaiGiang"; //viết têm wifi muốn truy cập
const char* mypassword=""; // để trống nếu không muốn có mật Khẩu
String webSite;
void handleWebsite(){
webSite = "Trợ Lý Bài Giảng";
server.send(200,"text/html",webSite);
}
void setup() {
Serial.begin(9600);
Serial.print("Tạo Điểm Tru Cập ");
Serial.println(myssid);
WiFi.mode(WIFI_AP);
WiFi.softAP(myssid,mypassword);
delay(5000);
// Print local IP address and start web server
Serial.println("");
Serial.println("Địa Chỉ IP là: ");
Serial.println(WiFi.localIP());
Serial.println("Chuẩn Đoán Wifi");
WiFi.printDiag(Serial);
server.on("/",handleWebsite);
server.begin();
}
void loop() {
server.handleClient();
}
Chế Độ AP Esp8266 |
Cách Bật 2 Chế Độ AP Và STA Song Song
Ta Cần Thiết Lập SSID
và password, để module có thể kết nối
đến một điểm phát wifi (AP) cụ thể và Thiết Lập MySSID và Mypassword, để
module có thể tạo ra một điểm phát wifi
Bật Chế Độ STA Và Ap
WiFi.mode(WIFI_AP_STA);
Tạo Điểm Truy Cập
WiFi.softAP(MySSID,Mypassword)
Tạo Kết Nối Tới Mạng Wifi
WiFi.begin(ssid, password)
Chương Trình Chạy 2 Chế Độ Ap Và STA Song Song
Mở Lên Bằng Arduino IDE
/* Chế Độ Ap STA
* LePan
*/
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
ESP8266WebServer server(80);
WiFiClient wifiClient;
const char* myssid="TroLyBaiGiang"; //viết têm wifi muốn truy cập
const char* mypassword=""; // để trống nếu không muốn có mật Khẩu
const char* ssid="HomeSmart"; //viết têm wifi muốn truy cập
const char* password="098847474567";
String webSite;
void handleWebsite(){
webSite = "Trợ Lý Bài Giảng";
server.send(200,"text/html",webSite);
}
void setup() {
Serial.begin(9600);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.print("Tạo Chế Độ STA Và Ap ");
WiFi.mode(WIFI_AP_STA);
WiFi.softAP(myssid,mypassword);
delay(5000);
// Print local IP address and start web server
Serial.println("");
Serial.println("Địa Chỉ IP là: ");
Serial.println(WiFi.localIP());
Serial.println("Chuẩn Đoán Wifi");
WiFi.printDiag(Serial);
server.on("/",handleWebsite);
server.begin();
}
void loop() {
server.handleClient();
} delay(1000); // delay1s
}
Chế Độ AP và STA Esp8266 |
Cảm ơn bạn đã xem bài viết. chúc bạn thành công
Có thắc mắc hay sai sót gì các bạn để dưới bình luận nhá
0 Nhận xét