Mục lục:

ESP8266 và ESP32 Với WiFiManager: 10 bước
ESP8266 và ESP32 Với WiFiManager: 10 bước

Video: ESP8266 và ESP32 Với WiFiManager: 10 bước

Video: ESP8266 và ESP32 Với WiFiManager: 10 bước
Video: [Lập trình ESP32]Bài 5 - Thiết lập chức năng thu phát wifi trên KIT ESP32 2024, Tháng bảy
Anonim
Image
Image
KHOẢNG CÁCH
KHOẢNG CÁCH

Bạn có quen thuộc với WiFiManager? Đây là một thư viện đóng vai trò như một trình quản lý kết nối không dây và với nó, chúng tôi có một cách dễ dàng hơn để định cấu hình cả Điểm truy cập và Trạm. Tôi đã nhận được một số gợi ý để thảo luận về chủ đề này; vì vậy hôm nay mình sẽ giới thiệu với các bạn về thư viện này và các chức năng của nó. Tôi cũng sẽ trình diễn việc sử dụng nó với cả ESP32 và ESP8266.

Bước 1: BẬT MÍ

KHOẢNG CÁCH
KHOẢNG CÁCH

Ở đây tôi hiển thị mã PINOUT của hai thiết bị mà chúng tôi sẽ sử dụng:

  • NodeMCU ESP-12E
  • NodeMCU ESP-WROOM-32

Bước 2: WiFiManager

WiFiManager thực sự không hơn gì một thư viện được viết trên trang WiFi.h để dễ dàng quản lý các kết nối không dây. Hãy nhớ rằng với nó, chúng ta có một cơ sở lớn hơn để định cấu hình cả Điểm truy cập và Trạm. Đối với chế độ Trạm, chúng tôi định cấu hình thông qua một cổng thông tin trong trình duyệt.

Một số tính năng:

• Nó phụ thuộc vào kết nối tự động

• Khởi tạo cổng cấu hình không tự động

• Hoạt động có chọn lọc ở chế độ kép

Bước 3: Cách thức hoạt động

Làm thế nào nó hoạt động
Làm thế nào nó hoạt động
Làm thế nào nó hoạt động
Làm thế nào nó hoạt động

ESP sẽ khởi tạo cổng cấu hình WiFi khi được kết nối và sẽ lưu dữ liệu cấu hình vào bộ nhớ không thay đổi. Sau đó, cổng cấu hình sẽ chỉ bắt đầu lại nếu một nút được nhấn trong mô-đun ESP.

Tại đây, bạn có thể kiểm tra quy trình cấu hình và làm theo từng bước sau:

1. Sử dụng bất kỳ thiết bị hỗ trợ WiFi nào có trình duyệt, kết nối với điểm truy cập mới được tạo và nhập địa chỉ 192.168.4.1.

2. Trên màn hình, bạn sẽ có hai tùy chọn để kết nối với mạng hiện có:

• Định cấu hình WiFi

• Định cấu hình WiFi (Không quét)

3. Chọn một trong các mạng và nhập mật khẩu (nếu cần). Sau đó lưu và đợi ESP khởi động lại.

4. Khi kết thúc khởi động, ESP cố gắng kết nối với mạng đã lưu. Nếu bạn không thể làm điều này, bạn sẽ bật một Điểm truy cập.

Bước 4: Thư viện

Thư viện
Thư viện

Thêm thư viện "WifiManager-ESP32".

Truy cập https://github.com/zhouhan0126/WIFIMANAGER-ESP32 và tải xuống thư viện.

Giải nén tệp và dán vào thư mục thư viện của Arduino IDE.

C: / Tệp chương trình (x86) / Arduino / thư viện

Thêm thư viện "DNSServer-ESP32".

Truy cập liên kết https://github.com/zhouhan0126/DNSServer---esp32 và tải xuống thư viện.

Giải nén tệp và dán vào thư mục thư viện của Arduino IDE.

C: / Tệp chương trình (x86) / Arduino / thư viện

Thêm thư viện "WebServer-ESP32".

Truy cập liên kết https://github.com/zhouhan0126/WebServer-esp32 và tải xuống thư viện.

Giải nén tệp và dán vào thư mục thư viện của Arduino IDE.

C: / Tệp chương trình (x86) / Arduino / thư viện

Ghi chú:

Thư viện WiFiManager-ESP32 đã có cài đặt hoạt động với ESP8266, vì vậy chúng tôi sẽ chỉ sử dụng điều này, thay vì hai lib WiFiManager (một lib cho mỗi loại chip).

