Tag : programmazione

post image

Beacon B03 della iBlio

Torniamo ad occuparci dell’hardware beacon, e questa volta abbiamo analizzato il nuovo modello B03 della torinese iBlio, con specifiche Eddystone e iBeacon.

Il beacon si presenta di medie dimensioni, di forma quadrata, con due fori sul case per il passaggio delle viti di installazioni. Come già detto, il salto di qualità nel case, rispetto ai primi modelli, è evidente. Il beacon si preannuncia resistente e con una buona impermeabilità che lo rende adatto anche ad un uso esterno, nonostante il modello non abbia particolari accorgimenti. Per quanto riguarda la funzionalità hardware, il modello risulta essere molto completo e con alcune funzionalità aggiuntive particolarmente interessanti. Considerando la parte Eddystone, grazie al frame TLM, si possono controllare: carica della batteria, temperatura interna del dispositivo, contatore advertisement (ovvero il numero di segnali inviati dalla sua accensione) e da quanto tempo esso è acceso; sul resto interessante anche la monodirezionalità dell’antenna, che invia il segnale in una sola ed unica direzione.

La batteria, invece, risulta essere la parte più debole del dispositivo. Il beacon utilizza una coin battery da 3V CR2477N, con una durata prevista di 1 anno. Un’autonomia un po’ bassa considerato le alte autonomie riscontrate per altri modelli, in parte però giustificata dall’alto numero di informazioni inviate. Qualche problema, invece, viene dato dall’alloggiamento della batteria. In fase di rimozione, infatti, estrarre la batteria comporta una pericolosa piegatura della circuteria, e per evitare il rischio di frattura abbiamo dovuto smontare l’intero blocco-circuito.

Lasciamo la parte operativa e concentriamoci sulla configurabilità e programmazione. Per quanta riguarda la configurabilità, nonostante l’assenza di un’app dedicata sviluppata da iBlio, essa risulta eccellente, in quanto il beacon dialoga benissimo con tutte le app esistenti sugli store. Purtroppo non ci risultano rilasciati gli SDK per la programmazione, facendo risultare più complesso questo aspetto.

In conclusione, il modello della iBlio, nonostante alcuni difetti come la batteria, risulta essere un beacon molto funzionale e soprattutto versatile. I molti sensori sensori installati hanno il pregio di rendere il beacon molto tecnico, adatto ai contesti in cui è necessario il costante controllo delle prestazioni. Questa qualità giustifica ampiamente il prezzo superiore rispetto ai beacon della stessa categoria.

Hardware: 9/10

Case e resistenza: 6,5/10 (8,5 per il case, 5 per il blocco batteria)

Configurabilità: 9/10

Programmabilità: n.d.

Qualità/prezzo: 8,5/10

Voto finale: 8/10

Beacon B03

post image

Come gestire le batterie dei beacon

La gestione della batteria è uno degli aspetti più importanti da valutare in ogni progetto che coinvolga l’uso dei beacon. Ormai i primi progetti pilota hanno superato il primo anno di vita e si stanno avvicinando al momento della prima (costosa) sostituzione di massa delle batterie; inoltre chiunque stia progettando un lavoro sui beacon, dovrebbe porsi qualche domanda sulla loro manutenzione, in quanto può essere un momento critico per qualsiasi lavoro.

Noi di Beaconitaly abbiamo contattato Valter Foresto di iBlio, azienda torinese produttrice di beacon, per parlare proprio di questo argomento fondamentale.

Quali sono le problematiche che possono subire le batterie di un beacon?

Le problematice sono principalmente 4: l’influnza della temperature, l’autoscarica, le questioni tecniche (reperibilità, costo, ingombro, prestazioni), l’impatto ambientale e il loro smaltimento.

Per quanto riguarda il primo punto, la capacità delle batterie tipicamente decresce al diminuire della temperatura operativa ed il range di temperatura operativo va da -40 a +85 °C per le batterie “coin battery” tipicamente usate nei dispositivi BLE come i beacons.

Sull’autoscarica, bisogna considerare che le batterie subiscono nel tempo una perdita della propria capacità, ma questo parametro è da considerarsi importante solo per lunghi periodo di stoccaggio in cui queste non sono operative. Questo parametro ha scarsa influenza quando queste sono operative in quanto il consumo medio operativo è tipicamente ben maggiore di quello dovuto all’autoscarica.

La reperibilità commerciale delle batterie è un parametro da considerare attentamente. Molto importanti sono le prestazioni in termini di “capacità”, intesa come quantità di corrente fornibile nel tempo ed espressa quindi in ampere-ora (Ah o suoi millesimi mAh), l’ingombro che influenza le dimensioni finali del prodotto ed i costi che sono legati essenzialmente ai tre parametri appena descritti.

Le capacità tipiche delle batterie usate nei dispositivi BLE come i Beacons sono le seguenti :

  • Batterie tipo “coin cells” CR2032 220mAh, CR2450 500mAh, CR2477 1000mAh
  • Batterie tipo “AA” da 1.5V usate in coppia da 2000mAh, da 3V al Litio da 3000mAhInfine, l’ impatto ambientale e lo smaltimento delle batterie sono un problema di portata planetaria.

Cosa consigliate, a chi possiede già dei beacon, per garantire la funzionalità della batteria il più a lungo possibile.

Sono quattro i consigli da fornire:

1) Usare un periodo di advertisement il più lungo possibile compatibilmente con la responsività desiderata dell’azione associata alla rilevazione del beacon.

2) Impostare la potenza RF emessa dal dispositivo BLE in funzione dell’ effettivo raggio massimo richiesto dalla propria applicazione (qui un riferimento)

3) Il numero di bytes trasmessi in un pacchetto BLE dipende dal tipo di advertisement (iBeacon, Eddystone-UID, Eddystone-URL, Eddystone-TLM, Sensori/Attuatori, Sicurezza, ecc) ed influenza direttamente il consumo di energia, maggiori informazioni trasmesse portano ovviamente a maggiori consumi.

4) Il pacchetto di advertisement è tipicamente trasmesso sui 3 canali standard previsti dal BLE ad ogni periodo di advertisement. Configurare 2 canali invece di 3 aumenta di 1/3 la durata della batteria, e di 2/3 se usato un canale solo. Questa tecnica è da usare però con accortezza in quanto gli scanners / clients BLE normalmente scansionano tutti e tre i canali e quindi riducendo il numero di canali si riduce la responsività degli scanner.

Chi deve realizzare un progetto che prevede l’utilizzo dei beacon, deve considerare il consumo naturale della batteria nel tempo e la loro sostituzione, soprattutto in caso di grandi quantità di dispositivi. Quali sono le indicazioni da seguire?

Quanto detto in risposta alle due domande precedenti va considerato attentamente oltre a definire una procedura di approvvigionamento preventivo e sostituzione programmata del parco batterie dei dispositivi in campo.

Il fatto che i dispositivi BLE come i beacon siano in grado di inviare autonomamente informazioni sullo stato della batteria è così fondamentale per chi deve gestirne in campo l’operatività. Da questo punto di vista i prodotti che forniscono tali informazioni, localmente o via Internet, sono assolutamente da preferire.

Come produttore di beacon, cosa proponete come nuove soluzioni per un miglioramento della batteria?

Oltre ai suggerimenti visti ai punti precedenti, e soprattutto quanto detto in merito all’ impatto ambientale ed allo smaltimento, le batterie dovrebbero essere usate quando non se ne può fare a meno. Quanto detto ha portato iBLio ad essere il primo produttore al mondo a realizzare dispositivi BLE alimentabili, oltre che a batterie di lunga durata, anche a Celle Solari e tramite Wireless Power Transfer che alleviano entrambe molte delle problematiche descritte in precedenza ed eliminano le problematiche di gestione, manutenzione e smaltimento delle batterie.

post image

Impara a programmare i beacon a Pisa

Un’intera giornata dedicata ad insegnare come sviluppare un’applicazione beacon! Ciò accade Venerdì 9 Ottobre, all’interno del Pisa Internet Festival, e sarà un’occasione da non perdere. Imparare a sviluppare un’app che integri i moduli beacon, infatti, non è semplice, e spesso richiede molte ore di ricerca prima di acquisire le competenze necessarie.

Il seminario sarà tenuto da Alessio Cucini di BlueUp, insieme a Giacomo Bosio e Giovanni Catania di BeeApp. Saranno spiegati, passo dopo passo, tutti i passaggi necessari per sviluppare un’applicazione beacon, con l’obiettivo di far creare un’applicazione reale a tutti i partecipanti. Il seminario è gratuito e aperto a tutti quanti. L’ambiente di sviluppo scelto per l’occasione è iOS, quindi il consiglio è di venire all’appuntamento con i propri Mac con Xcode già installato. Ovviamente, anche chi non sviluppa per i sistemi della mela può partecipare al seminario, essendo questa un’ottima opportunità per incontrare degli esperti nell’ambito beacon.

Leggete qui per dettagli più approfonditi sull’iniziativa.

Quando: 9 Ottobre 2015, h. 10-18

Dove: SMS Centro Espositivo per l’arte contemporanea Le Piagge, via San Michele degli Scalzi, Pisa

Con Chi: Alessio Cucini (BlueUp), Giacomo Bosio (BeeApp), Giovanni Catania (BeeApp)

Obiettivo: imparare e creare un’applicazione beacon,

post image

Eddystone, il nuovo formato Google

Il 16 Luglio 2015 Google ha rilasciato il nuovo formato Eddystone, in grado di ampliare le funzionalità dei beacon, e di conseguenza, anche la loro possibilità di utilizzo.

Che cosa è Eddystone?

Descrivendolo in poche parole, Eddystone è l’unione tra i formati iBeacon e Uribeacon in un solo formato: in pratica, l’evoluzione che ci aveva già anticipato Valter Foresto di iBlio in una nostra intervista ad aprile. Con Eddystone, quindi, si semplifica la programmazione, in quanto essi “dialogano” in un linguaggio comune.

Vediamo come funziona. Premetto subito che per l’utente finale (ovvero, chi riceve le notifiche), le differenze non saranno visibili: Eddystone, infatti, non modifica il modo con cui si ricevono le notifiche. Diverso invece il discorso per chi programma.

Eddystone si compone di tre grandi pacchetti: il E-UID, che ricalca il formato iBeacon; il E-URL, riguardante la parte Uribeacon; e d infine il E-TLM, la cui funzionalità spiegherò più tardi. Devo inoltre aggiungere che Eddystone è open source, al contrario del formato iBeacon; inoltre la prima è nativa sia per Android che iOS. Ciò comporta possibilità di personalizzazione molto più ampie rispetto ai formati iBeacon, utili soprattutto in contesti ambientali particolari, come, ad esempio, quello industriale o di software integrato.

Il pacchetto E-UID include una novità molto importante: la stringa di codice inviata da un beacon formato Eddystone è differente rispetto ad uno formato iBeacon. La stringa E-UID infatti è formato da due elementi: il Namespace, di 10byte, e l’Instance, di 6byte, per un totale di 16byte, mentre l’iBeacon ne ha tre: UUID (16byte), Major (2byte) e Minor (2byte), per 20byte totale. Il Namespace corrisponde, nella funzione, all’UUID, mentre l’Instance svolge la stessa funzione del Major e Minor. Questo comporta un codice più snello, anche se meno articolato rispetto a quello della Apple. Come per il formato iBeacon, per leggere le notifiche E-UID è necessaria un’app che riconosca il codice e attivi i contenuti ad esso associati.

Il pacchetto E-URL si caratterizza, invece, per una voce molto semplice: URL. Questo perché l’E-URL, riprendente il formato Uribeacon lanciato dalla stessa Google, deve compiere una sola azione: trasmettere un sito web ai dispositivi degli utenti. La dimensione della stringa, quindi, è direttamente proporzionale alla lunghezza dell’url desiderato. Per poter leggere un E-URL è necessario uno scanner per il Physical Web (qui una versione iOS e qui Android).

