Salta al contenuto

+49 1626571232

info@openelab.io

🚀 Spedizione gratuita a partire da 50€ in UE / 80€ in tutto il mondo

ESP-NOW: Otto punti che devi conoscere

08 Jul 2024 0 Commenti
ESP-NOW è un protocollo di comunicazione wireless sviluppato appositamente per i microcontrollori ESP8266 ed ESP32. Fornisce una soluzione di comunicazione wireless semplice, sicura, a basso costo e a basso consumo per i dispositivi ESP32. Con ESP-NOW, più dispositivi ESP32 possono comunicare tra loro senza la necessità di WiFi o router, creando una rete mesh di dispositivi.
 
 

Che cos'è ESP-NOW?

 
esp-now è un protocollo di comunicazione leggero progettato per fornire una soluzione di comunicazione senza connessione efficiente e affidabile. È progettato per dispositivi embedded ed è particolarmente adatto per la famiglia di chip ESP di Espressif Systems.
 
esp-now utilizza l'hardware Wi-Fi esistente per fornire una comunicazione diretta tra dispositivi uno-a-molti e molti-a-molti senza la necessità di passare attraverso un router o un altro dispositivo intermedio.
 
Con ESP-NOW possiamo avere una comunicazione unidirezionale o addirittura bidirezionale tra i dispositivi ESP MCU senza la necessità di una rete Wi-Fi. Consente il trasferimento dati wireless punto-punto a basso costo, ma con pacchetti più piccoli. Possono essere trasferiti fino a 250 byte di dati. Pertanto, se è necessario trasmettere una grande quantità di dati, l'utilizzo di questo protocollo non è utile.
 
Con ESP-NOW, il protocollo di connessione è semplificato, riducendo il consumo energetico perché è necessario meno tempo per la trasmissione dei dati. Inoltre, ESP-NOW utilizza la stessa banda da 2,4 GHz del Wi-Fi, ma non richiede una connessione né interferisce con la connessione di rete locale. È un protocollo di comunicazione veloce e conveniente per la trasmissione di piccole quantità di dati.
 

  

Principio di funzionamento di ESP-NOW

Il principio di funzionamento di esp-now è relativamente semplice, si basa sull'implementazione del livello MAC del Wi-Fi. Quello che segue è il flusso di lavoro di esp-now:
  • Inizializzazione: inizializza la libreria esp-now e configura il ruolo del dispositivo (mittente o destinatario).
  • Accoppiamento: prima della comunicazione, il mittente e il destinatario devono eseguire l'operazione di accoppiamento. Durante il processo di accoppiamento, il mittente invia il proprio indirizzo MAC al destinatario per stabilire una relazione di fiducia. 3.
  • Invia dati: il mittente invia un pacchetto al destinatario utilizzando l'API fornita dalla libreria esp-now. Il pacchetto può contenere qualsiasi tipo di dati, ad esempio informazioni sulla configurazione di rete, file di aggiornamento del firmware o informazioni di debug.
  • Ricevi dati: il ricevitore ascolta il canale Wi-Fi e riceve pacchetti dal mittente. Una volta ricevuto il pacchetto, il destinatario attiverà la funzione di callback () per elaborarlo. 5.
  • Elaborazione dei dati: il ricevitore elabora il pacchetto ricevuto tramite la funzione di callback. A seconda del tipo di pacchetto, il ricevitore può eseguire operazioni corrispondenti, come l'aggiornamento della configurazione di rete, l'esecuzione di un aggiornamento del firmware o l'esecuzione del debug.
 

Caratteristiche di ESP-NOW

