DevExperience

.Net Framework, Internet of Things & M2M, Embedded Systems, Design Patterns Paolo Patierno's Blog

MVP Award

I'm Microsoft MVP for Windows Embedded

Recent Posts

Apps & Articles

Progetti

Pubblicazioni

Tags

My Profiles

 

My Embedded101 Blog

My YouTube Channel

Windows Embedded CE 6.0

Building Embedded Devices using Windows Embedded CE 6.0 R2

Archives

Sto leggendo...

Windows Embedded

.Net Micro Framework

.Net Framework & CLR

Email Notifications

Open Source Hardware

RSS Blog Post

agosto 2012 - Post

Nokia : 5 Settembre 2012

Capture

Cosa accadrà il 5 Settembre 2012 … questo video su YouTube non lascia trapelare molto ma in casa Nokia qualcosa bolle in pentola … forse la presentazione di un dispositivo Windows Phone 8 ?

Non ci resta che aspettare e seguire in streaming ed in diretta l’evento sul sito Nokia, a partire dalle 10:00 EDT, ossia alle ore 16:00 in Italia.

Posted: 30 ago 2012 15:38 da Paolo | con no comments
Inserito sotto: ,
Su Channel9 : Gadgeteering and the .NET Micro Framework

Vi posto il link su Channel9 ad un interessantissimo video introduttivo di Pete Brown sul .Net Micro Framework e sulla disponibilità delle numerose piattaforme hardware per lo sviluppo quali Netduino e Netduino GO della Secret Labs ed ovviamente tutte le board compatibili con .Net Gadgeteer, tra cui le principali sono la Fez Spider e la Fez Hydra della GHI.

Per chi vuole avvicinarsi a questo fantastico mondo, consiglio di darci uno sguardo...

ioProgrammo : scopriamo come usare l’accelerometro su Windows Phone

4-178g

Anche questo mese su “ioProgrammo” (n. 178, Settembre 2012) c’è un mio articolo dedicato all’utilizzo dell’accelerometro in Windows Phone.

Si parte dalla teoria del funzionamento di un accelerometro fino ad arrivare alla realizzazione di una semplice applicazione di tilt sensing.

Purtroppo, c’è stato da parte mia un errore nel fornire due figure (precisamente la fig. 3 e la fig. 6) all’editore che nella rivista appaiono completamente nere. Di seguito vi riporto il loro contenuto reale.

Immagine3
Fig. 3 calcolo accelerazione rispetto asse X
Immagine6
Fig. 6 calcolo accelerazioni rispetto assi X e Y

Anche questa volta…mi raccomando…non perdetevelo !

Sorriso

Posted: 18 ago 2012 9:46 da Paolo | con no comments
Inserito sotto: ,
Netduino : rilasciato il firmware 4.2.0 basato sul .Net MF 4.2

A seguito del rilascio ufficiale e della disponibilità del download del .Net Micro Framework 4.2 (i dettagli qui), è stato ufficialmente rilasciato dalla Secret Labs anche il firmware 4.2.0 per il Netduino basato appunto sulla nuova versione del .Net Micro Framework.

