Subscribe Us

header ads

Bài 9. Hưỡng Dẫn Tự Học ESP8266 Chế Độ STA Và AP Trên ESP8266


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 ssidpassword 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 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 SSIDpassword, để module có thể kết nối đến một điểm phát wifi (AP) cụ thể và Thiết Lập MySSIDMypassword, để 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á

Đăng nhận xét

0 Nhận xét