Spisu treści:
- Krok 1: Kluczowe cechy
- Krok 2: Porównanie między ESP32, ESP8266 i Arduino R3
- Krok 3: Rodzaje ESP32
- Krok 4: Węzeł WiFiMCU-32S ESP-WROOM-32
- Krok 5: Konfiguracja Arduino IDE (Windows)
- Krok 6: Skanowanie Wi-Fi
- Krok 7: Kod
- Krok 8: Konfiguracja
- Krok 9: Pętla
- Krok 10: Pliki
Wideo: Wprowadzenie do ESP32: 10 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
W tym artykule porozmawiamy o ESP32, którego uważam za starszego brata ESP8266. Bardzo podoba mi się ten mikrokontroler, bo ma WiFi. Abyś miał pomysł, zanim ESP powstanie, jeśli potrzebujesz Arduino, aby mieć WiFi, musiałbyś wydać od 200 do 300 USD na zakup adaptera Wifi. Adapter do kabla sieciowego nie jest taki drogi, ale dla WiFi zawsze był i nadal jest drogi. Ale na szczęście firma Espressif Systems uruchomiła ESP i rozwiązuje nasze życie.
Podoba mi się ESP32 z tym formatem, który ma port USB. Ten schemat NodeMCU jest łatwy do manipulowania, ponieważ nie wymaga żadnej elektroniki. Wystarczy podłączyć kabel, zasilić urządzenie i je zaprogramować. Działa jak Arduino.
Tak czy inaczej, dzisiaj porozmawiamy o ogólnych aspektach ESP32 i jak skonfigurować Arduino IDE, aby zaprogramować więcej urządzeń tego typu. Stworzymy również program, który przeszukuje sieci i pokazuje, która z nich jest silniejsza.
Krok 1: Kluczowe cechy
Chip z wbudowanym WiFi: standard 802.11 B/G/N, działający w zakresie od 2,4 do 2,5 GHz
Tryby pracy: Klient, Punkt Dostępowy, Stacja + Punkt Dostępowy
Dwurdzeniowy mikroprocesor Tensilica Xtensa 32-bitowy LX6
Regulowany zegar od 80 MHz do 240 MHz
Napięcie robocze: 3,3 VDC
Ma SRAM 512 KB
Funkcje pamięci ROM 448 KB
Posiada zewnętrzną pamięć flash 32Mb (4 megabajty)
Maksymalny prąd na pin wynosi 12mA (zaleca się użycie 6mA)
Posiada 36 GPIO
GPIO z funkcjami PWM/I2C i SPI
Posiada Bluetooth v4.2 BR/EDR i BLE (Bluetooth Low Energy)
Krok 2: Porównanie między ESP32, ESP8266 i Arduino R3
Krok 3: Rodzaje ESP32
ESP32 urodził się z wieloma rodzeństwem. Dzisiaj używam pierwszego od lewej, Espressif, ale jest kilka marek i typów, w tym wbudowany wyświetlacz Oled. Jednak różnice dotyczą tego samego układu: Tensilica LX6, 2 Core.
Krok 4: Węzeł WiFiMCU-32S ESP-WROOM-32
To jest schemat ESP, którego używamy w naszym montażu. Jest to chip, który ma wiele uroku i mocy. Jest kilka pinów, które możesz wybrać, czy mają pracować jako cyfrowe analogowe, analogowe cyfrowe, czy nawet jeśli drzwi działają jako cyfrowe.
Krok 5: Konfiguracja Arduino IDE (Windows)
Oto jak skonfigurować Arduino IDE, abyśmy mogli skompilować dla ESP32:
1. Pobierz pliki poprzez link:
2. Rozpakuj plik i skopiuj zawartość do następującej ścieżki:
C: / Użytkownicy / [NAZWA_TWOJEGO_UŻYTKOWNIKA] / Dokumenty / Arduino / sprzęt / espressif / esp32
Uwaga: Jeśli nie ma katalogów „espressif” i „esp32”, po prostu utwórz je normalnie.
3. Otwórz katalog
C: / Użytkownicy / [NAZWA_TWOJEGO_UŻYTKOWNIKA] / Dokumenty / Arduino / sprzęt / espressif / esp32 / narzędzia
Uruchom plik "get.exe".
4. Po zakończeniu "get.exe" podłącz ESP32, poczekaj na zainstalowanie sterowników (lub zainstaluj ręcznie).
Gotowe, teraz po prostu wybierz płytę ESP32 w "narzędzia >> płyta" i skompiluj swój kod.
Krok 6: Skanowanie Wi-Fi
Oto przykład, jak szukać dostępnych sieci WiFi w pobliżu ESP-32, a także siłę sygnału każdej z nich. Przy każdym skanowaniu dowiemy się również, która sieć ma najlepszą siłę sygnału.
Krok 7: Kod
Najpierw dołączmy bibliotekę "WiFi.h", będzie to konieczne, aby umożliwić nam pracę z kartą sieciową naszego urządzenia.
#include "WiFi.h"
Oto dwie zmienne, które będą używane do przechowywania identyfikatora SSID sieci (nazwy) i siły sygnału.
String networkSSID = "";int siłaSignal = -9999;
Krok 8: Konfiguracja
W funkcji setup() zdefiniujemy tryb zachowania WiFi naszego urządzenia. W takim przypadku, ponieważ celem jest wyszukanie dostępnych sieci, skonfigurujemy nasze urządzenie do pracy jako „stacja”.
void setup(){ // Zainicjuj Serial, aby zalogować się do Serial Monitor Serial.begin(115200);
//konfiguracja trybu pracy WiFi jako stacji WiFi.mode(WIFI_STA);//WIFI_STA to stała wskazująca tryb stacji
// odłącz się od punktu dostępowego, jeśli jest już podłączony WiFi.disconnect(); opóźnienie (100);
// Serial.println("Konfiguracja zakończona");}
Krok 9: Pętla
W funkcji loop() wyszukamy dostępne sieci, a następnie wydrukujemy dziennik znalezionych sieci. Dla każdej z tych sieci dokonamy porównania, aby znaleźć tę o najwyższej sile sygnału.
void loop(){ // Serial.println("rozpoczęcie skanowania"); // wykonuje skanowanie dostępnych sieci
int n = WiFi.scanNetworks();
Serial.println("Wykonano skanowanie");
//sprawdź, czy znalazłeś jakąkolwiek sieć if (n == 0) { Serial.println("Nie znaleziono sieci"); } else { identyfikator SSID = ""; siłaSygnał= -9999; druk.seryjny(n); Serial.println(" znalezione sieci\n"); for (int i = 0; i < n; ++i) { //drukuj na monitorze szeregowym każdą ze znalezionych sieci Serial.print("SSID:"); Serial.println(WiFi. SSID(i)); //nazwa sieci (ssid) Serial.print("SYGNAŁ:"); Serial.print(WiFi. RSSI(i)); //siła sygnału Serial.print("\t\tCHANNEL: "); Serial.print((int)WiFi.channel(i)); Serial.print("\t\tMAC: "); Serial.print(WiFi. BSSIDstr(i)); Serial.println("\n\n"); if(abs(WiFi. RSSI(i)) < abs(siłySygnał)) { SiłaSygnału = WiFi. RSSI(i); SSID sieci = WiFi. SSID(i); Serial.print("SIEĆ Z NAJLEPSZYM ZNALEZIONYM SYGNAŁEM: ("); Serial.print(networkSSID); Serial.print() - SIGNAL: ("); Serial.print(silthSignal); Serial.println(")"); } opóźnienie(10); } } Serial.println("\n------------------------------------------------------- -------------------------------------------\n");
// interwał 5 sekund na wykonanie nowego opóźnienia skanowania(5000); }
„Jeśli (abs (WiFi. RSSI (i))”
Zauważ, że w powyższym zdaniu używamy abs(), ta funkcja przyjmuje wartość bezwzględną (tj. nie ujemną) liczby. W naszym przypadku zrobiliśmy to, aby znaleźć najmniejszą z wartości w porównaniu, ponieważ intensywność sygnału jest podawana jako liczba ujemna, a im bliżej zera, tym lepszy sygnał.
Krok 10: Pliki
Pobierz wszystkie moje pliki na: www.fernandok.com
Zalecana:
Kask ochronny Covid, część 1: wprowadzenie do obwodów Tinkercad!: 20 kroków (ze zdjęciami)
Kask ochronny Covid, część 1: wprowadzenie do obwodów Tinkercad!: Witaj, przyjacielu! W tej dwuczęściowej serii nauczymy się korzystać z obwodów Tinkercad - zabawnego, potężnego i edukacyjnego narzędzia do nauki działania obwodów! Jednym z najlepszych sposobów uczenia się jest robienie. Dlatego najpierw zaprojektujemy nasz własny projekt: th
Wprowadzenie do obwodów IR: 8 kroków (ze zdjęciami)
Wprowadzenie do obwodów IR: IR to złożona technologia, ale bardzo prosta w obsłudze. W przeciwieństwie do diod LED lub LASERA, podczerwieni nie można zobaczyć ludzkim okiem. W tym instruktażowym zademonstruję użycie podczerwieni w 3 różnych obwodach. Obwody nie będą u
Gry!!! - Wprowadzenie: 5 kroków
Gry!!! - Wstęp: Cześć! Nauczę Cię tworzenia trzech różnych gier na code.org. Pod każdym samouczkiem gry opublikuję szablon, który możesz zremiksować i użyć podczas oglądania mojego filmu. Mam nadzieję, że będziesz się dobrze bawić!! Jeśli chcecie po prostu obejrzeć moje gry w
Wprowadzenie do Pythona - Katsuhiko Matsuda i Edwin Cijo - Podstawy: 7 kroków
Wprowadzenie do Pythona - Katsuhiko Matsuda i Edwin Cijo - Podstawy: Witam, jesteśmy 2 studentami w MYP 2. Chcemy nauczyć Cię podstaw kodowania Pythona. Został on stworzony pod koniec lat 80-tych przez Guido van Rossuma w Holandii. Powstał jako następca języka ABC. Jego nazwa to „Python” ponieważ gdy
Wprowadzenie Wyświetlacz OLED ESP32 Lora: 8 kroków
Wprowadzenie Wyświetlacz OLED ESP32 Lora: To kolejny film dotyczący wprowadzenia do ESP32 LoRa. Tym razem porozmawiamy konkretnie o wyświetlaczu graficznym (o rozdzielczości 128x64 pikseli). Wykorzystamy bibliotekę SSD1306 do wyświetlenia informacji na tym wyświetlaczu OLED i przedstawimy przykład