posts - 644, comments - 2003, trackbacks - 137

My Links

News

Raffaele Rialdi website

Su questo sito si trovano i miei articoli, esempi, snippet, tools, etc.

Archives

Post Categories

Image Galleries

Blogs

Links

Il più piccolo web service al mondo

Ho quasi finito di lavorare sul Micro Framework 3.0, la più piccola implementazione del Framework.Net per microcontrollori a 32 bit.

Per chi non conoscesse Micro Framework, può leggere alcuni articolo che ho scritto. Il primo (in Italiano) è un'introduzione, il secondo (in Italiano) mostra come creare una applicazione, il terzo è la versione Inglese.

In questa versione Micro Framework implementa i DPWS (Devices Profile for Web Services) che ho prontamente implementato su una schedina di dimensioni 4x4cm. Nella foto la schedina è saldata su un adattatore che permette di interfacciarla con il mondo esterno.

IMG_2393s  IMG_2395s

Per un consumo massimo di 160mA (equivalente di 8 led accesi al massimo) abbiamo il pieno supporto di TCP/IP, 3 USB, 4 Seriali, storage su Secure Digital, supporto ai monitor TFT (Micro Framework implementa una versione iper ridotta di WPF come da mio articolo), dozzine di I/O e molto altro.

Per il mio scopo ho creato una piccola interfaccia verso delle linee RS485 di cui Micro Framework è il master. Devo dire davvero fantastico.

Ovviamente per un device così piccolo il supporto dei tool è ridotto e quindi mi ci è voluto un po' di tempo prima di far parlare una applicazione client WCF con il device, ma ora è tutto risolto.

Alcune note al contorno.

DPWS supporta la discovery sulla rete dei device che arriverà con WCF 4.0.
In teoria bisognerebbe scrivere il WSDL a mano, ma sono riuscito ad ovviare a questa pena creando un finto servizio WCF su

PC che mi genera il WSDL. Ci sono un certo numero di accorgimenti per questa procedura dovuti al fatto che Micro Framework esplicita i message contract, ma ho potuto risolvere anche grazie al prezioso Fiddler.

Grazie al WatchDog, se il device non esegue una certa istruzione entro un tempo prestabilito, si autoresetta e questo garantisce una robustezza veramente notevole.

Se a questi gioielli aggiungiamo un pannello solare e una schedina GSM o un'adattatore WiFi ... cool!

Print | posted on mercoledì 12 agosto 2009 21:52 |

Feedback

Gravatar

# re: Il più piccolo web service al mondo

Tu sei PAZZO!
e resti un MITO :)
12/08/2009 23:13 | imperugo
Gravatar

# re: Il più piccolo web service al mondo

Te non sei normale :D

grande Raf!!!
12/08/2009 23:51 | Roberto
Gravatar

# re: Il più piccolo web service al mondo

@Tutti. Grazie!!! :)

@Mike. Ma guarda che la board mica te la devi fare :)) Hai poco lavoro 'hardware' da fare. Le board nelle foto è della GHI Electronics (uno dei partner hardware del Micro Framework) e quindi non hai altro che aggiungere aggiungere alimentazione e quant'altro ti può servire (nel mio caso i transceiver 485 e dei device RFID).
I componenti DIP sono al tramonto (fortunatamente) e io ti consiglio comunque di lavorare solo in SMD. Attrezzati come ho fatto io con un saldatore ad aria o uno stilo molto sottile e un microscopio ottico tridimensionale. Non costa tantissimo e fai splendidi lavori. Quello che in un laboratorio non potrai mai fare sono le saldature BGA, ma non è frequente trovare componenti di quel tipo. Ciao!
13/08/2009 11:55 | Raffaele Rialdi
Gravatar

# re: Il più piccolo web service al mondo

Eh no, non và....Nella saldatura del polo negativo di C1 c'è una sbavatura. Non me lo sarei mai aspettato da Raf...Che delusione :-)
14/08/2009 00:10 | Gabriele Del Giovine
Gravatar

# re: Il più piccolo web service al mondo

eheh infatti la saldatura non l'ho fatta io :)
Le schede in foto sono quelle da cui sono partito, il mio lavoro "hardware" non è in foto. Ma la parte piu grossa è certamente nel software per far dialogare a dovere WCF con il DPWS del Micro Framework.
14/08/2009 18:16 | Raffaele Rialdi
Gravatar

# re: Il più piccolo web service al mondo

Embedded Master è la scheda in foto prodotta dalla GHI Electronics. Loro come altri producono schede che hanno intergrato il supportoTCP/IP e TFT (che a me in questo caso non serviva).
Per un POS puoi anche usare schede più grosse, così lavori con WinCE e hai vita più facile.
Il touch è già supportato e costa poco. Con il Micro Framework 4.0 dovrebbe arrivare il multi touch!
14/08/2009 18:37 | Raffaele Rialdi
Gravatar

# re: Il più piccolo web service al mondo

Certo, è il bello del Micro Famework.
I partner hardware provvedono a venderti il chip / schedina con il firmware a bordo.
Di solito hanno anche una developer board per renderti più agevole lo sviluppo (tipicamente le dev board hanno tutta una serie di periferiche a bordo pronte all'uso).
Poi sviluppi con Vs.net e provi sull'emulatore o direttamente facendo il deploy sul device.
Il device devi usarlo per forza se il software che scrivi dipende dall'accesso alle periferiche.

Di solito io scrivo codice che con dei #if possa compilare sia su Micro Framework che sul full Framework. Magari scrivo un post sui modi più furbi per farlo (le dll non si possono condividere ovviamente).
Per emulo le periferiche (o come va di moda ora le mocko) e così puoi testare il codice che hai appena scritto.

Insomma lo sviluppo è decisamente rapido e una volta presa la mano non c'è paragone con gli altri ambienti embedded. Diciamo molto vicino a quello che faresti su WinMobile, fermo restando che MicroFramework è decisamente 'essenziale' e meno potente.
15/08/2009 00:40 | Raffaele Rialdi
Gravatar

# re: Il più piccolo web service al mondo

Ottimo! Non vedo l Ora di leggere qualcosa a riguardo.
Consigli qualche sito in particolare o qualche buon rivenditore visto Che abbiamo appena preso un pacco di 6k euro da un fornitore del Nord italia. :-)
16/08/2009 21:33 | Raffaeu
Gravatar

# re: Il più piccolo web service al mondo

I miei articoli ovviamente :)
I rivenditori li trovi nella pagina del sito del produttore.
17/08/2009 12:17 | Raffaele Rialdi
Gravatar

# re: Il più piccolo web service al mondo

Ciao Luca,
non mi risulta ci siano workaround per il compact framework.
Ricordo tempo fa che era disponibile un piccolo web server ma da qui a farci funziona wcf ce ne passa.
Il Microframework può risolverti questa situazione ma mi chiedo se sia veramente necessario avere la parte server sul device.
Il device potrebbe eseguire chiamate ad intervalli regolari su una macchina Windows Full con WCF, e questo potrebbe risolvere i problemi in modo molto più semplice.

Per queste discussioni ti consiglio di postare sul newsgroup microsoft.public.it.dotnet.webservice.

Ciao
12/01/2010 11:44 | Raffaele Rialdi
Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET