Eddystone vs iBeacon

Eddystone e iBeacon sono entrambi protocolli di comunicazione per Beacon Bluetooth Low Energy. I Beacon, per chi non lo sapesse, sono Tag attivi che inviano un segnale Bluetooth a intervalli specifici. Questo segnale può seguire uno dei due protocolli sopra citati.

Eddystone

  • 3 tipi di informazioni: Eddystone-UID, Eddystone-URL o Eddystone-TLM.
  • Eddystone-UID è l’ID univoco del Beacon (essenzialmente equiparabile all’UUID dell’iBeacon).
  • Eddystone-URL dice a uno smartphone o un dispositivo di aprire un link web.
  • Eddystone-TLM invia i dati provenienti da sensori, come ad esempio la temperatura rilevata.
  • Eddystone è multipiattaforma, il che significa che funziona bene non solo con iOS e Android, ma con qualsiasi dispositivo che supporta i Beacon Bluetooth.

iBeacon

  • 3 tipi di informazioni: un ID univoco (chiamato UUID), un valore Major e un valore Minor.
  • L’UUID è l’ID univoco del Beacon (essenzialmente equiparabile all’Eddystone-UID).
  • Necessita di un’app per ricevere ed elaborare il segnale inviato dal beacon.
  • Sviluppato da Apple, funziona sia con iOS che con Android (per quanto la compatibilità migliore si ha con iOS).
Eddystone vs iBeacon

Quali sono le principali differenze?

  • iBeacon è più semplice da implementare, ha più documentazione, ma meno funzionalità.
  • Eddystone può inviare più informazioni rispetto ad iBeacon, in particolare quelle relative ai dati rilevati dai sensori; come conseguenza, è anche un po’ più complicato da integrare.

Vediamo ora più nel dettaglio i due diversi protocolli.

Le caratteristiche di Google Eddystone

Eddystone di Google, precedentemente chiamato UriBeacon, è un protocollo Beacon open source che potrebbe essere adottato da qualsiasi azienda a un costo accessibile.

È compatibile con Android e iOS. In generale, è compatibile con qualsiasi piattaforma che supporti i Beacon BLE.

È open source: la specifica è pubblicata su GitHub, sotto la licenza open source Apache v2.0; questo significa che le aziende e gli sviluppatori possono accedervi e contribuire.

È flessibile ma richiede una codifica leggermente più complessa quando si tratta di integrazione, poiché invia più pacchetti di informazioni rispetto ad iBeacon.

Eddystone ha una funzione integrata chiamata EID (Ephemeral Identifiers) che cambia costantemente e consente ai beacon di trasmettere un segnale che può essere identificato solo da “clienti autorizzati”.

Riguardo alle API, Google ne ha lanciate due: Nearby API e Proximity Beacon API. Queste rendono Eddystone per certi versi più potente rispetto ad iBeacon. Tra l’altro, queste API semplificano la gestione della flotta di Beacon.

Le caratteristiche di Apple iBeacon

La tecnologia iBeacon è un protocollo integrato in iOS 7 e nelle versioni successive del sistema operativo di Apple. Il protocollo iBeacon consente ad iPhone e iPad di cercare costantemente i dispositivi Bluetooth nelle vicinanze. I Beacon utilizzano il Bluetooth Low Energy (BLE) che fa parte delle specifiche Bluetooth 4.0 e versioni successive.

È compatibile sia con Android che con iOS, ma è nativo solo per iOS.

È un software proprietario. Pertanto, le specifiche sono gestite da Apple. È semplice da implementare.

L’UUID, uno dei tre elementi del messaggio iBeacon, è legato al server dello sviluppatore. Di conseguenza, quando viene inviato a uno smartphone, questo ha bisogno di un’app specifica per svolgere un’attività particolare con le informazioni ricevute. Pertanto, è necessaria un’app mobile per ricevere messaggi tramite iBeacon.

Non ci sono funzionalità specifiche come gli identificatori temporanei (EID, Ephemeral Identifiers). Il segnale trasmesso da un Beacon è un segnale pubblico e può essere rilevato da qualsiasi dispositivo iOS e da alcuni dispositivi Android con specifiche adeguate.

Apple non ha API specifiche disponibili per la gestione della flotta iBeacon.

iBeacon – UUID, Major e Minor

Il protocollo iBeacon è stato implementato per assegnare a ogni Beacon 3 valori: UUID, Major e Minor. In questo modo, si garentisce che ogni Beacon sia unico, ma si semplifica anche la gestione di flotte consistenti.

L’UUID, come già detto sopra, identifica univocamente il Beacon. Major e Minor possono essere visti come un modo per categorizzarli.

Chiariamo meglio con un esempio.

Ipotizziamo di voler dotare ogni negozio di una grande catena di uno o più Beacon.

Con il valore Major, possiamo identificare la sede di ogni negozio. Per esempio: sede di Roma = 1, sede di Milano = 2, etc. Con il valore Minor, possiamo identificare le zone: Per esempio: ingresso = 1, area camerini = 2; cassa = 3, e così via.

In questo modo, è possibile far eseguire comandi in modo trasversale, per categorie, invece che esplicitare tutti gli UUID dei Beacon di interesse.

Major e Minor non sono obbligatori nell’implementazione, ma essenzialmente sono una maggiore assicurazione che il Beacon rilevato sia quello giusto.