Sommario:
- Passaggio 1: caratteristiche principali
- Passaggio 2: confronto tra ESP32, ESP8266 e Arduino R3
- Passaggio 3: tipi di ESP32
- Passaggio 4: Nodo WiFiMCU-32S ESP-WROOM-32
- Passaggio 5: configurazione dell'IDE Arduino (Windows)
- Passaggio 6: scansione WiFi
- Passaggio 7: codice
- Passaggio 8: configurazione
- Passaggio 9: ciclo
- Passaggio 10: file
Video: Introduzione a ESP32: 10 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
In questo articolo parleremo di ESP32, che considero un fratello maggiore di ESP8266. Mi piace molto questo microcontrollore perché ha il WiFi. Solo così hai un'idea, prima che esista ESP, se avessi bisogno di un Arduino per avere il WiFi, dovresti spendere tra $ 200 e $ 300 per acquistare un adattatore Wifi. L'adattatore per il cavo di rete non è così costoso, ma per il WiFi lo è sempre stato ed è ancora costoso. Ma fortunatamente, Espressif Systems ha lanciato ESP e sta risolvendo le nostre vite.
Mi piace ESP32 con questo formato che ha una porta USB. Questo schema NodeMCU è facile da manipolare perché non necessita di elettronica. Basta collegare il cavo, alimentare il dispositivo e programmarlo. Funziona proprio come un Arduino.
Ad ogni modo, oggi parleremo degli aspetti generali di ESP32 e di come configurare l'IDE di Arduino per programmare più dispositivi del genere. Inoltre creeremo un programma che cerca le reti e mostra quale è più potente.
Passaggio 1: caratteristiche principali
Chip con WiFi integrato: standard 802.11 B/G/N, operante nell'intervallo da 2,4 a 2,5 GHz
Modalità di funzionamento: Client, Access Point, Station + Access Point
Microprocessore dual core Tensilica Xtensa 32 bit LX6
Orologio regolabile da 80 MHz fino a 240 MHz
Tensione di esercizio: 3,3 V CC
Ha SRAM di 512 KB
Dispone di 448 KB di ROM
Ha una memoria flash esterna di 32 Mb (4 megabyte)
La corrente massima per pin è 12 mA (si consiglia di utilizzare 6 mA)
Ha 36 GPIO
GPIO con funzioni PWM / I2C e SPI
Dispone di Bluetooth v4.2 BR/EDR e BLE (Bluetooth Low Energy)
Passaggio 2: confronto tra ESP32, ESP8266 e Arduino R3
Passaggio 3: tipi di ESP32
ESP32 è nato con molti fratelli. Oggi sto usando il primo da sinistra, Espressif, ma ne esistono di diverse marche e tipologie, compreso il display Oled integrato. Tuttavia, le differenze sono tutte nello stesso chip: il Tensilica LX6, 2 Core.
Passaggio 4: Nodo WiFiMCU-32S ESP-WROOM-32
Questo è il diagramma di ESP che stiamo usando nel nostro assembly. È un chip che ha molto fascino e potenza. Sono diversi pin che scegli se vogliono funzionare come digitale analogico, analogico digitale o anche se funzionano come digitali.
Passaggio 5: configurazione dell'IDE Arduino (Windows)
Ecco come configurare l'IDE Arduino in modo da poter compilare per ESP32:
1. Scarica i file tramite il link:
2. Decomprimi il file e copia il contenuto nel seguente percorso:
C: / Utenti / [YOUR_USER_NAME] / Documenti / Arduino / hardware / espressif / esp32
Nota: se non sono presenti directory "espressif" e "esp32", crearli normalmente.
3. Apri la directory
C: / Users / [YOUR_USER_NAME] / Documents / Arduino / hardware / espressif / esp32 / tools
Esegui il file "get.exe".
4. Al termine di "get.exe", collegare ESP32, attendere l'installazione dei driver (o installare manualmente).
Pronto, ora scegli la scheda ESP32 in "strumenti >> scheda" e compila il tuo codice.
Passaggio 6: scansione WiFi
Ecco un esempio di come cercare le reti WiFi disponibili vicino all'ESP-32, nonché la potenza del segnale di ciascuna di esse. Ad ogni scansione, scopriremo anche quale rete ha la migliore potenza del segnale.
Passaggio 7: codice
Per prima cosa includiamo la libreria "WiFi.h", sarà necessario per consentirci di lavorare con la scheda di rete del nostro dispositivo.
#include "WiFi.h"
Ecco due variabili che verranno utilizzate per memorizzare l'SSID (nome) della rete e la potenza del segnale.
String networkSSID = "";int forceSignal = -9999;
Passaggio 8: configurazione
Nella funzione setup(), definiremo la modalità di comportamento WiFi del nostro dispositivo. In questo caso, poiché l'obiettivo è cercare le reti disponibili, configureremo il nostro dispositivo per funzionare come una "stazione".
void setup(){ // Inizializza Serial per accedere a Serial Monitor Serial.begin(115200);
// configura la modalità di funzionamento del WiFi come stazione WiFi.mode(WIFI_STA);//WIFI_STA è una costante che indica la modalità della stazione
// disconnettersi dall'access point se è già connesso WiFi.disconnect(); ritardo(100);
// Serial.println("Installazione completata");}
Passaggio 9: ciclo
Nella funzione loop(), cercheremo le reti disponibili e quindi stamperemo il registro nelle reti trovate. Per ognuna di queste reti faremo il confronto per trovare quella con la potenza del segnale più alta.
void loop(){ // Serial.println("inizio scansione"); // esegue la scansione delle reti disponibili
int n = WiFi.scanNetworks();
Serial.println("Scansione eseguita");
//controlla se hai trovato qualche rete if (n == 0) { Serial.println("Nessuna rete trovata"); } else { networkSSID = ""; segnale di forza= -9999; Serial.print(n); Serial.println("reti trovate\n"); for (int i = 0; i < n; ++i) { //stampa sul monitor seriale ciascuna delle reti trovate Serial.print("SSID: "); Serial.println(WiFi. SSID(i)); //nome rete (ssid) Serial.print("SIGNAL: "); Serial.print(WiFi. RSSI(i)); //intensità del segnale 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(strengthSignal)) { forceSignal = WiFi. RSSI(i); networkSSID = WiFi. SSID(i); Serial.print("RETE CON IL MIGLIOR SEGNALE TROVATO: ("); Serial.print(networkSSID); Serial.print(") - SIGNAL: ("); Serial.print(strengthSignal); Serial.println(")"); } ritardo(10); } } Serial.println("\n----------------------------------------- -------------------------------------------\n");
// intervallo di 5 secondi per eseguire una nuova scansione delay(5000); }
"Se (ass (WiFi. RSSI (i))"
Nota che nell'istruzione precedente usiamo abs(), questa funzione prende il valore assoluto (cioè non negativo) del numero. Nel nostro caso lo abbiamo fatto per trovare il più piccolo dei valori nel confronto, perché l'intensità del segnale è data come un numero negativo e più vicino allo zero migliore è il segnale.
Passaggio 10: file
Scarica tutti i miei file in: www.fernandok.com
Consigliato:
Casco di sicurezza Covid Parte 1: un'introduzione ai circuiti di Tinkercad!: 20 passaggi (con immagini)
Casco di sicurezza Covid Parte 1: un'introduzione ai circuiti di Tinkercad!: Ciao, amico! In questa serie in due parti, impareremo come usare i circuiti di Tinkercad: uno strumento divertente, potente ed educativo per imparare come funzionano i circuiti! Uno dei modi migliori per imparare è fare. Quindi, prima disegneremo il nostro progetto personale: th
Introduzione ai sensori di temperatura e vibrazioni wireless a lungo raggio: 7 passaggi
Guida introduttiva ai sensori di temperatura e vibrazioni wireless a lungo raggio: a volte le vibrazioni sono la causa di gravi problemi in molte applicazioni. Dagli alberi e cuscinetti della macchina alle prestazioni del disco rigido, le vibrazioni causano danni alla macchina, sostituzioni anticipate, prestazioni ridotte e influiscono notevolmente sulla precisione. Monitoraggio
Introduzione ai circuiti IR: 8 passaggi (con immagini)
Introduzione ai circuiti IR: IR è una tecnologia complessa ma molto semplice con cui lavorare. A differenza dei LED o dei LASER, gli infrarossi non possono essere visti con l'occhio umano. In questo Instructable, dimostrerò l'uso degli infrarossi attraverso 3 diversi circuiti. I circuiti non saranno u
Introduzione a Python per ESP8266 ed ESP32: 6 passaggi
Introduzione a Python per ESP8266 ed ESP32: Bacground ESP8266 e il suo fratello maggiore ESP32 sono microchip Wi-Fi a basso costo con stack TCP/IP completo e funzionalità di microcontrollore. Il chip ESP8266 è arrivato per la prima volta all'attenzione della comunità dei produttori nel 2014. Da allora, il prezzo basso (
Introduzione ESP32 Lora Display OLED: 8 passaggi
Introduzione ESP32 Lora Display OLED: questo è un altro video riguardante l'introduzione all'ESP32 LoRa. Questa volta parleremo nello specifico di un display grafico (di 128x64 pixel). Useremo la libreria SSD1306 per visualizzare le informazioni su questo display OLED e presenteremo un esempio di