esp-now ha le seguenti caratteristiche che gli conferiscono un vantaggio nella trasmissione di dati su larga scala:
  • Bassa latenza: esp-now utilizza il Wi-Fi per comunicare direttamente senza passare attraverso un router o altri dispositivi intermedi, riducendo così la latenza di trasmissione.
  • Elevata affidabilità: esp-now utilizza l'affidabile meccanismo ARQ() (Automatic Retransmission Request) per garantire una trasmissione affidabile dei dati.
  • Basso consumo energetico: esp-now utilizza un design a basso consumo per i dispositivi integrati per ridurre il consumo energetico mantenendo la qualità della comunicazione.
  • Flessibilità: esp-now supporta la connessione e il controllo di dispositivi uno-a-molti e molti-a-molti, in grado di soddisfare le esigenze di diversi scenari applicativi.
  • Facilità d'uso: l'API facile da usare di esp-now consente agli sviluppatori di integrare e distribuire rapidamente il protocollo.
  • Trasferimento dati uno a uno (crittografato e non crittografato).
  • Supporto per dispositivi peer crittografati e non crittografati. Per i dispositivi crittografati, sono disponibili fino a 10 peer in modalità Workstation e fino a 6 peer in SoftAP o una combinazione di entrambe le modalità. Tuttavia, per i dispositivi non crittografati, è consentito un massimo di 19 dispositivi senza alcuna restrizione sulla modalità di funzionamento.
  • In piccoli pacchetti possono essere trasmessi al massimo 250 byte di dati.
  • Genera una funzione di callback che informa il livello dell'applicazione se il trasferimento dei dati ha avuto esito positivo.
Per inizializzare la connessione ESP-NOW, dobbiamo prima accoppiare le schede ESP32. La connessione rimarrà indipendentemente da qualsiasi riavvio della scheda e il trasferimento continuerà senza problemi.

 

Quali fattori influenzano ESP-NOW?

La portata di ESP-NOW dipende da una serie di fattori, tra cui il design e la configurazione dell'antenna e l'ambiente operativo. In generale, ESP-NOW può avere una portata fino a 220 metri (772 piedi); tuttavia, questi intervalli sono approssimativi e possono variare notevolmente a seconda delle circostanze.
I fattori che possono influenzare la gamma ESP-NOW includono:
  • Interferenze RF: ESP-NOW funziona nella banda da 2,4 GHz, condivisa con altre tecnologie wireless come Bluetooth e WiFi. Ciò significa che potrebbero esserci interferenze da altri dispositivi che operano nella stessa banda.
  • Ambiente operativo: la portata dell'ESP-NOW può essere influenzata da barriere fisiche come pareti, soffitti e pavimenti, nonché da fattori ambientali come temperatura, umidità e pressione atmosferica.
  • Design dell'antenna: la portata di ESP-NOW può essere influenzata dal tipo e dal design dell'antenna utilizzata. Ad esempio, l'uso di un'antenna direzionale può aumentare la portata dell'ESP-NOW, mentre l'uso di un'antenna omnidirezionale può ridurla.
 

ESP-NOW è sicuro?

Puoi proteggere le comunicazioni ESP-NOW in diversi modi per mantenerle sicure e private:
  • Crittografia dei dati: la crittografia dei dati è uno dei modi più utili per proteggere le comunicazioni ESP-NOW. È possibile crittografare i dati utilizzando diversi algoritmi di crittografia, come AES o RSA. La crittografia dei dati impedirà a chiunque di intercettare e leggere i dati trasmessi.
  • Utilizzo delle chiavi di sicurezza: ESP-NOW supporta l'uso delle chiavi di sicurezza per autenticare e stabilire connessioni tra dispositivi. Utilizzando le chiavi di sicurezza, puoi garantire che solo i dispositivi autorizzati possano comunicare tra loro.
  • Utilizza protocolli di comunicazione sicuri: se la sicurezza della tua applicazione richiede misure di sicurezza più avanzate, potresti prendere in considerazione l'utilizzo di un protocollo di comunicazione diverso, come il WiFi, che ha il supporto integrato per la crittografia e l'autenticazione.
  • Utilizza un livello di sicurezza separato: in alcuni casi, potrebbe essere utile utilizzare un livello di sicurezza separato sopra ESP-NOW per fornire ulteriore sicurezza. Ad esempio, puoi utilizzare un protocollo di tunneling sicuro, come HTTPS, per proteggere i dati trasmessi su ESP-NOW. Quali tipi di comunicazione sono disponibili con ESP-NOW?
 

Comunicazione unidirezionale ESP-NOW ESP32

Nella comunicazione unidirezionale, un dispositivo peer funge da mittente/master e l'altro da ricevitore/slave. In questo caso, possiamo avere più configurazioni per il mittente-destinatario.
  • Una scheda ESP32 invia dati a un'altra scheda ESP32
Come mostrato nella figura seguente, una scheda ESP32 funge da trasmettitore e l'altra scheda riceve dati e quindi funge da ricevitore.
Utilizzo: invio di dati del sensore, controllo delle uscite ESP, inclusi LED, relè, cicalini, ecc.

  • Una scheda trasmettitore ESP32 che invia dati a varie altre schede ricevitrici ESP32
In questo caso, una scheda ESP32 fungerà da trasmettitore/master e invierà i dati a più schede ESP32 che fungeranno da dispositivi ricevitori/slave.
Uso: Telecomando
  • Una scheda ESP32 riceve dati da varie altre schede trasmittenti ESP32
Infine, in questo caso, una scheda ESP32 (ricevitore/slave) riceve i dati da più schede ESP32 (trasmettitore/master).
Scopo: ricevere i dati dei sensori da vari sensori.

O anche avere una rete di schede ESP32 per trasferire dati:
 
 

In quali aree può essere utilizzato ESP-NOW?

ESP-NOW ha una vasta gamma di applicazioni in vari scenari applicativi, in particolare nel trasferimento di dati su larga scala. Di seguito sono riportati alcuni scenari applicativi comuni:
  • Configurazione di rete: esp-now può essere utilizzato per trasferire rapidamente le informazioni sulla configurazione di rete in modo che i dispositivi possano connettersi facilmente a una rete Wi-Fi specificata.
  • Aggiornamento firmware: tramite esp-now, i dispositivi possono ricevere file di aggiornamento firmware ed eseguire di conseguenza l'operazione di aggiornamento - Debug e controllo remoto: esp-now può essere utilizzato per eseguire il debug e controllare in remoto il dispositivo, il che è conveniente per gli sviluppatori eseguire la risoluzione dei problemi e test di funzionalità.
  • Trasmissione dati del sensore: esp-now può essere utilizzato per trasmettere i dati del sensore, come temperatura, umidità, ecc., per eseguire il monitoraggio e la raccolta dati in tempo reale.
  • Controllo Smart Home: esp-now può essere utilizzato per la comunicazione e il controllo tra dispositivi domestici intelligenti, come lampadine intelligenti, prese intelligenti, ecc.
  • Automazione industriale: esp-now ha del potenziale nel campo dell'automazione industriale per la trasmissione e il controllo dei dati in tempo reale tra dispositivi.

 

Potresti anche voler chiedere

Qual è il bit rate uno a uno per ESP32 in modalità ESP-NOW?

Risultato del test:
  • Scheda di prova: ESP32-DevKitC V4.
  • Modalità Wi-Fi: stazione.
  • La velocità PHY è di 1 Mbps per impostazione predefinita.
  • Circa 214 Kbps in un ambiente aperto.
  • Circa 555 Kbps nella scatola di schermatura.
  • Se è necessaria una velocità più elevata, è possibile configurare la velocità tramite esp_wifi_config_espnow_rate.
 

È possibile utilizzare il Wi-Fi con ESP-NOW contemporaneamente?

Sì, ma è bene notare che il canale di ESP-NOW deve essere lo stesso dell'AP connesso.
 

Come posso impostare la velocità con cui vengono inviati i dati ESP-NOW?

È possibile utilizzare la funzione esp_wifi_config_espnow_rate() per configurare la velocità, ad esempio esp_wifi_config_espnow_rate(WIFI_IF_STA, WIFI_ PHY_RATE_MCS0_LGI) .
 

ESP-NOW consente l'abbinamento con un massimo di 20 dispositivi. C'è un modo per controllare più dispositivi?

È possibile utilizzare pacchetti broadcast e fornire gli indirizzi di destinazione nel payload. Il numero di indirizzi non verrebbe quindi influenzato dal numero limitato. Devi solo configurare l'indirizzo broadcast corretto.
Per ulteriori domande, consultare la documentazione: ESP-NOW

 

Articolo precedente
Articolo successivo

lascia un commento

Tutti i commenti del blog vengono controllati prima della pubblicazione

Qualcuno ha recentemente acquistato un

Grazie per esserti iscritto!

Questa email è stata registrata!

Acquista il look

Scegli Opzioni

Modifica opzione
Notifica di disponibilità
this is just a warning
Login
Carrello della spesa
0 elementi
RuffRuff App RuffRuff App by Tsun