Comuniquem dos dispositius mòbils via bluetooth - Configurem la connexió
El sistema de comunicació Bluetooth -nom inspirat en la traducció a l’anglès del sobrenom d’un rei danès que va treballar per unir els pobles del seu regnat- es tracta d’un protocol de comunicació de tipus PAN (Personal Area Network) que permet la comunicació sense fils en distàncies reduïdes. Permet establir connexions fins a una distància d’uns 10 metres a velocitats que oscil·len entre 1 i 2 Mbps.
Per utilitzar aquest sistema caldrà que el nostre dispositiu disposi d’una antena de comunicació que podrem activar i desactivar a voluntat buscant la icona que l’identifica:
En funció del sistema operatiu que s’utilitzi, aquest opció es podrà activar des del menú desplegable de la pantalla inicial del dispositiu mòbil o caldrà accedir a l’apartat de configuració del dispositiu, i dins les opcions de configuració de les connexions, activar-lo.
Un cop activada l'antena, caldrà aparellar els dispositius que connectarem. Fent aquesta acció, el sistema incorporarà el dispositiu amb el qual ens volem connectar a una llista de dispositius aparellats que utilitzarem des de l'app.
En la imatge anterior hi podem veure cinc dispositius ja aparellats i un, el Nokia 6, que encara no ho està. Per aparellar el nostre dispositiu amb aquest altre dispositiu, tan sols cal seleccionar-lo i, en cas que ho demani, introduir una clau facilitada pel propi dispositiu.
Dissenyem l'app
El sistema Bluetooth ens permetrà comunicar dos dispositius a distàncies reduïdes. El protocol de comunicació Bluetooth, demana que un dels dos dispositius actuï de servidor i l'altre de client. Per tenir tan sols una aplicació farem que per iniciar la comunicació cada usuari haurà de decidir si pren el rol de servidor o de client. Qui faci de servidor es posarà a l’escolta i qui faci de client s’haurà de connectar a l’aparell que estigui escoltant.
Dissenyem la interfície en una sola pantalla
Per a aquesta aplicació podríem tenir diferents pantalles, una inicial i una per cada rol que pot jugar l’app, servidor o client. Per a mostrar però una altra opció de desenvolupament farem que tingui tan sols una pantalla i els elements corresponents que tindríem en pantalles diferents els agruparem en diferents Vertical Arrangements que farem visibles o invisibles segons ens interessi.
El primer que veurà l'usuari en iniciar l'app són dues opcions que li permetran escollir si vol actuar com a client o com a servidor. Aquestes dues opcions estaran dins un Vertical Arrangement que hem anomenat VAInicial que tindrem visible en iniciar l'aplicació. D'aquesta forma, tot el que estigui dins aquest Vertical Arrangement serà visible.
Com es veu a la part inferior de la pantalla, disposarem de dos objectes que permetran a l'aplicació comunicar-se amb l'antena Bluetooth del dispositiu mòbil, BluetoothServer1 que usarem si escollim el rol de servidor i BluetoothClient1 si actuem com a client. Semblantment tindrem dos objectes Clock, ClockServidor i ClockClient, que utilitzarem per anar escoltant pel canal de comunicació.
L'objecte que mostra el text Servidor és un botó i el que diu Client és un listPicker en el qual hi carregarem la llista de dispositius aparellats. En funció de quina opció escollim, es mostrarà un dels dos següents Vertical Arrangements:
Vertical Arrangement VAServidor corresponent al rol de servidor que està ocult en iniciar l'aplicació:
Vertical Arrangement VAClient corresponent al rol de client que també està ocult en iniciar l'aplicació:
Com es veu els dos Vertical Arrangements són molt semblants tot i que per funcionar faran crides a objectes diferents.
Hem creat també un botó BDisconnect que permetrà tancar la connexió entre els dos dispositius que està fora dels Vertical Arrangement ja que es pot activar des de qualsevol dels dos modes de funcionament. Aquest botó el mantindrem ocult mentre no tinguem les connexions activades.