Turinys:
- 1 žingsnis: PINOUT
- 2 veiksmas: „WiFiManager“
- 3 žingsnis: kaip tai veikia
- 4 žingsnis: bibliotekos
- 5 žingsnis: Funkcijos
- 6 žingsnis: Surinkimas
- 7 žingsnis: kodas
- 8 veiksmas: sąranka
- 9 žingsnis: ciklas
- 10 veiksmas: atgaliniai skambučiai
Video: ESP8266 ir ESP32 Su „WiFiManager“: 10 žingsnių
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Ar esate susipažinęs su „WiFiManager“? Tai biblioteka, kuri tarnauja kaip belaidžio ryšio valdytojas, ir su ja turime paprastesnį būdą sukonfigūruoti tiek prieigos tašką, tiek stotį. Gavau keletą pasiūlymų aptarti šią temą; todėl šiandien supažindinsiu jus su šia biblioteka ir jos funkcijomis. Taip pat parodysiu jo naudojimą tiek su ESP32, tiek su ESP8266.
1 žingsnis: PINOUT
Čia parodysiu dviejų įrenginių, kuriuos naudosime, PINOUT:
- NodeMCU ESP-12E
- „NodeMCU ESP-WROOM-32“
2 veiksmas: „WiFiManager“
„WiFiManager“iš tikrųjų yra ne kas kita, kaip biblioteka, parašyta ant „WiFi.h“, kad būtų galima lengvai valdyti belaidžius ryšius. Atminkite, kad su juo mes turime daugiau galimybių konfigūruoti tiek prieigos tašką, tiek stotį. Stoties režimui mes konfigūruojame per naršyklės portalą.
Kai kurios funkcijos:
• Tai priklauso nuo automatinio ryšio
• Neautomatinio konfigūravimo portalo inicijavimas
• Veikia selektyviai dvigubu režimu
3 žingsnis: kaip tai veikia
ESP inicijuos „WiFi“konfigūracijos portalą, kai bus prijungtas, ir išsaugos konfigūracijos duomenis į nepastovią atmintį. Vėliau konfigūracijos portalas vėl prasidės tik tada, jei ESP modulyje bus paspaustas mygtukas.
Čia galite patikrinti konfigūracijos srautą ir žingsnis po žingsnio atlikti šiuos veiksmus:
1. Naudodami bet kurį „WiFi“įrenginį su naršykle, prisijunkite prie naujai sukurto prieigos taško ir įveskite adresą 192.168.4.1.
2. Ekrane turėsite dvi galimybes prisijungti prie esamo tinklo:
• Konfigūruoti „WiFi“
• Konfigūruoti „WiFi“(be nuskaitymo)
3. Pasirinkite vieną iš tinklų ir įveskite slaptažodį (jei reikia). Tada išsaugokite ir palaukite, kol ESP bus paleistas iš naujo.
4. Įkrovos pabaigoje ESP bando prisijungti prie išsaugoto tinklo. Jei negalite to padaryti, įgalinsite prieigos tašką.
4 žingsnis: bibliotekos
Pridėkite biblioteką „WifiManager-ESP32“.
Eikite į https://github.com/zhouhan0126/WIFIMANAGER-ESP32 ir atsisiųskite biblioteką.
Išpakuokite failą ir įklijuokite jį į „Arduino IDE“bibliotekų aplanką.
C: / Programos failai (x86) / „Arduino“/ bibliotekos
Pridėkite biblioteką „DNSServer-ESP32“.
Eikite į https://github.com/zhouhan0126/DNSServer---esp32 nuorodą ir atsisiųskite biblioteką.
Išpakuokite failą ir įklijuokite jį į „Arduino IDE“bibliotekų aplanką.
C: / Programos failai (x86) / „Arduino“/ bibliotekos
Pridėkite biblioteką „WebServer-ESP32“.
Eikite į https://github.com/zhouhan0126/WebServer-esp32 nuorodą ir atsisiųskite biblioteką.
Išpakuokite failą ir įklijuokite jį į „Arduino IDE“bibliotekų aplanką.
C: / Programos failai (x86) / „Arduino“/ bibliotekos
Pastaba:
„WiFiManager-ESP32“bibliotekoje jau yra nustatymai, kurie veikia su ESP8266, todėl naudosime tik tai, o ne dvi „WiFiManager“libs (po vieną kiekvienam lusto tipui).
Kaip pamatysime vėliau, „ESP8266WiFi“ir „ESP8266WebServer“yra bibliotekos, kurių mums nereikia atsisiųsti, nes jos jau yra, kai įdiegiame ESP8266 į „Arduino IDE“.
5 žingsnis: Funkcijos
Štai keletas „WiFiManager“siūlomų funkcijų.
1. „AutoConnect“
„AutoConnect“funkcija yra atsakinga už prieigos taško sukūrimą. Mes galime jį naudoti trimis būdais.
• autoConnect („tinklo pavadinimas“, „slaptažodis“); - sukuria tinklą su apibrėžtu vardu ir slaptažodžiu.
• autoConnect („tinklo pavadinimas“); - sukuria atvirą tinklą su apibrėžtu pavadinimu.
• autoConnect (); - sukuria atvirą ir automatiškai pavadintą tinklą, kurio pavadinimas yra „ESP“+ chipID.
2. startConfigPortal
Funkcija startConfigPortal yra atsakinga už prieigos taško sukūrimą nebandant prisijungti prie anksčiau išsaugoto tinklo.
• startConfigPortal („tinklo pavadinimas“, „slaptažodis“); - sukuria tinklą su apibrėžtu vardu ir slaptažodžiu.
• startConfigPortal (); - sukuria atvirą ir automatiškai pavadintą tinklą, kurio pavadinimas yra „ESP“+ chipID.
3. getConfigPortalSSID
Grąžina portalo (prieigos taško) SSID
4. getSSID
Tai grąžina tinklo, prie kurio jis prijungtas, SSID.
5. getPassword
Tai grąžina tinklo, prie kurio jis prijungtas, slaptažodį.
6. setDebugOutput
„SetDebugOutput“funkcija yra atsakinga už derinimo pranešimų spausdinimą serijiniame monitoriuje. Šie pranešimai jau yra apibrėžti bibliotekoje. Kai atliksite funkcijas, duomenys bus atspausdinti.
Pagal numatytuosius nustatymus ši funkcija nustatyta kaip TRUE. Jei norite išjungti pranešimus, tiesiog nustatykite funkciją FALSE.
7. setMinimumSignalQuality
Funkcija setMinimumSignalQuality yra atsakinga už tinklų filtravimą pagal signalo kokybę. Pagal numatytuosius nustatymus „WiFiManager“nerodys prisijungimo tinklų žemiau 8%.
8. setRemoveDuplicateAPs
Funkcija setRemoveDuplicateAPs yra atsakinga už tinklo dublikatų pašalinimą.
Pagal numatytuosius nustatymus jis nustatytas į TRUE.
9. setAPStaticIPConfig
Funkcija setAPStaticIPConfig yra atsakinga už statinio adreso nustatymų nustatymą, kai veikia prieigos taško režimas.
(IP, GATEWAY, SUBNET)
10. setSTAStaticIPConfig
Funkcija setSTAStaticIPConfig yra atsakinga už statinio adreso nustatymų nustatymą veikiant stoties režimui.
(IP, GATEWAY, SUBNET)
Prieš automatinį prisijungimą turite pridėti komandą !!!
11. setAPCallback
Funkcija „setAPCallback“yra atsakinga už informavimą, kad AP režimas prasidėjo.
Parametras yra funkcija, kuri turi būti sukurta, kad būtų nurodytas kaip atgalinis skambutis;
12. setSaveConfigCallback
Funkcija „setSaveConfigCallback“yra atsakinga už tai, kad informuotų jus, kad išsaugota nauja konfigūracija ir sėkmingai užmegztas ryšys.
Parametras yra funkcija, kurią reikia sukurti, ir nurodo tai kaip užuominą.
Prieš automatinį prisijungimą turite pridėti komandą !!!
6 žingsnis: Surinkimas
Pavyzdys
Mūsų pavyzdyje sukursime prieigos tašką su ESP (kodas bus naudojamas tiek ESP8266, tiek ESP32). Sukūrę AP, mes pateksime į portalą per IP 192.168.4.1 (kuris yra numatytasis prieigos prie jo). Taigi paimkime galimus tinklus, pasirinkite vieną ir išsaugokite. Iš ten ESP bus paleistas iš naujo ir bandys prisijungti prie jo, tada jis veiks kaip stotis, o ne kaip prieigos taškas.
Įjungus stoties režimą, ESP gali grįžti į prieigos taško režimą tik mygtuku.
7 žingsnis: kodas
Bibliotekos
Pirmiausia apibrėžkime bibliotekas, kurias naudosime.
Atminkite, kad turime komandas #if apibrėžtas, #else ir #endif. Jie yra sąlyginiai, kad būtų įtrauktos būtinos bibliotekos, susijusios su lustu. Ši dalis yra labai svarbi norint paleisti tą patį kodą tiek ESP8266, tiek ESP32.
#if apibrėžta (ESP8266)
#include // ESP8266 Core WiFi Library #else #include // ESP32 Core WiFi Library #endif
#if apibrėžta (ESP8266)
#include // Vietinis žiniatinklio serveris, naudojamas konfigūracijos portalui aptarnauti
#Kitas
#include // Vietinis DNS serveris, naudojamas nukreipti visas užklausas į konfigūracijos portalą (https://github.com/zhouhan0126/DNSServer---esp32)
#endif
#include // Vietinis žiniatinklio serveris, naudojamas konfigūracijos portalui aptarnauti (https://github.com/zhouhan0126/DNSServer---esp32) #include // „WiFi Configuration Magic“(https://github.com/zhouhan0126/DNSServer-- -esp32) >> https://github.com/zhouhan0126/DNSServer---esp32 (ORIGINALUS)
8 veiksmas: sąranka
Sąrankoje mes konfigūruojame „WiFiManager“paprasčiausiu būdu. Tiesiog apibrėžkime atgalinius skambučius ir sukurkime tinklą.
const int PIN_AP = 2;
void setup () {Serial.begin (9600); pinMode (PIN_AP, INPUT); // deklaração do objeto wifiManager WiFiManager wifiManager;
// utilizando esse comando, as configurações são apagadas da memória // caso tiver salvo alguma rede para conectar automaticamente, ela é apagada. // wifiManager.resetSettings (); // atšaukimas pagal quando entra em modo de configuração AP wifiManager.setAPCallback (configModeCallback); // atšaukimas para quando se conecta em uma rede, ou seja, quando passa a trabalhar em modo estação wifiManager.setSaveConfigCallback (saveConfigCallback); // cria uma rede de nome ESP_AP com senha 12345678 wifiManager.autoConnect ("ESP_AP", "12345678"); }
9 žingsnis: ciklas
Cikle mes perskaitysime mygtuko kaištį, kad pamatytume, ar jis buvo nuspaustas, ir tada iškviesime metodą, kad iš naujo įjungtumėte AP režimą.
void loop () {
„WiFiManager“„wifiManager“; // se o botão foi pressionado if (digitalRead (PIN_AP) == HIGH) {Serial.println ("resetar"); // tenta abrir o portalas if (! wifiManager.startConfigPortal ("ESP_AP", "12345678")) {Serial.println ("Falha ao conectar"); vėlavimas (2000 m.); ESP.restart (); vėlavimas (1000); } Serial.println ("Conectou ESP_AP !!!"); }
Kai paspausite mygtuką, ESP išeis iš stoties režimo ir atidarys jūsų prieigos tašką ir portalą.
Atminkite, kad mes nenaudojame komandos resetSettings (). Nustatymai vis dar išsaugomi, kai kitą kartą paleidžiamas ESP.
10 veiksmas: atgaliniai skambučiai
Atgalinio skambučio funkcijos, susijusios su įvykiais, padeda tiksliai nustatyti operacijos momentą, mūsų atveju, įeinant į AP režimą ir stoties režimą. Tada galime įgyvendinti norimą tvarką, pvz., Nuskaityti SSID iš prijungto tinklo.
// atgalinis skambučio iškvietimas arba ESP įvedimas be modo AP
void configModeCallback (WiFiManager *myWiFiManager) {// Serial.println ("Įvestas konfigūracijos režimas"); Serial.println („Entrou no modo de configuração“); Serial.println (WiFi.softAPIP ()); // imprime o IP do 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 ("Reikėtų išsaugoti konfigūraciją"); Serial.println („Configuração salva“); Serial.println (WiFi.softAPIP ()); // imprime o IP do AP}
Rekomenduojamas:
„LoRa“nuo 3 km iki 8 km belaidis ryšys su mažomis sąnaudomis E32 (sx1278/sx1276) „Arduino“, Esp8266 arba Esp32 įrenginys: 15 žingsnių
„LoRa“nuo 3 km iki 8 km belaidis ryšys su mažomis sąnaudomis E32 (sx1278/sx1276) „Arduino“, „Esp8266“arba „Esp32“įrenginys: sukuriu biblioteką, skirtą valdyti „EBYTE E32“, pagrįstą „LoRa“įrenginio „Semtech“serija, labai galingu, paprastu ir pigiu įrenginiu. 3 km versija čia, 8 km versija čia Jie gali dirbti 3000–8000 m atstumu ir turi daugybę funkcijų
Žingsnių skaitiklis - mikro: bitas: 12 žingsnių (su paveikslėliais)
Žingsnių skaitiklis - „Micro: Bit“: šis projektas bus žingsnių skaitiklis. Savo žingsniams matuoti naudosime „Micro: Bit“įmontuotą akselerometro jutiklį. Kiekvieną kartą purtant „Micro: Bit“, prie skaičiaus pridėsime 2 ir parodysime jį ekrane
MIDI žingsnių sąsaja: 12 žingsnių (su paveikslėliais)
„MIDI Step“sąsaja: versija ispanų kalba. Šioje instrukcijoje parodysime, kaip sukurti šviesos ir garso sąsają, kurią galima naudoti norint groti „Simon Says“ir kaip MIDI sąsaja. Abu režimai bus žaidžiami kojomis. Fonas Projektas gimė, nes
4 žingsnių skaitmeninis sekos sekiklis: 19 žingsnių (su nuotraukomis)
4 žingsnių skaitmeninis sequencer: CPE 133, Cal Poly San Luis Obispo Projekto kūrėjai: Jayson Johnston ir Bjorn NelsonŠių dienų muzikos industrijoje, viena iš dažniausiai naudojamų “ instrumentų “ yra skaitmeninis sintezatorius. Kiekvienas muzikos žanras, nuo hip-hopo iki pop ir vakaro
Nešiojamas reklamos ženklas pigiai vos 10 žingsnių !!: 13 žingsnių (su nuotraukomis)
Nešiojamas reklamos ženklas pigiai vos per 10 žingsnių !!: Sukurkite savo pigų, nešiojamą reklamos ženklą. Naudodami šį ženklą, bet kurioje miesto vietoje galite bet kur rodyti savo pranešimą ar logotipą. Ši instrukcija yra atsakas į/patobulinimą/pakeitimą: https://www.instructables.com/id/Low-Cost-Illuminated