Background Image
Table of Contents Table of Contents
Previous Page  67 / 86 Next Page
Information
Show Menu
Previous Page 67 / 86 Next Page
Page Background

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