Daftar Isi:

ESP8266 dan ESP32 Dengan WiFiManager: 10 Langkah
ESP8266 dan ESP32 Dengan WiFiManager: 10 Langkah

Video: ESP8266 dan ESP32 Dengan WiFiManager: 10 Langkah

Video: ESP8266 dan ESP32 Dengan WiFiManager: 10 Langkah
Video: Ubah Config Wireless Tanpa Coding - ESP8266 dan ESP32 WiFi Manager - AutoConnected 2024, November
Anonim
Image
Image
PINOUT
PINOUT

Apakah Anda akrab dengan WiFiManager? Ini adalah perpustakaan yang berfungsi sebagai manajer koneksi nirkabel, dan dengan itu, kami memiliki cara yang lebih mudah untuk mengonfigurasi Titik Akses dan Stasiun. Saya telah menerima beberapa saran untuk membahas topik ini; jadi hari ini saya akan memperkenalkan Anda ke perpustakaan ini dan fungsinya. Saya juga akan mendemonstrasikan penggunaannya dengan ESP32 dan ESP8266.

Langkah 1: PINOUT

PINOUT
PINOUT

Berikut saya tampilkan PINOUT dari kedua perangkat yang akan kita gunakan:

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

Langkah 2: Manajer WiFi

WiFiManager benar-benar tidak lebih dari perpustakaan yang ditulis di atas WiFi.h untuk manajemen koneksi nirkabel yang mudah. Ingatlah bahwa dengan itu, kami memiliki fasilitas yang lebih besar untuk mengonfigurasi Titik Akses dan Stasiun. Untuk mode Stasiun, kami mengkonfigurasi melalui portal di browser.

Beberapa fitur:

• Tergantung pada konektivitas otomatis

• Inisialisasi portal konfigurasi non-otomatis

• Beroperasi secara selektif dalam mode ganda

Langkah 3: Cara Kerjanya

Bagaimana itu bekerja
Bagaimana itu bekerja
Bagaimana itu bekerja
Bagaimana itu bekerja

ESP akan memulai portal konfigurasi WiFi saat terhubung dan akan menyimpan data konfigurasi ke memori non-volatil. Selanjutnya, portal konfigurasi hanya akan mulai lagi jika tombol di modul ESP ditekan.

Di sini Anda dapat memeriksa alur konfigurasi dan mengikuti langkah demi langkah ini:

1. Menggunakan perangkat berkemampuan WiFi apa pun dengan browser, sambungkan ke titik akses yang baru dibuat dan masukkan alamat 192.168.4.1.

2. Di layar Anda akan memiliki dua opsi untuk terhubung ke jaringan yang ada:

• Konfigurasikan WiFi

• Konfigurasi WiFi (Tanpa Pemindaian)

3. Pilih salah satu jaringan dan masukkan kata sandi (jika diperlukan). Kemudian simpan dan tunggu ESP restart.

4. Di akhir boot, ESP mencoba menyambung ke jaringan yang disimpan. Jika Anda tidak dapat melakukan ini, Anda akan mengaktifkan Access Point.

Langkah 4: Perpustakaan

Perpustakaan
Perpustakaan

Tambahkan perpustakaan "WifiManager-ESP32".

Buka https://github.com/zhouhan0126/WIFIMANAGER-ESP32 dan unduh perpustakaan.

Buka zip file dan tempel ke folder perpustakaan Arduino IDE.

C: / Program Files (x86) / Arduino / perpustakaan

Tambahkan perpustakaan "DNSServer-ESP32".

Buka tautan https://github.com/zhouhan0126/DNSServer---esp32 dan unduh perpustakaan.

Buka zip file dan tempel ke folder perpustakaan Arduino IDE.

C: / Program Files (x86) / Arduino / perpustakaan

Tambahkan perpustakaan "WebServer-ESP32".

Buka tautan https://github.com/zhouhan0126/WebServer-esp32 dan unduh perpustakaannya.

Buka zip file dan tempel ke folder perpustakaan Arduino IDE.

C: / Program Files (x86) / Arduino / perpustakaan

Catatan:

