Introduzione a .NET Gadgeteer

Autore: Marco Minerva

Microsoft .NET Gadgeteer è una piattaforma per la progettazione di device  embedded basati sul .NET Micro Framework. Annunciato ufficialmente da Microsoft Researh Cambrige nell’Agosto scorso, permette ad appassionati, educatori e sviluppatori di realizzare prototipi di dispositivi elettronici in modo molto semplice e veloce. La piattaforma è costituita da una scheda madre, a cui possono essere collegati moduli che forniscono funzionalità di rilevamento, controllo, visualizzazione dati, comunicazione con altri sistemi, ecc. I collegamenti sono effettuati tramite cavi di connessione, quindi senza richiedere saldature o specifiche conoscenze di elettronica. Sul blog Integral Design di Michael Dodaro è possibile leggere un post che riassume la genesi della piattaforma .NET Gadgeteer.

Il sistema, inoltre, è dotato di un SDK, costruito sopra il .NET Micro Framework, che permette una programmazione più ad alto livello: si lavora con Visual Studio e il linguaggio C# e non si ha a che fare con porte di ingresso/uscita e scritture di byte, bensì con oggetti su cui si possono invocare semplici metodi per eseguire operazioni complesse (ad esempio, scattare la foto con una webcam, mostrare testo e immagini su un display, ecc.). Naturalmente, in caso di necessità è possibile avere accesso diretto alle interfacce esposte dal .NET Micro Framework, così da poter lavorare con i moduli anche a più basso livello.

Le librerie di .NET Gadgeteer sono disponibili con licenza Apache 2.0; il codice sorgente è pubblicato sul sito http://gadgeteer.codeplex.com. Il rilascio open source permette di avere completo accesso a tutta la base di codice disponibile: in questo modo, produttori di terze parti (ma anche semplici appassionati) possono realizzare nuovi moduli compatibili con la piattaforma .NET Gadgeteer in tempi relativamente rapidi. Gli specifiche hardware e la documentazione, invece, sono rilasciati con licenza Creative Commons.

GHI Electronics, fornitore di sistemi embedded, è stato il primo a produrre una scheda compatibile con .NET Gadgeteer, chiamata FEZ Spider: è dotata di un processore ARM7 a 74MHz, 4.5 MB di memoria flash, 16 MB di RAM e dispone di 14 socket per il collegamento di moduli esterni.

Queste le caratteristiche complete della scheda:

  • 14 .NET Gadgeteer compatible sockets that include these types: X, Y, A, C, D, E, F, H, I, K, O, P, S, T, U, R, G, B and Z.
  • Configurable on-board LED
  • Configuration switches.
  • Based on GHI Electronics EMX module
    • 72MHz 32-bit ARM7 processor
    • 4.5 MB Flash
    • 16 MB RAM
    • LCD controller
    • Full TCP/IP Stack with SSL, HTTP, TCP, UDP, DHCP
    • Ethernet, WiFi driver and PPP ( GPRS/ 3G modems) and DPWS
    • USB host
    • USB Device with specialized libraries to emulate devices like thumb-drive, virtual COM (CDC), mouse, keyboard
    • 76 GPIO Pin
    • 2 SPI (8/16bit)
    • I2C
    • 4 UART
    • 2 CAN Channels
    • 7 10-bit Analog Inputs
    • 10-bit Analog Output (capable of WAV audio playback)
    • 4-bit SD/MMC Memory card interface
    • 6 PWM
    • OneWire interface (available on any IO)
    • Built-in Real Time Clock (RTC) with the suitable crystal
    • Processor register access
    • OutputCompare for generating waveforms with high accuracy
    • RLP allowing users to load native code (C/Assembly) for real-time requirements
    • Extended double-precision math class
    • FAT File System
    • Cryptography (AES and XTEA)
    • Low power and hibernate support
    • In-field update (from SD, network or other)
    • Dimensions: W 2.25" x L 2.05" x H 0.5"

Insieme a FEZ Spider, GHI Electronics ha rilasciato un nutrito numero di moduli, tra cui una fotocamera digitale, un display touch-screen, una porta Ethernet, un lettore di memorie SD, pulsanti e led multicolore. Tutti questi componenti sono disponibili in un unico pacchetto, chiamato FEZ Spider Starter Kit, che contiene tutto quanto serve per iniziare a lavorare con la piattaforma .NET Gadgeteer.

 

Anche altri produttori,  tra cui Seeed Studio e Sytech Designs, hanno iniziato a sviluppare nuovi moduli compatibili .NET Gadgeteer.  Insomma, sembra che questa piattaforma stia suscitando un certo interesse. Solo il tempo potrà dirci se riuscirà a rivaleggiare con soluzioni già affermate e diffuse come Netduino.

Per maggiori informazioni sul progetto .NET Gadgeteer, è possibile fare riferimento al sito ufficiale.