67
IoT |
SOFTWARE
EMBEDDED
55 • FEBBRAIO • 2015
La stazione meteo Qt è una semplice dimostra-
zione pratica di un sistema IoT. Prevede l’uso di
singole stazioni meteorologiche che sono dei di-
spositivi embedded dotati di sensori meteo wire-
less. Queste stazioni sono collegate al Qt Cloud,
accessibili da qualunque luogo con un’applicazio-
ne client, mobile o desktop.
Tutti gli elementi della Stazione Meteo Qt — la
stazione embedded, il cloud-backend e i client
mobile e desktop — sono stati implementati uti-
lizzando esclusivamente Qt. I client mobile e de-
sktop condividono in realtà lo stesso codebase
“1 a 1” e la stazione meteo riutilizza l’interfaccia
lato client come interfaccia del dispositivo em-
bedded.
La stazione meteo embedded gira su una scheda
di sviluppo Raspberry Pi o sul Boundary Device
SABRE LITE (Freescale i.MX 6) e utilizza lo stack
software “Boot to Qt” di Embedded Linux prein-
stallata con Qt Enterprise Embedded. Con Qt, la
moderna interfaccia tattile è integrata perfetta-
mente nel codice di basso livello del driver che
comunica con i sensori meteo wireless su un ri-
cevitore wireless connesso in USB. Il dispositivo
potrebbe anche operare in modalità headless,
senza interfaccia locale. Tramite la Qt Cloud API,
il dispositivo embedded carica i dati del sensore
nell’Enginio Data Storage. L’applicazione client è
una normale applicazione Qt che può quindi gira-
re in modo nativo su tutte le principali piattafor-
me mobili e desktop. Utilizzando la Qt Cloud API,
essa cattura i dati del sensore meteo dal cloud
e li visualizza utilizzando la tecnologia di interfac-
ciamento Qt Quick. Per applicazioni multischer-
mo come questa, non è sempre il massimo avere
lo stesso layout in dispositivi con schermo pic-
colo o grande, orizzontale o verticale. Abbiamo
massimizzato il riuso di codice utilizzando esat-
tamente gli stessi componenti scalabili dell’in-
terfaccia ma diversi file di layout di alto livello
per i diversi tipi di schermo. In questo modo, solo
alcune righe di codice sono state differenziate in
base ai diversi layout.
Gli sviluppatori hanno lavorato insieme a un pro-
gettista di interfaccia. Con la tecnologia Qt Quick
UI hanno potuto usare una rapida prototipazione
dell’interfaccia per realizzare diversi layout di in-
terfacce di prova.
Le interfacce prototipo potevano essere testa-
te localmente su una versione desktop di Qt o
con un’applicazione direttamente residente sul
dispositivo embedded o su un dispositivo mobile
con l’ambiente di sviluppo integrato Qt Creator,
che permette di passare direttamente da una
piattaforma all’altra, cambia automaticamente
la sottostante toolchain di cross-compilazione
e si collega al dispositivo finale tramite USB o
indirizzo IP.
Architettura di un
semplice sistema IoT
basato su Qt: la Sta-
zione Meteo Qt. Il
riuso di codice è mas-
simizzato: tutte le
piattaforme utilizzano
lo stesso codice Qt
GUI e le medesime Qt
Cloud API. Le applica-
zioni client utilizzano lo
stesso codice su tutte
le piattaforme
Caso applicativo:
stazione meteo Qt




