Integrazione tra sistemi embedded e servizi web

EMBEDDED –

I sistemi embedded, sempre più pervasivi, da una parte tenderanno a integrarsi con i servizi web, dell’altra a integrare al loro interno le funzionalità del web, portando così alla realizzazione embedded di Internet.

Internet è nato come sistema di comunicazione di rete tra computer orientato a soddisfare le esigenze applicative tipiche degli ambienti accademici. Da servizio per pochi, abbastanza rapidamente nel tempo, è diventata una rete orientata all'utilizzo di massa, principalmente di natura consumer. In questa evoluzione, molte innovazioni sono state prodotte per soddisfare le crescenti esigenze applicative, in particolare l'interattività e l'intelligenza. I sistemi embedded stanno svolgendo un ruolo innovativo molto importante, sia per quanto concerne l'integrazione con la rete, sia per quanto concerne l'integrazione al loro interno dei servizi di rete. La fase embedded di Internet è dunque iniziata, e le sue prospettive di sviluppo sono incredibili, se si considera che sono stati stimati 15 milardi di dispositivi intelligenti interconnessi entro il 2015: tra solo 5 anni i sistemi embedded interconnessi in Internet, saranno più di tutte le persone che potrebbero connettersi. Questo enorme numero di dispositivi interconnessi è fortemente legato alla machine-to-machine communication, che sarà una delle funzionalità principali dei sistemi embedded. 

Il ruolo del microcontrollore
L'integrazione con la rete dei sistemi embedded è la conseguenza dell'evoluzione dei microcontrollori in termini di system-on-chip. I microcontrollori, componenti fondamentali dei sistemi embedded, ora sono integrati con una serie di periferiche e sottosistemi orientati alla comunicazione; in particolare inglobano interfacce di rete, protocolli di rete IP in firmware e l'intero stack Tcp/IP. Le applicazioni embedded, basate in passato esclusivamente su dispositivi dedicati, ora richiedono livelli crescenti di integrazione con altri sistemi embedded e anche con i sistemi desktop. Questa integrazione tra sistemi embedded è possibile quando sono disponibili risorse di interconnessione verso le reti a protocollo Tcp/IP. Questa evoluzione dei microcontrollori verso la comunicazione su rete IP è in atto da almeno un decennio, ma solo ora ha assunto i connotati di un vero e proprio trend tecnologico e di conseguenza i produttori di dispositivi embedded stanno affrontando le problematiche tecnologiche che rappresentano una barriera verso il traguardo prospettato entro il prossimo quinquennio: 
• affidabilità e durata
• standard aperti
• bassi consumi di potenza elettrica
• sicurezza. 

Embedded Internet è senza dubbio un'innovazione tecnologica che va oltre l'immaginazione della gente comune, abituata a pensare a Internet in termini di pagine web riempite di informazioni. In realtà, qualsiasi computer ha le risorse necessarie per funzionare come web server. I sistemi embedded, comunque non hanno tutte le risorse dei sistemi desktop, e le risorse di cui dispongono sono scarse. La sfida tecnologica sta proprio nel consentire ai sistemi embedded di avere la piena connettibilità embedded, senza venir meno alla loro natura di sistemi fatti su misura per l'applicazione. 

Petaflops computing per pochi milliwatt
Internet embedded rappresenta un'enorme sfida tecnologica, in quanto impone per i sistemi embedded requisiti estremi come le interfacce grafiche e video ad elevatissima risoluzione, con estensione multimediale (audio e voce) e funzionalità avanzate di sicurezza. In particolare è l'interfaccia uomo-macchina uno dei punti chiave dello sviluppo dei sistemi embedded (riconoscimento vocale, riconoscimento tattile, riconoscimento comportamentale, ecc.) sono solo alcune delle funzionalità di base richieste. Intel Atom N270 (45 nm) è un esempio della tendenza in atto nella fascia alta del microcomputing embedded verso l'ottimizzazione delle architetture per soddisfare i requisiti di basso consumo delle applicazioni ad elevate prestazioni e basso costo, tipiche proprio del mondo dei sistemi embedded. L'obiettivo è quello di portare a livello embedded quelle capacità di computing tipiche dei sistemi desktop e dei server. 

Embedded web server
Per la realizzazione di ambienti intelligenti i microcontrollori svolgono un ruolo fondamentale. Questi però devono essere in grado di comunicare in rete con gli altri dispositivi. Ecco dunque nascere una nuova connotazione del microcontrollore, l'embedded web server. Atmel, ha reso disponibile questa soluzione utilizzando la sua famiglia di microcontrollori a 8 bit. L'AVR460, embedded web server, è un reference design che include un web server completo, incluso il supporto Tcp/IP e l'interfaccia Ethernet. Consente di inviare e-mail e la configurazione automatica in rete. Integrato nelle apparecchiature digitali, il web server embedded consente al sistema stesso di disporre, in modalità trasparente, della funzionalità di accesso alla rete e della comunicazione basata sui browser standard. Le apparecchiature digitali che integrano questo reference design possono controllare o essere controllate da un computer connesso in Internet. Per l'embedded web center di AVR la pagina web è il “centro di controllo”. Il web server è identificato con un indirizzo IP e può essere controllato in maniera remota da qualsiasi altro dispositivo connesso in rete, cioè dislocato in qualsiasi parte del mondo. 

Applicazioni sicure
La connettività dei sistemi embedded alla rete, e in particolare al web, comporta problematiche di sicurezza prima non rilevanti per i sistemi embedded. Soluzioni all'embedding sicuro della connettività Internet sono in fase di sviluppo. Una soluzione, quella di Rabbit, offre allo sviluppatore la possibilità di realizzare rapidamente interfacce sicure per il browsing finalizzato al controllo embedded. Il kit offre lo standard di criptografia Aes, il Secure Socket Layer e il software Transport Layer Security, che consente il lock and key a 128 e 256 bit per la crittografia dei dati da trasferire. Il microprocessore di riferimento è il Rabbit 4000, basato sul RabbitCore RCM4300. Su questo gira il codice applicativo che include gli algoritmi di criptografia. Il modulo si inserisce direttamente nella motherboard del sistema applicativo e svolge la funzione di microprocessore di controllo. Il modulo include una miniSD card da 512 kByte, il software di sviluppo Dynamic C, il Rabbit Embedded Security Pack (per l'implementazione di Secure Socket Layer, Transport Layer Security e Advanced Encryption Standard), il RabbitWeb system (una serie di estensioni per l'implementazione rapida della funzionalità web sui dispositivi embedded) e la File Allocation Table per il file system.  

Quali requisiti per i microcontrollori
La connettività di rete per i microcontrollori è una funzionalità da tempo acquisita e resa disponibile per lo sviluppatore. La connettività Internet implica una specificità che prende il nome di Internet Protocol. Internet va vista come una rete di reti interconnesse che opera su un meccanismo utile alla connessione. Il meccanismo, il cosiddetto IP (Internet Protocol), consente ai dispositivi interconnessi di comunicare su una base comune, come avviene in una rete Lan per i dispositivi interconnessi. Di fatto Internet è una collezione di Lan (Local Area Networks) e Wan (Wide Area Networks) interconnesse tra loro da router operanti in tutto il mondo. Le macchine che compongono questa rete sono essenzialmente di due tipi: host e routern. Questi eseguono protocolli standard di comunicazione. Come in molte delle implementazioni di reti, i protocolli che riguardano Internet sono organizzati a livelli (layer) da cui il nome stack. Nello stack del protocollo Internet, ogni livello aggiunge un header, ed eventualmente un trailer, ai dati che percorrono verso il basso lo stack. Un caso tipico è quello del trasferimento tramite Http (Hypertext transfer protocol) di dati dei Web brouser. Nel trasferire un comando in formato http a un host in rete, il layer Tcp aggiunge un header ai dati, il successivo layer IP aggiunge un altro header al pacchetto incapsulato, ecc. Il protocollo Internet è un protocollo che rende possibile la trasmissione di blocchi di dati da un host all'altro attraverso la rete. Il protocollo definisce blocchi di dati dotati di header. L'header contiene l'indirizzo numerico del sorgente e del destinatario del blocco. L'indirizzo è il cosiddetto IP address che risulta unico per tutti i dispositivi in rete. I router utilizzano questi indirizzi per instradare nella maniera più veloce possibile questi pacchetti a destinazione. Una delle attività eseguite dal protocollo Internet è la frammentazione, necessaria quando il pacchetto è troppo grosso per l'interfaccia di rete sottostante al layer IP. I pacchetti frammentati devono essere riassemblati a destinazione. Anche questo è un compito del protocollo Internet. Una implementazione del protocollo IP richiede l'esecuzione di operazioni di assemblaggio e disassemblaggio dei pacchetti (frammentazione), un'attività che necessità di una consistente porzione della banda della Cpu e di spazio di memoria (Ram e Rom). Freescale ha prodotto dei reference design per i suoi microcontrollori a 8 bit (HC08) e a 16 bit (HCS12). Nel primo caso, dimostrando che anche un microcontrollore a risorse limitate può implementare la connettività Internet, e nel secondo caso dimostrando come tale connettività possa essere performante su un microcontrollore di fascia media. 

Applicazioni Internet enabled
Una delle prime applicazioni delle potenzialità di Internet è stato il conferimento ai microcontrollori delle funzionalità minime necessarie a connettersi alla rete Internet per essere abilitati nello loro funzionalità, il cosiddetto Internet enabling. Uno dei primi microcontrollori predisposti a questo scopo è stato il COP8 di National Semiconductors, in collaborazione con Emit, un fornitore di tecnologia software per Internet, in particolare per la versione COP8.COM. Lo scopo di questo bundle era di mettere a disposizione degli sviluppatori un reference design per integrare nei sistemi embedded la funzionalità necessaria per applicazioni che dovevano essere abilitate e comandate da rete Internet, in particolare da applicazioni remote eseguibili sul web e governate tramite browser. Dalla sua introduzione COP8.COM è stato ulteriormente potenziato con nuovi strumenti introdotti da National, come il Workbench, un ambiente di sviluppo on-line, arricchito con l'interfaccia grafica avanzata e capacità di generazione automatica del codice. COP8.COM utilizza la tecnologia software emWare di Emit per l'accesso real-time a Internet e il networking. La scheda e le sue applicazioni possono essere controllate in remoto da Internet tramite un browser web utilizzando i protocolli standard Internet attraverso emGateway, un bridge che consente di interconnettere dispositivi a basso livello di interconnettività come RS232, RS485 e Tcp/IP. Emit è un fornitore di tecnologia software per la connettività di rete, in particolare Internet, specificamente orientato ai dispositivi microcontrollori di fascia bassa, 8 bit e 16 bit. La peculiarità del software di interconnessione di rete Emit è quella di utilizzare i network gateway. Questa soluzione consente virtualmente a ogni prodotto di essere abilitabile via Internet, sia con strumenti classici come il browser di un Pc, sia utilizzando un Pda come interfaccia verso Internet.  

Una tipica applicazione embedded web client 
Una tipica applicazione web client è il distributore automatico di prodotti (bevande, sigarette, cibo, ecc.) In questa applicazione la connettività Internet consente di gestire efficientemente la funzionalità della macchina, per esempio, per la manutenzione, per il rifornimento, per i malfunzionamenti, rendendo ottimale la movimentazione del personale di servizio e manutenzione. Il microcontrollore, componente base per l'automazione del sistema di distribuzione automatica, è il dispositivo che opportunamente dotato di funzionalità per la connettività Internet, consente di integrare il sistema con i servizi erogabili via web. Un microcontrollore a 8 bit come il PIC può essere configurato in modo da eseguire la connettività Internet. Un PIC16F877 viene connesso a un IC (S-7600A) che implementa lo stack Tcp/IP, un modem (Si2400) e una interfaccia di linea (Si3015 DAA). In una Eeprom seriale viene memorizzato quanto serve per la connessione. Si tratta di un esempio che dimostra che la tecnologia microelettronica necessaria a implementare applicazioni Internet compatibili è allo stato dell'arte: un microcontrollore a 8 bit, opportunamente dotato di funzionalità relativa alla connettività di rete, può supportare applicazioni che prevedono la comunicazione su rete Internet sfruttando i servizi offerti sul web. L'innovazione tecnologica consisterà nell'integrare più funzionalità possibile nel microcontrollore, per meglio soddisfare i requisiti di embedding e i requisiti applicativi sempre più complessi imposti dall'evoluzione di Internet.

Pubblica i tuoi commenti