Pustaka WiFiManager-ESP32 sudah memiliki pengaturan yang bekerja dengan ESP8266, jadi kami hanya akan menggunakan ini, bukan dua lib WiFiManager (satu untuk setiap jenis chip).

Seperti yang akan kita lihat nanti, ESP8266WiFi dan ESP8266WebServer adalah library yang tidak perlu kita download, karena sudah ada saat kita menginstal ESP8266 di Arduino IDE.

Langkah 5: Fungsi

Fungsi
Fungsi
Fungsi
Fungsi
Fungsi
Fungsi

Berikut adalah beberapa fungsi yang ditawarkan WiFiManager kepada kami.

1. AutoConnect

Fungsi autoConnect bertanggung jawab untuk membuat Access Point. Kita dapat menggunakannya dalam tiga cara.

• autoConnect ("nama jaringan", "sandi"); - membuat jaringan dengan nama dan kata sandi yang ditentukan.

• autoConnect ("nama jaringan"); - membuat jaringan terbuka dengan nama yang ditentukan.

• AutoConnect(); - membuat jaringan terbuka dan bernama otomatis dengan nama 'ESP' + chipID.

2. startConfigPortal

Fungsi startConfigPortal bertanggung jawab untuk membuat Access Point tanpa mencoba menyambung ke jaringan yang disimpan sebelumnya.

• startConfigPortal ("nama jaringan", "sandi"); - membuat jaringan dengan nama dan kata sandi yang ditentukan.

• startConfigPortal (); - membuat jaringan terbuka dan bernama otomatis dengan nama 'ESP' + chipID.

3. getConfigPortalSSID

Mengembalikan SSID portal (Access Point)

4. dapatkanSSID

Ini mengembalikan SSID jaringan yang terhubung.

5. dapatkanPassword

Ini mengembalikan kata sandi jaringan yang terhubung.

6. setDebugOutput

Fungsi setDebugOutput bertanggung jawab untuk mencetak pesan debug pada monitor serial. Pesan-pesan ini sudah ditentukan di perpustakaan. Saat Anda menelusuri fungsi, data akan dicetak.

Secara default, fungsi ini diatur ke TRUE. Jika Anda ingin menonaktifkan pesan, cukup atur fungsi ke FALSE.

7. aturKualitas Sinyal Minimum

Fungsi setMinimumSignalQuality bertanggung jawab untuk memfilter jaringan berdasarkan kualitas sinyal. Secara default, WiFiManager tidak akan menampilkan jaringan masuk di bawah 8%.

8. setRemoveDuplicateAPs

Fungsi setRemoveDuplicateAPs bertanggung jawab untuk menghapus duplikat jaringan.

Secara default sudah diatur ke TRUE.

9. setAPStaticIPConfig

Fungsi setAPStaticIPConfig bertanggung jawab untuk mengatur pengaturan alamat statis saat dalam mode titik akses.

(IP, GATEWAY, SUBNET)

10. setSTAStaticIPConfig

Fungsi setSTAStaticIPConfig bertanggung jawab untuk mengatur pengaturan alamat statis saat dalam mode stasiun.

(IP, GATEWAY, SUBNET)

Anda harus menambahkan perintah sebelum autoConnect!!!

11. setAPCallback

Fungsi setAPCallback bertanggung jawab untuk memberi tahu Anda bahwa mode AP telah dimulai.

Parameter adalah fungsi yang harus dibuat untuk menunjukkannya sebagai panggilan balik;

12. setSaveConfigCallback

Fungsi setSaveConfigCallback bertanggung jawab untuk memberi tahu Anda bahwa konfigurasi baru telah disimpan dan koneksi telah berhasil diselesaikan.

Parameter adalah fungsi untuk membuat dan menunjukkan ini sebagai allback.

Anda harus menambahkan perintah sebelum autoConnect !!!

Langkah 6: Perakitan

perakitan
perakitan

Contoh

Dalam contoh kita, kita akan membuat Access Point dengan ESP (kode akan melayani ESP8266 dan ESP32). Setelah AP dibuat, kita akan mengakses portal melalui IP 192.168.4.1 (yang merupakan default untuk mengaksesnya). Jadi mari kita dapatkan jaringan yang tersedia, pilih salah satu dan simpan. Dari sana, ESP akan memulai ulang dan mencoba menyambungkannya, dan kemudian akan berfungsi sebagai stasiun dan tidak lagi sebagai Titik Akses.

