RoboWeb Un progetto nato nell’ambito di: RoboWeb Il progetto si propone di contribuire a fornire agli Allievi conoscenze e competenze adeguate alla figura del moderno tecnico, colui che è in grado di utilizzare la tecnologia a sua disposizione per realizzare un’innovazione o, semplicemente, particolareggiare l’esistente; colui che è, e sarà, in grado di formarsi e formare essendo partito proprio dalla nostra Scuola. L’obiettivo è quello di controllare il movimento di un robot su ruote ed acquisire la distanza di questo dagli oggetti che lo circondano; il tutto passando attraverso il WEB, come dire che si potrebbe monitorare sia da pochi metri sia da migliaia di chilometri senza cambiare (quasi) nulla. A seguire sono riassunti i concetti e mostrati i componenti essenziali, in una sequenza logica di apprendimento. RoboWeb I MICROCONTROLLORI Un microcontrollore o microcontroller, detto anche computer single chip è un sistema a microprocessore completo, integrato in un solo chip, progettato per ottenere la massima autosufficienza funzionale ed ottimizzare il rapporto prezzo-prestazioni per una specifica applicazione, a differenza, ad esempio, dei microprocessori impiegati nei personal computer, adatti per un uso più generale. I microcontroller sono la forma più diffusa e più invisibile di computer. Comprendono la CPU, un certo quantitativo di memoria RAM e memoria ROM (può essere PROM, EPROM, EEPROM o FlashROM) e una serie di interfacce di I/O (input/output) standard, fra cui molto spesso bus (I²C,SPI,CAN,LIN). Le periferiche integrate sono la vera forza di questi dispositivi: si possono avere convertitori ADC e convertitori DAC multicanale, timer/counters, USART, numerose porte esterne bidirezionali bufferizzate, comparatori, PWM. Gli Allievi saranno in grado di programmare un microcontrollore commerciale, utilizzando un linguaggio ad alto o basso livello, realizzando una board di sviluppo o utilizzandone di già prodotte. RoboWeb I SENSORI In ambito strettamente metrologico, il termine sensore è riferito solamente al componente che fisicamente effettua la trasformazione della grandezza d'ingresso in un segnale di altra natura. I dispositivi in commercio spesso integrano al loro interno anche alimentatori stabilizzati, amplificatori di segnale, dispositivi di comunicazione remota, ecc. In quest'ultimo caso si preferisce definirli trasduttori. Esempio: in commercio esistono dei trasduttori di pressione in cui l'elemento sensore è costituito da una membrana su cui è stato applicato un ponte estensimetrico; all'interno dello stesso dispositivo, un amplificatore porta il debole segnale del ponte ai valori di 5-10 V del segnale d'uscita finale del trasduttore. Gli Allievi saranno in grado di gestire vari tipi di sensore, conoscendone le caratteristiche e le modalità di impiego, tramite l’intefacciamento con il microcontrollore saranno in grado di acquisire i valori della grandezza fisica di interesse, scrivendo il codice necessario. RoboWeb MOTORI E SERVOMOTORI Col termine motore elettrico si definisce una macchina elettrica in cui la potenza di ingresso è di tipo elettrico e quella di uscita è di tipo meccanico. I motori elettrici hanno importanza fondamentale nella società moderna, tanto che la popolazione dei motori elettrici di un paese è utilizzata quale indicatore del suo sviluppo tecnologico. Inoltre l'andamento, ovvero l'aumento o la diminuzione della popolazione dei motori elettrici, è uno dei fattori utilizzati per valutare il livello di crescita tecnologica di un paese. Per verificare ciò basti pensare a tutti gli oggetti che normalmente ci circondano, dal treno al frullatore, dal walkman alla lavatrice e via dicendo, di cui la società moderna fa ampio uso e che si può dire mettano in moto la nostra vita. Al motore elettrico è in genere richiesto un particolare comportamento. Tale comportamento viene realizzato inserendo il motore in un azionamento elettrico. Gli Allievi conosceranno il principio di funzionamento dei motori elettrici e dei servomotori e le loro modalità di controllo, sapranno scrivere il codice in grado di azionarli e di gestirne la velocità, sapranno assemblare “l’elettronica” necessaria per il pilotaggio. RoboWeb CIRCUITO ELETTRONICO Un circuito elettronico è costituito dall'interconnessione elettrica di molti componenti elettronici che modificano il segnale di tensione o di corrente in modo da far giungere a un terminale prestabilito il segnale con le caratteristiche volute. Nella produzione industriale di apparecchiature elettroniche il montaggio finale dei componenti si esegue a mezzo di circuiti stampati che forniscono loro un solido ancoraggio e accolgono le interconnessioni elettriche. I circuiti integrati sono insiemi inseparabili di elementi circuitali formati in una singola struttura compatta di piccole dimensioni. I circuiti integrati monolitici sono circuiti integrati nei quali tutti i componenti (transistori, diodi, resistori e condensatori) e le relative interconnessioni sono contenuti in una singola piastrina di silicio (chip). Le dimensioni delle piastrine vanno da qualche mm2 a qualche cm2 e la densità dei componenti può essere assai elevata: nei chip VLSI raggiunge più di 10.000 componenti. I circuiti integrati ibridi sono circuiti integrati nei quali i componenti passivi e le interconnessioni elettriche sono formati su un substrato isolante, mentre i componenti attivi e le induttanze sono realizzati a parte e successivamente applicati sul circuito nelle posizioni previste. I circuiti integrati lineari sono caratterizzati da una relazione di proporzionalità fra segnale d'uscita e quello d'ingresso. I circuiti intregrati digitali sono circuiti logici, ovvero circuiti che eseguono le operazioni connesse all'algebra di Boole, dalle funzioni più elementari alle più complesse Gli Allievi, utilizzando le conoscenze curricolari, sono in grado di realizzare tutti i circuiti necessari al funzionamento del sistema. RoboWeb INTERFACCIA SERIALE L'interfaccia EIA RS-232 ridotta (ovvero solo asincrona) utilizza un protocollo di trasmissione seriale di tipo asincrono. Seriale significa che i bit che costituiscono l’informazione sono trasmessi uno alla volta su di un solo "filo". Questo termine è in genere contrapposto a "parallelo": in questo caso i dati sono trasmessi contemporaneamente su più fili, per esempio 8, 16 o 32. Parlando astrattamente si potrebbe pensare che la trasmissione seriale sia intrinsecamente più lenta di quella parallela (su di un filo possono passare meno informazioni che su 16). In realtà questo non è vero in assoluto, soprattutto a causa della difficoltà di controllare lo skew (disallineamento temporale tra i vari segnali) dei molti trasmettitori in un bus parallelo, e dipende dalle tecnologie adottate: per esempio in una fibra ottica, in un cavo ethernet, USB o FireWire (tutti standard seriali) le informazioni transitano ad una velocità paragonabile a quella di un bus PCI a 32 fili. In questa voce si parlerà solo di interfacce seriali "lente" cioè gestibili da PC e microcontrollori "normali". Asincrono significa, in questo contesto, che i dati sono trasmessi, byte per byte, in modo anche non consecutivo e senza l'aggiunta di un segnale di clock, cioè di un segnale comune che permette di sincronizzare la trasmissione con la ricezione; ovviamente sia il trasmettitore che il ricevitore devono comunque essere dotati di un clock locale per poter interpretare i dati. La sincronizzazione dei due clock è necessaria ed è fatta in corrispondenza della prima transizione sulla linea dei dati. Gli Allievi applicheranno le conoscenze curricolari acquisite nel corso di Telecomunicazioni per “intefacciare” cioè collegare per lo scambio dei dati, un Personal Computer ed un sistema microcontrollore. Dovranno essere in grado di comprendere le relazioni tra i due sistemi e costruire i circuiti necessari. RoboWeb LOCAL AREA NETWORK Nel campo dell'informatica LAN è l'acronimo per il termine inglese local area network, in italiano rete locale. Identifica una rete costituita da computer collegati tra loro (comprese le interconnessioni e le periferiche condivise) all'interno di un ambito fisico delimitato (ad esempio in una stanza o in un edificio, o anche in più edifici vicini tra di loro) che non superi la distanza di qualche chilometro. Le LAN hanno dimensioni contenute, il che favorisce il tempo di trasmissione, che è noto. Le LAN tradizionali lavorano tra 10 Mbps e 100 Mbps, hanno bassi ritardi e pochissimi errori. Le LAN recenti operano fino a 1 Gbps (ma sono utilizzate solo in ambienti server o storage di grosse dimensioni). Gli Allievi utilizzeranno le conoscenze acquisite nel corso di Telecomunicazioni per realizzare una LAN atta a connettere un SERVER WEB ad un insieme di Personal Computer. Sapranno configurare i sistemi, realizzare i collegamenti, scegliere le apparecchiature e risolverne i problemi di connessione. RoboWeb IL WEB La prima proposta di un sistema ipertestuale si può far risalire agli studi di Vannevar Bush, poi espressi nell'articolo As We May Think (Come potremmo pensare) del 1945. La data di nascita del World Wide Web viene comunemente indicata nel 6 agosto 1991, quando un matematico, Tim Berners-Lee, figlio di matematici (poi insignito del titolo di baronetto), pubblicò il primo sito nella rete internet, dando vita al fenomeno della tripla W: www. In realtà, l'idea del World Wide Web, così come lo si conosce oggi, era nata due anni prima, nel 1989, presso il CERN di Ginevra (Conseil Européen pour la Recherche Nucléaire, il più importante laboratorio di Fisica in Europa). Alla sua base vi era l'intendimento dello stesso Berners-Lee e di un suo collega, Robert Cailliau, di condividere la documentazione scientifica in formato elettronico indipendentemente dalla piattaforma, migliorandone la comunicazione e la cooperarazione. Iniziò così la definizione di standard e protocolli per scambiare documenti su reti dati: il linguaggio HTML e il protocollo HTTP. Questi standard e protocolli supportavano inizialmente la sola gestione di pagine HTML statiche, vale a dire file testuali arricchiti d'informazioni di formattazione visualizzabili e, soprattutto, navigabili utilizzando opportune applicazioni (browser o web browser). Nonostante le limitazioni delle pagine HTML statiche, la semplicità della tecnologia decretò un immediato successo, prima in campo accademico e di ricerca, quindi anche in quello commerciale, facendo nascere quella che oggi è anche nota come era del web. Gli Allievi saranno in grado di comprendere le reti IP, di configurarle, utilizzare alcuni applicativi di controllo (network analyzer), configurare un server WEB con IIS (Microsoft). RoboWeb La programmazione del WEB Il .Net Framework e le ASP.NET 2.0 La prima versione di .NET è stata rilasciata nel 2002. La sua caratteristica peculiare è di essere indipendente dalla versione operativa di Windows su cui è installata, e di includere molte funzionalità progettate espressamente per integrarsi in ambiente internet e garantire il massimo grado di sicurezza e integrità dei dati. Utilizza in modo esteso il concetto di modularità dei componenti software (Component Oriented Programming), proponendosi così come evoluzione dell'esistente modello COM (Component Object Model). La CLR (Common Language Runtime) è un insieme di librerie che, insieme alla classe di librerie di base denominata FCL (Framework Class Library), è progettata per poter funzionare con qualsiasi sistema operativo. Il compilatore Just In Time esegue un codice assembly denominato CIL (Common Intermediate Language). È inoltre possibile:accedere a componenti scritti in altri linguaggi; quando il sistema operativo sottostante è Microsoft Windows, accedere ai suoi servizi e alle sue API; accedere ai Servizi Web utilizzando il protocollo SOAP (Simple Object Access Protocol). Gli Allievi saranno in grado di scrivere un semplice programma, utilizzando adeguati strumenti di sviluppo, che permetterà di distribuire informazioni sul WEB. Apprenderanno le regole fondamentali della programmazione WEB. RoboWeb