Introduzione
Bluetooth Low Energy è stato progettato per fornire notevolmente ridotto il consumo di energia e dei costi, pur mantenendo gamme di comunicazione simile a Bluetooth Classic.
Tuttavia, questo non è più il caso. Con la versione Bluetooth 5.0, è stata introdotta una nuova modalità “a lungo raggio”. Ora è possibile raggiungere gamme di oltre 1 chilometro utilizzando Bluetooth Low Energy!, La modalità a lungo raggio non è solo utile per estendere la portata di una connessione Bluetooth o la scoperta di pubblicità, ma aiuta anche a ottenere una comunicazione più robusta in ambienti RF rumorosi e in aree con molti ostacoli. Esempi di applicazioni includono:
- Sistema di controllo remoto e identificazione remota per droni
- Sensori di monitoraggio distribuiti su aziende agricole di grandi dimensioni
- Rendendo le connessioni più robuste in aree con molti ostacoli come in ambienti industriali.,
Ora, potresti essere interessato a saperne di più sulla modalità a lungo raggio e implementarla nella tua applicazione, ma non vuoi passare attraverso le 3000 pagine del documento delle specifiche Bluetooth per capire i passaggi e le configurazioni necessarie per questo!
Beh, sei arrivato nel posto giusto.
In questo post, ti guiderò attraverso i passaggi necessari per la configurazione della modalità a lungo raggio nella vostra applicazione Bluetooth Low Energy., Andremo oltre tutti i dettagli tecnici di fondo della modalità a lungo raggio, i concetti più importanti, quindi coprire i passaggi necessari per la configurazione di ciascuno dei dispositivi centrali e periferiche per comunicare utilizzando la modalità a lungo raggio.
Andremo oltre:
- Che cos’è la modalità a lungo raggio (PHY codificato)?,
- Dettagli tecnici di Coded PHY
- Dettagli di Coded PHY packets
- Restrizioni applicate quando si utilizza Coded PHY
- Implementazione di Coded PHY per BLE Central e BLE Peripheral devices
Una volta che hai finito di leggere questo post del blog, capirai i concetti generali e i passaggi necessari per implementare intervalli di oltre 1 KM sui dispositivi BLE Peripheral e BLE Central.
Modalità a lungo raggio nella versione Bluetooth 5.0
La modalità a lungo raggio, nota anche con il termine tecnico Codificato PHY, è stata introdotta in Bluetooth 5.,0 e permette la connettività Bluetooth per estendere oltre 30-100 piedi a gamme oltre anche 1 chilometro! Per supportare questa nuova modalità, sono state necessarie alcune modifiche hardware. In particolare, il livello di sensibilità finale del ricevitore richiesto è stato aumentato per supportare ciascuna delle due modalità di PHY codificato (S=2 e S=8):
La cosa importante da tenere a mente è che quando si sceglie un chipset/modulo Bluetooth LE sia per i dispositivi centrali che per quelli periferici, si vuole assicurarsi che supportino il PHY codificato (non solo Bluetooth 5.0 o successivo, poiché il supporto per la modalità a lungo raggio è opzionale per le specifiche Bluetooth 5.0).
Che cos’è la modalità a lungo raggio (PHY codificato)?
Un nuovo PHY è stato introdotto in Bluetooth Versione 5.0 chiamato Coded PHY. I dati grezzi vengono ancora trasmessi alla velocità di 1Mbps., Ma i dati includono la ridondanza nei dati utente che riduce la velocità a 500 Kbps o 125 Kbps, a seconda della configurazione utilizzata.
Le velocità dati di cui sopra includono overhead dei pacchetti, intestazioni e altri dati, quindi la velocità effettiva dei dati utente è in definitiva inferiore alla velocità dei dati grezzi. La ridondanza consente al ricevitore di recuperare i dati originali dagli errori che si verificano nella trasmissione utilizzando algoritmi di correzione degli errori in avanti (FEC) piuttosto che aumentare la potenza di trasmissione. Maggiore è la ridondanza, maggiore è la probabilità di recupero dei dati., Questo è il motivo per cui il tasso di PHY è di solito indicato in unità di Megasimboli al secondo.
Ecco i diversi PHYs e tariffe disponibili in Bluetooth versione 5.,–> in cui ogni bit di dati è rappresentato da 1 simbolo –> 1 Mbps
Ed ecco una tabella riassuntiva delle differenze:
In questo post, ci concentreremo sul PHY codificato e su come può essere utilizzato per raggiungere gamme fino a 1,5 chilometri di linea di vista!,rotocols a 0, 4 e 8dBm Potenza di Trasmissione Impostazioni
Dettagli Tecnici
Prima di entrare come possiamo progettare il nostro Bluetooth LE applicazione per utilizzare la codifica a livello PHY, andiamo su alcuni importanti dettagli tecnici su questa modalità.,
Codifica
- Ci sono due opzioni per la configurazione quando si utilizza Codificato PHY:
- S=2, dove 2 simboli rappresentano ogni bit di dati –> 500 Kbps velocità di dati
- S=8, dove 8 simboli rappresentano ogni bit di dati –> 125 Kbps velocità di dati
- Il termine di Codifica si riferisce all’aggiunta di ridondanza di dati che vengono trasmessi. Utilizza Forward Error Correction (FEC) per consentire al ricevitore di rilevare errori e recuperare i dati originali senza la necessità di ritrasmettere i dati.,
- La codifica consiste in due processi eseguiti sui dati prima che vengano trasmessi:
- I dati sono codificati dall’encoder convoluzionale FEC.
- I dati di output del passaggio precedente vengono diffusi da un mappatore di pattern.
- C’è un impatto significativo della scelta PHY codificata sulla radio-tempo di accensione, consumo energetico e ciclo di lavoro per la programmazione e la coesistenza via etere. A causa di ciò, un’attenta considerazione deve essere esercitata nella scelta del PHY codificato e dello schema di codifica specifico (S=2 o S=8)., S = 8 rappresenta lo scenario peggiore che causa una dimensione del pacchetto quasi 8 volte superiore rispetto al LE 1M PHY.
Formato pacchetto PHY codificato
I pacchetti PHY BLE codificati hanno un formato diverso rispetto ai PHY standard da 1M o 2M. Diamo un’occhiata al formato del pacchetto:
Note importanti sul formato:
- Il preambolo non è mai codificato, il che consente di rilevare il pacchetto in qualsiasi modalità (PHY codificato, PHY 1M o PHY 2M) prima di determinare quale modalità è stata utilizzata per i dati del pacchetto rimanente.
- Il blocco FEC 1 è sempre codificato con S=8,
- il blocco FEC 2 è codificato con S=2 o S=8 (a seconda della configurazione).
- Il CI (indicatore di codifica) viene utilizzato per indicare quale schema di codifica viene utilizzato nel blocco FEC 2 (S=2 o S=8).,
- I valori di temporizzazione mostrati indicano quanto tempo ci vuole per trasmettere il campo specifico all’interno del pacchetto.
Ecco una tabella che mostra la dimensione e la durata di ciascuno dei campi all’interno del pacchetto (tratto da il Bluetooth 5.1 spec):
La tabella mostra le differenze tra l’uso S=2 e S=8 per la codifica. Si noti come la scelta influisce sul tempo di accensione della radio, che a sua volta influisce sul consumo di energia.,
Stato della pubblicità
Affinché due dispositivi Bluetooth LE possano connettersi correttamente in modalità a lungo raggio, un dispositivo (la Periferica) dovrà fare pubblicità sul PHY codificato mentre l’altro (il Centrale) dovrà essere configurato per cercare pubblicità sul PHY Codificato.
In questa modalità vengono utilizzati annunci pubblicitari estesi. Il modo in cui funziona è la pubblicità sui canali pubblicitari primari, dove questi annunci del canale primario puntano a pubblicità del canale secondario che contengono le informazioni pubblicitarie necessarie per stabilire una connessione.,
Comprendere i tipi di pubblicità appropriati utilizzati nella modalità PHY codificata è fondamentale per lo sviluppo di applicazioni BLE che possono operare utilizzando la modalità a lungo raggio. Senza la configurazione corretta, un dispositivo centrale BLE non sarà in grado di scoprire e/o connettersi a una periferica BLE tramite il PHY codificato.
Diamo un’occhiata ai diversi tipi di pubblicità utilizzati in Coded PHY:
Ciò significa che le richieste di connessione su PHY codificati non si verificano sui canali pubblicitari primari, ma si verificano sui canali pubblicitari secondari. I tipi di PDU utilizzati in questo caso sono i tipi AUX_CONNECT_REQ e AUX_CONNECT_RSP.
Procedura di aggiornamento PHY
Bluetooth offre la flessibilità di passare all’utilizzo di PHY diversi durante una connessione. Diversi PHYs possono essere utilizzati in ogni direzione e tra i due dispositivi collegati., Ad esempio, questa procedura può essere utilizzata per passare all’utilizzo del PHY codificato dopo che due dispositivi si sono collegati utilizzando lo standard 1M PHY consentendo ai due dispositivi di aumentare l’intervallo in cui mantengono la connessione.
La procedura di aggiornamento PHY può essere avviata dal master o dallo slave dopo aver stabilito la connessione.,
Quando il Maestro inizia la connessione:
- Master invia LL_PHY_REQ PDU
- Slave risponde con LL_PHY_RSP PDU
- il Master risponde a questo con LL_PHY_IND PDU
Quando lo Slave avvia la connessione:
- Slave invia LL_PHY_REQ PDU
- il Master risponde a questo con LL_PHY_IND PDU
La PDU comprende sia il preferito trasmettere e ricevere PHYs.,
Fasi di implementazione per PHY codificato
Successivamente, passeremo attraverso i passaggi necessari per implementare PHY codificato su una centrale Bluetooth LE e una periferica Bluetooth LE. Ci sarà anche andare oltre i tipi di pubblicità che consentono una connessione da stabilire. Infine, esamineremo i dettagli di ogni passaggio e ci concentreremo sulle fasi generali di implementazione in base alle specifiche Bluetooth ufficiali.
Configurazione periferica
- Impostare per utilizzare PHY codificato come PHY configurato sia per la pubblicità primaria che secondaria.,
- Imposta per utilizzare la pubblicità estesa, necessaria per la modalità PHY codificata.
- Impostare la pubblicità primaria per utilizzare il tipo ADV_EXT_IND (Extended Connectable Nonscannable Undirected advertising).
- Imposta il flag Modalità rilevabile generale del LE su 1.
Configurazione centrale
- Configura la Centrale per accettare e scoprire pacchetti di pubblicità estesi (poiché la pubblicità sul PHY codificato richiede l’uso di pubblicità estese).
- Quando si avvia il processo di scansione/scoperta, assicurarsi che la Centrale sia configurata per eseguire la scansione sul PHY codificato.,
- Assicurarsi che quando viene scoperta una periferica, che i parametri di connessione siano impostati per utilizzare il PHY codificato quando viene avviata una connessione. Ciò assicura che quando i dispositivi si connettono, continuano a utilizzare il PHY codificato invece di passare a un altro PHY (utilizzando la richiesta di aggiornamento PHY).
Con questi passaggi, l’applicazione BLE dovrebbe essere in grado di pubblicizzare, scoprire, connettersi e trasferire dati utilizzando il PHY codificato.,
Prossimi Passi: Implementare Codificato PHY per BLE Centrale e BLE Periferiche sul Nordic nRF52840 chipset
Naturalmente, il passo successivo sarebbe quello di camminare attraverso la procedura dettagliata per l’implementazione e il test delle Codificato PHY per BLE Centrale e BLE Periferiche sul Nordic nRF52840 chipset. Se sei interessato a saperne di più su come impostare gamme di oltre 1 chilometro per i dispositivi periferici Bluetooth LE e Bluetooth LE Central sul chipset nrf52840, dai un’occhiata alla nuovissima Bluetooth Developer Academy.,
Aderendo alla Bluetooth Developer Academy, avrai accesso a una crescente libreria di corsi e tutorial.
Ecco cosa ha da dire un membro dell’Accademia:
Se stai sviluppando un progetto BLE, hai bisogno di due cose, un buon sniffer BLE e la Bluetooth Developer Academy. Sono molto felice di far parte di questa comunità e non vedo l’ora di quello che verrà dopo.,
– Christopher Porte, Principale Sistema di Sicurezza Architetto – Velentium
I corsi attuali sono:
- Le Nozioni di base di Energia Bassa di Bluetooth
- Analisi di BLE eventi utilizzando un BLE sniffer
- Long-range mode (Codice PHY) utilizzando il Bluetooth 5.0
- lo Sviluppo di nRF52 applicazioni con Visual Studio Codice
- Over-the-Air del Firmware dei dispositivi di Aggiornamento OTA (DFU) – nRF52 caso d’uso
- iniziamo con Zephyr (tra cui l’aggiunta personalizzati GATT Servizi e Caratteristiche)
- Guida per Gli Sviluppatori per cosa c’è di nuovo in Bluetooth 5.,2
- SweynTooth: Una sintesi per gli sviluppatori BLE
- Introduzione alla sicurezza BLE
- Introduzione allo sviluppo BlueZ
- Introduzione allo sviluppo BLE per iOS
- …e altri corsi aggiunti ogni mese!
Per un elenco completo dei corsi inclusi, controlla la Libreria dei corsi qui:
Bluetooth Developer Academy Courses Library
L’Accademia dispone anche di una fiorente comunità di esperti Bluetooth, sviluppatori e innovatori., Potrai connetterti e interagire con altri esperti nello spazio Bluetooth, imparare dall’esperienza e dalla conoscenza degli altri e condividere la tua.
Anche incluso nell’Accademia è l’accesso al supporto privato da me personalmente.
Nella comunità, troverai:
- Discussioni su nuove funzionalità come la modalità a lungo raggio (Bluetooth 5.0) e la ricerca della direzione (Bluetooth 5.1).
- Discussioni sulle capacità dei diversi sniffer BLE.
- Confronti di supporto BLE e restrizioni in iOS e Android.,
- Varie domande tecniche e risposte a queste domande.
- Elenco delle aperture di lavoro legate al Bluetooth.
- E molte altre discussioni!
Scopri di più sulla Bluetooth Developer Academy
Sommario
In questo post, abbiamo esaminato i passaggi necessari per raggiungere intervalli di oltre 1 chilometro per la comunicazione tra due dispositivi BLE.,
Abbiamo coperto:
- dettagli tecnici Codificati PHY tra le due diverse configurazioni disponibili (S=2 e S=8)
- I dettagli di codice PHY pacchetti
- Le restrizioni applicate quando si utilizza Codificato PHY
- Le diverse procedure relative al Codificati PHY
- I passaggi necessari per implementare Codificato PHY per BLE Centrale e BLE periferiche di bordo