Porta con se le seguenti novità :

  • 50% di memoria RAM in più per il Netduino Plus (42KB vs 28KB)
  • suppporto per lo sviluppo con Visual Basic
  • nuovi driver WinUSB
  • aggiunte nuove classi tra cui la StringBuilder
  • nuove classi AnalogInput e PWM
  • Garbage collector bugfixes
  • altri bugfixes; per i dettagli su netmf.codeplex.com
  • Potete trovare tutte le informazioni a questo link e l'annuncio ufficiale qui, sul forum dedicato al Netduino.

    .Net Micro Framework 4.2 RTM (QFE2) : download disponibile

    MSLogo

    A seguito della comunicazione sulla disponibilità del rilascio del .Net Micro Framework 4.2 RTM (QFE2) del 24 Luglio ed i cui dettagli potete trovarli qui, oggi è stato ufficialmente reso disponibile il download su Codeplex al seguente link.

    Posted: 14 ago 2012 17:42 da Paolo | con 1 comment(s)
    Inserito sotto: ,
    App Hub in pensione … benvenuto al Dev Center

    7838.DC_thumb_18F73BC9

    Come già annunciato nei giorni scorsi ed a seguito di un blocco temporaneo dei sistemi, Microsoft ha sostituito il vecchio App Hub con il Windows Phone Dev Center.

    Sul Windows Phone Developer Blog possiamo leggere qui tutto ciò che riguarda le innovazioni, tra cui :

    • backend più robusto e scalabile;
    • supportp per PayPal e gli sviluppatori in più paesi;
    • nuovi tools per il tracking dei download e delle performance delle nostre app;
    • forum, SDK ed altre info concentrate in un unico punto;

    Speriamo che si sia ridotto anche il tempo di certificazione delle app !

    Posted: 7 ago 2012 10:27 da Paolo | con no comments
    Inserito sotto: ,
    Wake On LAN e μPLibrary : accendi il PC da remoto

    Molto spesso può essere utile riuscire ad accendere il nostro PC da remoto, sia che si tratti della rete locale di casa o aziendale sia che si tratti di utilizzare Internet per farlo. Sappiamo che è fondamentalmente semplice fare l’operazione inversa di spegnimento una volta che abbiamo il controllo del PC … ma come fare ad accenderlo ?

    Per questo scopo, ci viene in aiuto una funzionalità di cui oggi sono dotati tutti i PC moderni sulla propria scheda di rete che è la Wake On LAN (nota come WOL). Abilitandola opportunamente nel BIOS ed attivandola anche nelle impostazioni della scheda di rete dal sistema operativo, si fa in modo che allo shutdown la scheda di rete rimanga alimentata (PC con alimentazione ATX) e quindi in ascolto del traffico che c’è sulla rete. Ovviamente, nell’ambito del modello ISO-OSI ci troviamo nel livello Data Link Layer (livello 2), quindi dobbiamo ragionare in termini di MAC address, in quanto lo stack TCP/IP è uno strato software che viene gestito dal sistema operativo, che ovviamente non abbiamo a disposizione a PC spento.

    La “magia” che permette l’accensione del PC è proprio dovuta ad uno pacchetto di byte che va trasmesso in rete e che prende appunto il nome di “Magic Packet”.

    magicpacket

    Esso è caratterizzato da 102 bytes complessivi di cui, i primi 6 sono tutti 0xFF seguiti dal MAC address del PC che vogliamo far accendere e ripetuto 16 volte. Come mai così tante ripetizioni del MAC address ? Basti pensare che una scheda di rete è in ascolto di tutti i pacchetti che passano ma li scarta quando non è il destinatario. Se il MAC address fosse inserito una sola volta nel pacchetto, sicuramente avremmo la possibilità che un normale pacchetto di traffico (download di un file, email, …) abbia una sequenza di byte al suo interno molto simile ad essa ed a quel punto il PC lo interpreterebbe erroneamente come un “Magic Packet” e si avvierebbe. Ripetendo 16 volte il MAC address si riduce drasticamente (fondamentalmente a zero) questa possibilità.

    La migliore modalità per trasferire il pacchetto è quella di utilizzare il protocollo UDP in broadcast, in quanto non abbiamo alcun bisogno dell’handshake del TCP e non potremmo nemmeno utilizzarlo correttamente considerando che il PC destinazione è spento. Nel momento in cui, il PC “ascolta” questa sequenza di 102 byte e riconosce al suo interno il suo MAC address ecco che … la magia si avvera … il PC si accende !

    Prendendo spunto da questo articolo di Marco Lai, “Wake on Lan accendere il computer con Arduino ethernet”, non poteva ovviamente mancare la mia implementazione per il .Net Micro Framework all’interno della libreria uPLibrary (arrivata alla versione 1.7.0.0).

    All’interno del namespace relativo al Networking, uPLibrary.Networking, ho aggiunto la classe statica Wol che espone l’unico metodo statico Wake(), il quale prevede come unico parametro un array di byte che rappresenta il MAC address della scheda di rete del PC da avviare.

    Utilizzando una scheda Netduino, possiamo realizzare una semplice applicazione che avvia il PC alla pressione dello switch presente sulla board stessa.

       1: public class Program
       2: {
       3:     private static InterruptPort sw;
       4:  
       5:     public static void Main()
       6:     {
       7:         // write your code here
       8:         sw = new InterruptPort(Pins.ONBOARD_SW1, true, 
       9:                                 Port.ResistorMode.Disabled, 
      10:                                 Port.InterruptMode.InterruptEdgeHigh);
      11:         sw.OnInterrupt += new NativeEventHandler(sw_OnInterrupt);
      12:  
      13:         Thread.Sleep(Timeout.Infinite);
      14:     }
      15:  
      16:     static void sw_OnInterrupt(uint data1, uint data2, DateTime time)
      17:     {
      18:         Wol.Wake(new byte[] { 0x00, 0x26, 0x22, 0xA2, 0xF2, 0xD3 });
      19:     }
      20:  
      21: }

    Ovviamente, il tutto è disponibile su Codeplex ed è stato anche aggiornato nella Nuget Gallery !

    Ricordo che per il corretto funzionamento, è necessario il supporto del Wake On LAN da parte della scheda di rete del vostro PC ed una relativa opportuna configurazione nel BIOS (in alcuni casi anche alcune impostazioni nel driver del sistema operativo).

    Posted: 2 ago 2012 21:21 da Paolo | con no comments
    Sviluppo in .Net su processori ARM

    Vi segnalo questo interessantissimo articolo “.Net Development for ARM processors” di Andrew Pardoe (Program Manager nel CLR team) su MSDN Magazine che esplora l’evoluzione dello sviluppo in .Net dal processore x86 al processore ARM, con l’introduzione del .Net Compact Framework ed il .Net Micro Framework fino all’avvento della piattaforma in Windows 8.

    Sono evidenziate le notevoli differenza tra le due architetture di cui deve tener conto il team che sviluppa il CLR in modo che il passaggio da un’architettura all’altra sia trasparente per noi sviluppatori.

    L’ho trovato molto…molto…interessante….leggere per credere !

    Posted: 1 ago 2012 22:39 da Paolo | con no comments
    Inserito sotto: , , , , ,