I sensori di prossimità possono essere descritti come interruttori unici nel loro genere che rilevano un oggetto vicino con l'aiuto della luce, del campo elettromagnetico o del suono. In genere, questi tipi di dispositivi sono progettati per rilevare i soggetti vicini e spesso è l'applicazione pratica in cui verrà utilizzata la maggior parte di questi sensori. Ma ci sono circostanze in cui il soggetto è lontano dal sensore o il soggetto è bloccato da un ostacolo, in questo tipo di situazioni, possiamo utilizzare dispositivi BLE (Bluetooth Low Energy) per rilevare e percepire la vicinanza dell'oggetto. La scheda di sviluppo ESP32 ha BLE integrato, che abbiamo utilizzato in molti altri progetti. Se sei completamente nuovo in BLE, controlla i progetti ESP32 BLE client e ESP32 BLE Server che abbiamo creato in precedenza. Abbiamo anche costruito un iBeacon Bluetooth utilizzando ESP32 in precedenza.
In questo articolo, ti mostrerò come realizzare un semplice rilevatore di presenza BLE con l'aiuto di un ESP32 e Arduino e, alla fine, testeremo questi dispositivi utilizzando BLE sul mio smartphone e uno smartwatch.
Cos'è Bluetooth Low Energy (BLE)?
BLE è l'acronimo di Bluetooth Low Energy ed è entrato nella nostra vita quotidiana nel 2011, perché in quel periodo dell'anno tutti i principali produttori hanno iniziato a incorporare la tecnologia BLE nei propri dispositivi. BLE è una tecnologia di comunicazione wireless a bassa potenza sviluppata per applicazioni di alimentazione a batteria che possono essere utilizzate per comunicare tra dispositivi a breve distanza. Alcuni dei dispositivi di uso quotidiano hanno Bluetooth integrato in esso come il vostro smartphone, il tuo SmartWatch, wireless auricolari, wireless altoparlanti, intelligenti casa dispositivie altro Bluetooth integrato per comunicare o ottenere dati sulla posizione.
BLE è una tecnologia relativamente nuova e il protocollo BLE è stato sviluppato da Bluetooth Special Interest Group (SIG) con l'obiettivo principale di trasformare in realtà i dispositivi a bassa potenza. Sebbene il nome del protocollo appena creato sia rimasto lo stesso, il protocollo BLE appena sviluppato non era compatibile con le versioni precedenti, il che significa che i nostri dispositivi Bluetooth Classic non possono parlare con i dispositivi BLE, nonostante lo svantaggio di questa tecnologia, ha consentito agli sviluppatori di produrre energia a bassissima potenza -dispositivi efficienti che possono durare mesi anche anni con una piccola batteria a bottone.
Come funziona la comunicazione BLE?
BLE utilizza una struttura dati gerarchica per inviare e ricevere informazioni. Un dispositivo BLE che funge da server pubblicizzerà servizi e caratteristiche che possono essere rilevati da un client e una volta che lo scambio di informazioni ha esito positivo, i dispositivi BLE possono comunicare tra loro simultaneamente. In termini tecnici, questo insieme di informazioni è noto come attributo di un dispositivo BLE. Ed è definito e implementato utilizzando il profilo GATT (Generic Attributes). In questi profili, abbiamo servizio, caratteristiche e valori in ordine gerarchico. I servizi contengono caratteristiche e la caratteristica contiene il valore, leggendo la caratteristica, possiamo leggere i valori e i valori cambiano nel tempo.
Le caratteristiche possono essere elaborate per includere informazioni di lettura o scrittura. I dispositivi che contengono componenti di lettura possono pubblicare informazioni e i dispositivi che contengono caratteristiche di scrittura possono ricevere dati da un client.
Il profilo GATT in base al quale vengono definiti i servizi e le caratteristiche è noto come Universally Unique Identifier (UUID). Ci sono alcuni servizi e caratteristiche standard definiti e riservati dalla società SIG se leggiamo l'UUID di un dispositivo BLE, possiamo immediatamente dire che tipo di dispositivo è.