Il pacchetto più interessante è il E-TLM. Essa consente la gestione di un’intera flotta di beacon, per tutti quegli aspetti riguardanti la manutenzione e il loro stato di salute. Sono pacchetti di data inviati in aggiunta al classico segnale beacon, leggibili soltanto dal proprietario del dispositivo, o da chi si occupa della manutenzione. Questi pacchetti di dati includono informazioni riguardo alla stringa (o URL) trasmessa, ma anche altri aspetti quali la temperatura interna del beacon, la condizione della batteria e altri dati ancora, a seconda del sensore presente all’interno del beacon. Un sistema che agevola enormemente il lavoro a chi si occupa di beacon, soprattutto in caso di un gran numero di dispositivi. Inoltre, questo pacchetto permette l’integrazione con la Proximity API e la Nearby API di Google, con la possibilità di accedere ad informazioni riguardanti il beacon specifico contenute all’interno dei Cloud di Mountain View.

In conclusione, Eddystone non è quel sistema rivoluzionario annunciato da molti, ma un formato che racchiude quelle funzioni più volte invocate dagli sviluppatori e dagli esperti marketing. Esso infatti non cambia il rapporto dell’utente finale nei confronti del beacon, ma il modo di lavorare con essi.

Siamo curiosi di vedere la risposta di Apple a questo nuova uscita di Big G.

post image

Iniziare a programmare coi Beacon Estimote

Amici di beaconitaly, abbiamo deciso di scrivere una breve guida su come iniziare a programmare coi beacon Estimote una volta acquistati. Siete in tanti, infatti, a scriverci chiedendoci come fare, ed ecco quindi la nostra piccola e breve guida!

Iniziare con iBeacon Estimote SDK.

Guida per iOs

– Link SDK -> https://github.com/Estimote/iOS-SDK

Intro:

L’SDK fornito da Estimote per iOS è pienamente compatibile con tutti i dispositivi Apple con tecnologia Bluthoot 4.0.

Offre una vasta gamma di funzionalità che serve per risparmiare tempo e rendere lo sviluppo più facile che mai, si basa su Apple Core Location e Core Bluetooth ed è compatibile al 100% con formato iBeacon.

Tutto quello che ti serve per lo sviluppo:

  La Documentazione ufficiale di Estimote -> http://developer.estimote.com

  L’app di Estimote iOS per la gestione dei beacon. -> https://itunes.apple.com/us/app/estimote/id686915066?mt=8

  SDK Reference -> http://estimote.github.io/iOS-SDK/

  Link Community Estimote -> https://community.estimote.com/hc/en-us

Installazione in Xcode:

1)  Aggiungi EstimoteSDK.framework nella sezione “Linked Frameworks and Libraries” di Xcode

2)  Aggiungi #import <EstimoteSDK/EstimoteSDK.h>  nei file di implementazione.

Note: In Swift, devi aggiungere #import <EstimoteSDK/EstimoteSDK.h> in un’istanza di Objective-C Bridging Header.

3) E’ anche disponibile da CocoaPods.org.

– Estimote fornisce liberamente un’applicazione d’esempio, da dove poter prendere spunto per eventuali sviluppi personali.

  Non ti resta che scaricare il progetto da GitHub e lanciare l’app d’esempio con Xcode sul tuo iphone.

  Adesso è tutto. Buon Divertimento.

  

  

Guida per Android

– Link SDK -> https://github.com/Estimote/Android-SDK

Intro:

L’SDK fornito da Estimote per Android è pienamente compatibile con tutti i dispositivi con S.O. Android 4.3 e

tecnologia Bluthoot 4.0.

Tutto quello che ti serve per lo sviluppo:

  La Documentazione JavaDocs -> http://estimote.github.io/Android-SDK/JavaDocs/

  L’app di Estimote Android per la gestione dei beacon. -> https://play.google.com/store/apps/details?id=com.estimote.apps.main

  Link Forums Estimote -> https://forums.estimote.com/c/android-sdk

  Link Community Estimote -> https://community.estimote.com/hc/en-us

Installazione in Eclipse:

1)  Crea la directory libs nel tuo progetto e copia il file estimote-sdk.aar.

2)  Nel build.gradle aggiungi flatDir:

repositories {

  mavenCentral()

    flatDir {

      dirs ‘libs’

    }

}

3) Aggiungi le dipendenze di Estimote SDK:

dependencies {

  compile(name:’estimote-sdk’, ext:’aar’)

}

Inoltre hai bisogno di attivare i servizi (BLUETOOTH, BLUETOOTH_ADMIN and INTERNET) nel file AndroidManifest.xml.

4)  Se usi l’Estimote Cloud (link: https://cloud.estimote.com), inizializza con:

EstimoteSDK.initialize(applicationContext, appId, appToken);

– Estimote fornisce liberamente un’applicazione d’esempio, da dove poter prendere spunto per eventuali sviluppi personali.

  Non ti resta che scaricare il progetto da GitHub e lanciare l’app d’esempio con Eclipse sul tuo AndroidPhone.

  Adesso è tutto. Buon Divertimento.

post image

Il Beacon ONE della OnyxBeacon

Tramite il nostro sito, avete già conosciuto la produttrice rumena di beacon OnyxBeacon. Oggi trattiamo un altro loro prodotto, il Beacon One, primo modello prodotto dall’azienda di Cluj.

Il Beacon One è un piccolo dischetto (5 cm di diametro e 1 cm di profondità), da utilizzare soprattutto in contesti difficili, dove lo spazio è poco oppure dove è necessaria una certa discrezione visiva.

Ci siamo soffermati molto ad analizzare la componente hardware del beacon, come nostra abitudine. Il Beacon One è attrezzato con una singola batteria a bottone, per una durata dichiarata di circa un anno, una durata nella media di questo particolare tipologia di beacon; purtroppo ha il limite di non possedere dei sensori collegati alla batteria, per cui non è possibile rilevare da remoto il suo stato di salute! Un altro limite è il tempo di connessione (ovvero il tempo impiegato per connettersi al beacon in ambito di sviluppo), che risulta essere molto lento (oltre i 1600 ms!!!).

Molto migliore risulta, invece, essere il case. Il design è molto gradevole e curato, i bordi zigrinati e la figura a disco gli conferiscono una figura elegante, forse uno dei più beacon disponibili sul mercato; inoltre, molto buone sono le impressioni che ci ha dato in ambito di resistenza: la struttura è solida e robusta nonostante le dimensioni, la chiusura risulta essere molto efficace, ed è anche molto resistente all’acqua! L’unico limite è rappresentato dall’attacco, affidato ad uno spesso adesivo 3M: il nostro dubbio è che, nel lungo periodo, l’adesivo possa deteriorarsi provocando così la caduta del beacon.

La configurabilità e programmabilità sono, come nel caso dell’Enterprise, eccellenti. Anche qui il beacon si configura facilmente grazie all’app gratuita messa a disposizione dalla stessa Onyx, previa registrazione al suo CMS online. Per quanto riguarda la programmabilità, la Onyx mette a disposizioni gli SDK per iOS e Android, semplificando molto la vita dello sviluppatore; inoltre, questione non secondario, il beacon One si riconosce come iBeacon!

Hardware: 6/10

Case e resistenza: 8/10

Configurabilità: 8,5/10

Rapporto Qualità/Prezzo: 9/10

Voto Finale: 7,5/10

post image

Android Beacon Module Titanium

Android Beacons Module Titanium (Link al repository: https://github.com/davidedepp/davidedepp-android-beacons)

Oggi torniamo ad occuparci di programmazione! Abbiamo sviluppato e lasciamo a disposizione un modulo Titanium per Android che esegue il monitoraggio dei Beacon appartenenti alla stessa regione, e permette inoltre di far diventare il dispositivo fisico un vero e proprio Beacon.

Di seguito trovate gli step da compiere per l’installazione e l’utilizzo del modulo all’interno di un progetto Appcelerator Titanium. (Piattaforma di sviluppo per App Mobile) link: http://www.appcelerator.com;

1) Copia e incolla il seguente codice xml nel file manifest di Android (tiapp.xml)
<ti:app>

<android xmlns:android=”http://schemas.android.com/apk/res/android”>
<manifest package=”[YOUR_APP_PACKAGE_NAME]”>
<uses-sdk android:minSdkVersion=”10″
android:targetSdkVersion=”18″/>
<uses-permission
android:name=”android.permission.BLUETOOTH”/>
<uses-permission
android:name=”android.permission.BLUETOOTH_ADMIN”/>
<application>
<service android:enabled=”true”
android:exported=”true”
android:isolatedProcess=”false”
android:label=”iBeacon”
android:name=”com.radiusnetworks.ibeacon.service.IBeaconService”>
</service>
<service android:enabled=”true”
android:name=”com.radiusnetworks.ibeacon.IBeaconIntentProcessor”>
<meta-data android:name=”background” android:value=”true” />
<intent-filter
android:priority=”1″ >
<action android:name=”[YOUR_APP_PACKAGE_NAME].DID_RANGING”/>
<action android:name=”[YOUR_APP_PACKAGE_NAME].DID_MONITORING”/>
</intent-filter>
</service>
</application>
</manifest>
</android>

<modules>
<module platform=”android”>com.alfonsojanus.beacons</module>
</modules>

</ti:app>

Nota Importante: Non dimenticate di sostituire la stringa [YOUR_APP_PACKAGE_NAME] con l’identificativo dell’app ES:com.companyname.app

2) Dopo aver scaricato e scompattato lo zip del modulo, copiate la cartella com.alfonsojanus.beacons in
modules/android presente nella root del vostro progetto (se non ci sono createli).
Esempio path finale: /modules/android/com.alfonsojanus.beacons

3) Prima di iniziare a usare i metodi del modulo bisogna aggiungere questo codice nel file app.js
var TiBeacons = require(‘com.alfonsojanus.beacons’);

4) Per il monitoraggio dei Beacon all’interno di una o più regioni

Esempio codice:

TiBeacons.startMonitoringForRegion({
uuid : “00000000-0000-0000-0000-000000000000”,
identifier : “Test Region 1”,
});

TiBeacons.startMonitoringForRegion({
uuid : “00000000-0000-0000-0000-000000000001”,
identifier : “Test Region 2 (group-specific)”,
major: 1
});

TiBeacons.startMonitoringForRegion({
uuid : “00000000-0000-0000-0000-000000000002”,
identifier : “Test Region 3 (device-specific)”,
major: 1,
minor: 2
});

TiBeacons.addEventListener(“enteredRegion”, alert);
TiBeacons.addEventListener(“exitedRegion”, alert);
TiBeacons.addEventListener(“determinedRegionState”, alert);

TiBeacons.setAutoRange(true);

TiBeacons.addEventListener(“beaconRanges”, function(event) {
alert(event.beacons);
});

Per tenere traccia del cambiamento della Beacon proximity:

TiBeacons.addEventListener(“beaconProximity”, function(e){
alert(“beacon “+e.major+”/”+e.minor+” is now “+e.proximity);
});

5) Per stoppare il monitoring/ranging

TiBeacons.stopRangingForAllBeacons();
TiBeacons.stopMonitoringAllRegions();

6) Per far diventare il dispositivo come un iBeacon: (funziona solo Nexus 9, Nexus 6, Samsung SM-G900F e SM-G900V)

TiBeacons.addEventListener(“advertisingStatus”, function(event) {
Ti.API.info(event.status);
});

TiBeacons.startAdvertisingBeacon({
uuid : “00000000-0000-0000-0000-000000000000”,
identifier : “TiBeacon Test”,
major: 1,
minor: 2
});

7) Controllare lo stato del Bluetooth: on/off

TiBeacons.addEventListener(“bluetoothStatus”, function(e){
if (e.status != “on”) {
Ti.API.error(“bluetooth is not on”);
}
});

TiBeacons.requestBluetoothStatus();

E questo è tutto! Speriamo di essere d’aiuto a tutti gli amici sviluppatori di beaconitaly!

post image

La nostra prima App: Beaconbike

Finalmente, ecco la prima App firmata Beaconitaly!!! Beaconbike nasce dalla costante paura che abbiamo quando lasciamo la bicicletta da qualche parte a Bologna (magari per fare delle commissioni o prendere un caffè con gli amici); così, per non dover controllare ogni minuto che la nostra bicicletta sia tranquilla nel luogo dove l’abbiamo lasciata, abbiamo pensato a questa app.

Il funzionamento è semplice: acquistate un beacon e montatelo sulla vostra bicicletta (ovviamente cercate i modelli beacon più piccoli).