Như chúng ta sẽ thấy ở phần sau, ESP8266WiFi và ESP8266WebServer là những thư viện mà chúng ta không cần tải xuống, vì chúng đã có sẵn khi chúng ta cài đặt ESP8266 trong Arduino IDE.

Bước 5: Chức năng

Chức năng
Chức năng
Chức năng
Chức năng
Chức năng
Chức năng

Dưới đây là một số chức năng mà WiFiManager cung cấp cho chúng ta.

1. autoConnect

Chức năng autoConnect chịu trách nhiệm tạo một Access Point. Chúng ta có thể sử dụng nó theo ba cách.

• autoConnect ("tên mạng", "mật khẩu"); - Tạo một mạng với tên và mật khẩu đã xác định.

• autoConnect ("tên mạng"); - tạo một mạng mở với tên đã xác định.

• tự động kết nối (); - tạo một mạng mở và được đặt tên tự động với tên là 'ESP' + chipID.

2. startConfigPortal

Hàm startConfigPortal chịu trách nhiệm tạo một Điểm truy cập mà không cố gắng kết nối với mạng đã lưu trước đó.

• startConfigPortal ("tên mạng", "mật khẩu"); - Tạo một mạng với tên và mật khẩu đã xác định.

• startConfigPortal (); - tạo một mạng mở và được đặt tên tự động với tên là 'ESP' + chipID.

3. getConfigPortalSSID

Trả về SSID của cổng (Điểm truy cập)

4. getSSID

Điều này trả về SSID của mạng mà nó được kết nối.

5. getPassword

Thao tác này trả về mật khẩu của mạng mà nó được kết nối.

6. setDebugOutput

Hàm setDebugOutput chịu trách nhiệm in các thông báo gỡ lỗi trên màn hình nối tiếp. Những thông báo này đã được xác định trong thư viện. Khi bạn đi qua các chức năng, dữ liệu sẽ được in ra.

Theo mặc định, chức năng này được đặt thành TRUE. Nếu bạn muốn vô hiệu hóa các thông báo, chỉ cần đặt chức năng thành FALSE.

7. setMinimumSignalQuality

Hàm setMinimumSignalQuality chịu trách nhiệm lọc mạng dựa trên chất lượng tín hiệu. Theo mặc định, WiFiManager sẽ không hiển thị các mạng đăng nhập dưới 8%.

8. setRemoveDuplicateAPs

Hàm setRemoveDuplicateAPs chịu trách nhiệm loại bỏ các bản sao mạng.

Theo mặc định, nó được đặt thành TRUE.

9. setAPStaticIPConfig

Hàm setAPStaticIPConfig chịu trách nhiệm thiết lập cài đặt địa chỉ tĩnh khi ở chế độ điểm truy cập.

(IP, GATEWAY, SUBNET)

10. setSTAStaticIPConfig

Hàm setSTAStaticIPConfig chịu trách nhiệm thiết lập cài đặt địa chỉ tĩnh khi ở chế độ trạm.

(IP, GATEWAY, SUBNET)

Bạn phải thêm lệnh trước khi kết nối tự động !!!

11. setAPCallback

Hàm setAPCallback chịu trách nhiệm thông báo cho bạn rằng chế độ AP đã bắt đầu.

Tham số là một hàm phải được tạo để chỉ ra nó như một cuộc gọi lại;

12. setSaveConfigCallback

Hàm setSaveConfigCallback có nhiệm vụ thông báo cho bạn rằng một cấu hình mới đã được lưu và kết nối đã được hoàn tất thành công.

Tham số là một hàm để tạo và cho biết đây là một phương thức phản hồi.

Bạn phải thêm lệnh trước khi kết nối tự động !!!

Bước 6: Lắp ráp

cuộc họp
cuộc họp

Thí dụ

Trong ví dụ của chúng tôi, chúng tôi sẽ tạo một Điểm truy cập với ESP (mã sẽ phục vụ cả ESP8266 và ESP32). Sau khi tạo AP, chúng ta sẽ truy cập vào cổng thông qua IP 192.168.4.1 (là mặc định để truy cập nó). Vì vậy, hãy lấy các mạng có sẵn, chọn một mạng và lưu. Từ đó, ESP sẽ khởi động lại và cố gắng kết nối với nó, sau đó nó sẽ hoạt động như một trạm và không còn là một Access Point nữa.