Setelah memasuki mode stasiun, Anda dapat membuat ESP kembali ke mode Titik Akses hanya melalui tombol.

Langkah 7: Kode

Perpustakaan

Pertama mari kita definisikan library yang akan kita gunakan.

Perhatikan bahwa kita memiliki perintah #if, #else, dan #endif. Mereka bersyarat untuk menyertakan perpustakaan yang diperlukan yang berkaitan dengan chip. Bagian ini sangat penting untuk menjalankan kode yang sama pada ESP8266 dan ESP32.

#jika ditentukan(ESP8266)

#include //ESP8266 Core WiFi Library #else #include //ESP32 Core WiFi Library #endif

#jika ditentukan(ESP8266)

#include //Server Web Lokal digunakan untuk melayani portal konfigurasi

#lain

#include //Server DNS Lokal yang digunakan untuk mengarahkan semua permintaan ke portal konfigurasi (https://github.com/zhouhan0126/DNSServer---esp32)

#berakhir jika

#include //Server Web Lokal yang digunakan untuk melayani portal konfigurasi (https://github.com/zhouhan0126/DNSServer---esp32) #include // Sihir Konfigurasi WiFi (https://github.com/zhouhan0126/DNSServer-- -esp32) >> https://github.com/zhouhan0126/DNSServer---esp32 (ASLI)

Langkah 8: Pengaturan

Dalam pengaturan, kami mengonfigurasi WiFiManager kami dengan cara yang paling sederhana. Mari kita definisikan callback dan buat jaringan.

const int PIN_AP = 2;

void setup() { Serial.begin(9600); pinMode(PIN_AP, INPUT); //deklarasikan untuk melakukan objeto wifiManager WiFiManager wifiManager;

//utilizando esse comando, as configurações são apagadas da memoria //caso tiver salvo alguma rede para conectar automaticamente, ela é apagada. // wifiManager.resetSettings(); //callback untuk quando entra em modo de configuração AP wifiManager.setAPCallback(configModeCallback); //panggilan balik untuk terhubung ke koneksi yang lebih baik, atau seja, lalu lintas dan pengaturan wifiManager.setSaveConfigCallback(saveConfigCallback); //cria uma rede de nome ESP_AP com senha 12345678 wifiManager.autoConnect("ESP_AP", "12345678"); }

Langkah 9: Putaran

Dalam loop, kita akan membaca pin tombol untuk melihat apakah telah ditekan, dan kemudian kita akan memanggil metode untuk mengaktifkan kembali mode AP.

lingkaran kosong() {

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"); penundaan(2000); ESP.mulai ulang(); penundaan (1000); } Serial.println("Conectou ESP_AP!!!"); }

Saat Anda menekan tombol tersebut, ESP akan keluar dari mode Station dan membuka Access Point dan portal Anda.

Ingat bahwa kita tidak menggunakan perintah resetSettings(). Pengaturan masih disimpan untuk saat ESP melakukan booting berikutnya.

Langkah 10: Panggilan balik

Fungsi panggilan balik, yang terkait dengan peristiwa, berfungsi agar Anda memiliki momen operasi yang tepat, dalam kasus kami, memasuki mode AP dan mode Stasiun. Kami kemudian dapat menerapkan beberapa rutinitas yang diinginkan, seperti mengambil SSID dari jaringan yang terhubung, misalnya.

//callback que indica que o ESP tanpa modo AP

void configModeCallback (WiFiManager *myWiFiManager) { // Serial.println("Masuk mode konfigurasi"); Serial.println("Entrou no modo de configuração"); Serial.println(WiFi.softAPIP()); //imprime o IP lakukan AP Serial.println(myWiFiManager->getConfigPortalSSID()); //imprime o SSID criado da rede

}

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

void saveConfigCallback() { // Serial.println("Harus menyimpan konfigurasi"); Serial.println("Konfigurasi salva"); Serial.println(WiFi.softAPIP()); //imprime o IP lakukan AP }

Direkomendasikan: