ESP-NOW: Otto punti che devi conoscere
Che cos'è ESP-NOW?
Principio di funzionamento 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
-
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.
Quali fattori influenzano ESP-NOW?
-
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?
-
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
-
Una scheda ESP32 invia dati a un'altra scheda ESP32
-
Una scheda trasmettitore ESP32 che invia dati a varie altre schede ricevitrici ESP32
-
Una scheda ESP32 riceve dati da varie altre schede trasmittenti ESP32
In quali aree può essere utilizzato ESP-NOW?
-
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?
-
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?
Come posso impostare la velocità con cui vengono inviati i dati ESP-NOW?
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?