Sau khi vào chế độ ga, bạn có thể làm cho ESP trở về chế độ Điểm truy cập chỉ thông qua nút.

Bước 7: Mã

Thư viện

Đầu tiên, hãy xác định các thư viện mà chúng ta sẽ sử dụng.

Lưu ý rằng chúng ta có các lệnh #if đã định nghĩa, #else và #endif. Chúng có điều kiện để bao gồm các thư viện cần thiết liên quan đến chip. Phần này cực kỳ quan trọng để chạy cùng một đoạn mã trên cả ESP8266 và ESP32.

#if được xác định (ESP8266)

#include // Thư viện WiFi lõi ESP8266 #else #include // Thư viện WiFi lõi ESP32 #endif

#if được xác định (ESP8266)

#include // Máy chủ Web cục bộ được sử dụng để cung cấp cổng cấu hình

#khác

#include // Máy chủ DNS cục bộ được sử dụng để chuyển hướng tất cả các yêu cầu đến cổng cấu hình (https://github.com/zhouhan0126/DNSServer---esp32)

#endif

#include // Local WebServer được sử dụng để cung cấp cổng cấu hình (https://github.com/zhouhan0126/DNSServer---esp32) #include // WiFi Configuration Magic (https://github.com/zhouhan0126/DNSServer-- -esp32) >> https://github.com/zhouhan0126/DNSServer---esp32 (GỐC)

Bước 8: Thiết lập

Trong quá trình thiết lập, chúng tôi đang định cấu hình WiFiManager của mình theo cách đơn giản nhất. Hãy chỉ định nghĩa các lệnh gọi lại và tạo mạng.

const int PIN_AP = 2;

void setup () {Serial.begin (9600); pinMode (PIN_AP, INPUT); // statementaração do objeto wifiManager WiFiManager wifiManager;

// useizando esse comando, as configurações são apagadas da memória // caso tiver salvo alguma red para conectar automaticamente, ela é apagada. // wifiManager.resetSettings (); // callback para quando entra em modo de configuração AP wifiManager.setAPCallback (configModeCallback); // callback para quando se conecta em uma red, ou seja, quando passa a trabalhar em modo estação wifiManager.setSaveConfigCallback (saveConfigCallback); // cria uma red de nome ESP_AP com senha 12345678 wifiManager.autoConnect ("ESP_AP", "12345678"); }

Bước 9: Vòng lặp

Trong vòng lặp, chúng tôi sẽ đọc pin của nút để xem nó đã được nhấn hay chưa, và sau đó chúng tôi sẽ gọi phương thức để bật lại chế độ AP.

void loop () {

WiFiManager wifiManager; // se o botão foi pressionado if (digitalRead (PIN_AP) == HIGH) {Serial.println ("resetar"); // tenta abrir o portal if (! wifiManager.startConfigPortal ("ESP_AP", "12345678")) {Serial.println ("Falha ao conectar"); chậm trễ (2000); ESP.restart (); chậm trễ (1000); } Serial.println ("Conectou ESP_AP !!!"); }

Khi bạn nhấn nút, ESP sẽ thoát khỏi chế độ Trạm và mở Điểm truy cập và cổng thông tin của bạn.

Hãy nhớ rằng chúng tôi không sử dụng lệnh resetSettings (). Các cài đặt vẫn được lưu cho lần khởi động ESP tiếp theo.

Bước 10: Gọi lại

Các chức năng gọi lại, được liên kết với các sự kiện, giúp bạn có thời điểm chính xác của một hoạt động, trong trường hợp của chúng tôi, vào chế độ AP và chế độ Trạm. Sau đó, chúng tôi có thể thực hiện một số quy trình mong muốn, chẳng hạn như truy xuất SSID từ mạng được kết nối chẳng hạn.

// callback que indica que o ESP entrou no modo AP

void configModeCallback (WiFiManager * myWiFiManager) {// Serial.println ("Đã nhập chế độ cấu hình"); Serial.println ("Entrou no modo de configuração"); Serial.println (WiFi.softAPIP ()); // printme o IP do AP Serial.println (myWiFiManager-> getConfigPortalSSID ()); // printme o SSID criado da red

}

// callback que indica que salvamos uma nova red para se conectar (modo estação)

void saveConfigCallback () {// Serial.println ("Nên lưu cấu hình"); Serial.println ("Configuração salva"); Serial.println (WiFi.softAPIP ()); // in dấu vào IP do AP}

Đề xuất: