Senza fili è meglio
Siamo sempre meno abituati all'utilizzo dei cavi: connessione ad internet wireless, auricolari wireless, ricariche wireless, etc. E per le Connective App è proprio sulle tecnologie senza fili che la stragrande maggioranza dei progetti si direziona perché è quello che ognuno di noi si aspetta: semplicità senza dover aver bisogno di altri accessori. Le due tecnologie principali lato comunicazione senza fili per le app sono WiFi e BLE; in alcuni casi si parla anche NFC/RFID, ma per esperienza è più raro e comunque hanno applicazioni diverse.
Perché WiFi o BLE?
Entrambe sono tecnologie che si basano sulla comunicazione via radio, quindi il mezzo vero e proprio sono onde in radiofrequenza tra smartphone e l'oggetto che comunica; eppure hanno caratteristiche molto diverse e sono usate per scopi e scenari diversi. La tecnologia Bluetooth Low Energy (o Bluetooth 4.0 e seguenti) utilizza la gamma di frequenze attorno ai 2.4GHz, come le versioni precedenti di Bluetooth (oramai chiamato Bluetooth Classico), mentre il WiFi utilizza varie frequenze: il 2.4GHz stesso, il 5GHz e il 6GHz nel WiFi 6E.
Il BLE (curato dalla community Bluetooth SIG) è pensato per un basso consumo energetico (low energy, appunto) da parte sia dello smartphone che dell'oggetto con cui comunica ed è particolarmente indicata se si trasmettono piccole quantità di dati anche a più destinatari contemporaneamente; il classico esempio di dispositivo BLE sono i braccialetti smart per il fitness o fitband, per citare un caso di successo noto: il Fitbit: questi dispositivi hanno una batteria da preservare il più possibile e pochi dati da inviare o da ricevere: il battito cardiaco, l'attività in corso e il tempo trascorso così come la ricezione di notifiche basiche.
Il WiFi (la cui standardizzazione si deve all'associazione di aziende WiFi Alliance) invece è pensato per la trasmissione di dati di grandi dimensioni, infatti lo utilizzate quotidianamente anche con i pc per l'accesso ad internet; solitamente l'uso di questa tecnologia non è correlata ad un uso eccessivo della batteria in quanto è raro l'uso dei nostri smartphone senza che il WiFi sia acceso e in uso, mentre per il BLE il discorso è diverso, essendo che consuma quando è in uso e non solo quando è acceso.
Un'ultima differenza che sottolineiamo è la diversa UX che comporta nell'app l'uso dell'una o dell'altra strada: la connessione a dispositivi BLE viene gestita totalmente dall'app su entrambi i sistemi operativi iOS e Android permettendo quindi una UX personalizzata senza limitazioni, mentre per quanto riguarda il WiFi è necessario interagire con il sistema operativo, tramite degli shortcut, per chiedere all'utente di connettersi alla rete appropriata e con alcune limitazioni: il motivo di questa differenza è che i nostri smartphone si connettono ad una sola rete WiFi per volta a livello di intero sistema, mentre si possono connettere a dispositivi BLE (o Bluetooth) multipli contemporaneamente.
Dati e sicurezza
Una volta scelto se usare WiFi o BLE in base allo scenario applicativo si progetta poi come trasmettere i dati; è a questo punto che si parla di "protocolli" di trasmissione dati, ovvero comandi e risposte per incapsulare una conversazione socievole 🤣 tra app e prodotto che comunica. Solitamente quando si utilizza la connessione WiFi si instaurano connessioni basate su TCP, quindi socket con protocolli proprietari oppure tramite HTTP/HTTPS, mentre su BLE ci è capitato di utilizzare anche dei messaggi che si interfacciavano con CANBus, KWP200, Modbus, etc, e comunque per lo più protocolli proprietari.
Sul trasferimento dei dati poi si fanno approfondimenti a proposito della sicurezza: tramite tecniche allo stato dell'arte si proteggono i dati in modo adeguato con scambi di certificati e cifratura/decifratura delle comunicazioni.
Hai un prodotto che comunica con queste tecnologie e vorresti sfruttarlo realizzando una Connective App?