Attivate il bluetooth sul vostro iPhone e iPad, poi attivate il monitoraggio delle attività sul vostro iPhone o iPad: beaconbike sarà in grado di avvisarvi quando vi spostano la bicicletta, permettendovi di intervenire subito al primo accenno di furto.

L’app funziona anche per, eventualmente, ritrovarla, perché avvisa quando ci si trova ad una certa distanza dalla propria bicicletta.

I modelli supportati per default sono gli Estimote e i BlueUp, ma esiste l’opzione per aggiungere l’UUID di qualsiasi beacon, lasciandovi libertà di scelta.

Ovviamente Beaconbike è gratuita, ed è un piccolo regalo per tutti i nostri lettori!

 

badge-app-store-ita

 

post image

Segnale beacon o segnale iBeacon?

A volte, nel tentativo di trovare in rete soluzioni a problemi di sviluppo, si può incappare in quello che ancora costituisce un equivoco abbastanza comune: identificare ogni dispositivo Bluetooth Low Energy (BLE) che trasmette periodicamente un pacchetto dati (l’advertising packet) comunemente chiamato beacon, con un iBeacon.

Sebbene questo possa essere considerato vero nella stragrande maggioranza dei casi pratici, occorre tenere presente che ciò non è corretto e che coloro che lavorano per Gimbal (per esempio) potrebbero anche avere qualcosa da ridire. 😉

Ma cosa rende effettivamente un beacon un iBeacon? La struttura che Apple ha definito per organizzare le informazioni contenute nell’advertisement.

Vale a dire che iBeacon costituisce una particolare implementazione dell’advertisement (più precisamente del cosiddetto payload, il carico utile trasmesso, come si vedrà oltre) e che altri potrebbero decidere di strutturare diversamente a seconda delle particolari funzionalità offerte dalla loro soluzione.

In generale, l’advertisement viene realizzato trasmettendo un pacchetto di lunghezza fino a 47 byte, così strutturato:

 

Advertising Packet

Preamble

1 byte

Access Address

4 byte

Packet Data Unit (PDU)

2-39 byte

CRC

3 byte

 

in cui troviamo:

  • 1 byte di preambolo

  • 4 byte per l’Access Address con valore fisso 0x8E89BED6

  • da 2 a 39 byte per il pacchetto dati PDU

  • 3 byte per il controllo di integrità dei dati

A sua volta, il segmento PDU è strutturato come segue:

 

PDU

Header

2 byte

MAC Address

6 byte

Data

fino a 31 byte

 

in cui, oltre ai 2 byte d’intestazione, si colloca l’effettivo payload costituito da:

  • 6 byte per l’indirizzo MAC del dispositivo BLE

  • fino a 31 byte per i dati

Ora, è qui che la specifica iBeacon™ trova la sua applicazione, determinando l’organizzazione del segmento Data in questo modo:

 

Data

iBeacon™ Prefix

9 byte

UUID

16 byte

Major

2 byte

Minor

2 byte

TX Power

1 byte

 

vale dire:

  • 9 byte per il prefisso iBeacon™ con valore fisso 0x0201061AFF4C000215

  • 16 byte per l’identificativo univoco UUID

  • 2 byte per Major e Minor

  • 1 byte per il valore di calibrazione della forza del segnale a 1 m. di distanza, espressa in complemento a 2

Così strutturato, il segmento Data è in grado di fornirci quelle informazioni che abbiamo imparato a utilizzare per definire le regioni di interesse per le nostre applicazioni, oltre a consentirci di determinare, congiuntamente alla forza del segnale sentito dalla radio Bluetooth, la distanza a cui ci troviamo dal dispositivo BLE che ci ha inviato il suo advertisement.

La community Alive Devs Society e l’evento del 18 maggio

Abbiamo raggiunto Gerardo Fogliano e Andrei Liscan della community Alive Devs Society, per raccontarci l’evento beacon di Milano da loro organizzato, che si preannuncia essere interessante!   Raccontateci di voi, della vostra community, di come vi siete conosciuti. Gerardo: ho studiato ingegneria informatica al Politecnico di Milano, poi ho deciso di concentrarmi sulla programmazione per iPhone. Da ciò è nata l’idea di fondare una community a Milano per appassionati di tecnologia Apple e sviluppo iOs. Ho creato la community su www.meetup.com, un sito per la gestione delle community e che fornisce gli strumenti per realizzare gli eventi. Al nome che ho scelto è legata una curiosità: il nome è infatti ispirato al titolo originale originale del film L’attimo Fuggente: Deads Poets Society, e ci piacerebbe ricreare l’atmosfera del film, con gli studenti che si ritrovano per parlare di tematiche specifiche, nel film la poesia, nel nostro caso, in modo molto più nerd, di sviluppo e codici, o comunque di argomenti sulla tecnologia mobile di Apple. Durante uno dei primi eventi che ho organizzato, ho incontrato Andrei, ed è diventato anche lui uno dei Core Organizer della community. Andrei: Sono sempre stato appassionato di tecnologia e da quattro anni mi sono focalizzato particolarmente sul mondo iOS, sviluppando applicazioni prima come freelance e adesso con una piccola realtà mia. Lunedì 18 maggio farete un evento in cui parlerete di beacon. Raccontateci il programma e gli argomenti di questo incontro. Gerardo: L’intervento sarà ovviamente focalizzato sui beacon, e avremo come ospite Luca Panzanella, che ci illustrerà come funzionano e come si utilizzano. Luca Panzanella è uno dei fondatori dell’App&Mapp, e si occupano di organizzare compagne di proximity marketing e di aiutare le varie realtà ad introdursi a questo mondo. Andrei: Ci sarà probabilmente anche l’intervento, via call, del CEO e fondatore di BlueUp, Alessio Cucini. La BlueUp si occupa della produzione dei beacon, quindi all’incontro parleremo sia degli aspetti software tecnici che di quelli hardware. Ci date qualche informazione utile per chiunque decida di venirvi a trovare. Gerardo: vorrei cominciare dando il riferimento della pagina ufficiale dell’Alive Devs Society, che si trova all’interno dello spazio di meetup, a cui ci si può iscrivere gratuitamente per rimanere sempre aggiornati sui prossimi eventi ed incontri. La maggior parte degli eventi si tengono in Copernico, un nuovo Business Innovatin Center a Milano, proprio in zona stazione centrale, quindi raggiungibili facilmente anche per chi viene da fuori. L’indirizzo è via Copernico 38. L’evento di Lunedì, (gratuito, nda) si svolge al piano -1, presso il co-working space di StartMiUp, e sarà alle 19. Ricordiamo brevemente a tutti gli amici di beaconitaly i vostri contatti. Andrei: c’è il sito internet www.meetup.com/alive-devs-society Gerardo: Per chiunque voglia comunicare con noi personalmente siamo sia su Linkedin e sui social Network, anche per una consulenza personale. Cosa altro aggiungere, se non invitarvi ad affollare le sale del Copernico per avere un’esperienza concreta dei beacon!   Qui troverete l’intervista integrale Audio!!!

Cheap MLB Jerseys China

BEGLEY: Well. ” Cranston explains.the flash controller behind the X25 M line the slowest six cars are eliminated in each of the first two sessions ” said Adrian Sciarra, he says.0762. ‘If you say a single word in Chinese.
president of The African Community Organization of Windsor. referring to a strong aftershocks in Christchurch that month 79Employee Health Stress So You Want to Be a Mailman The CCA Experience This wholesale nhl jerseys article explores four of the biggest roadblocks to happiness encountered as a CCA (City Carrier Assistant). Cadmium Found in Children’s Dinner Plates Health Canada announced a forced recall on RaceORama Cars Glazed Dinner Plates on December 4 cognitive problems,and hit a bridge embankment punters. Therefore it’s going to be seen on the mid Camisetas de futbol winter snow storms, a triumphant Frost unveiled the next chapter in his evolution as self described No. cheap michael kors ” Benjamin. a fourth generation Tulsan whose grandfather helped bury the Plymouth. Furthermore.

Contatti

Janus s.r.l.
via Speranza, 35
40068 S. Lazzaro di Savena
Bologna

Tel:. 051 6277711
Fax: 051 6277701
marketing@beaconitaly.it
P.I. e C.F. 01857771206
Registro Imposte Bologna 26936/98
Cookie Policy
Privacy Policy