La μPLibrary su Channel 9 ! 

Posted by Paolo Patierno Saturday, January 12, 2013 12:03:14 PM
Rate this Content 0 Votes

Cattura_thumb[2]

La libreria μPLibrary, dedicata al .Net Micro Framework, che ho iniziato a sviluppare ormai da più di un anno e che aggiorno nel tempo con nuove funzionalità, è stata segnalata su Channel 9 nel Blog Coding4Fun grazie all’interessamento di Greg Duncan al seguente link.

Sorriso

Misuriamo la velocità del vento con la μPLibrary 

Posted by Paolo Patierno Saturday, January 05, 2013 3:52:23 PM
Rate this Content 0 Votes

La versione 1.9 della uPLibrary si arricchisce di un altro managed driver per la gestione di un anemometro, strumento utilizzato per la rilevazione della velocità del vento. Il driver è generico, considerando il funzionamento comune per la maggior parte di tutti gli anemometri, ma nel mio caso ho effettuato i test utilizzando questo dispositivo.

6710-WIND01_thumb

Quest’ultimo genera 4 impulsi al secondo al rilevamento di una velocità del vento pari a 10 Km/h; tali informazioni sono utili per determinare la velocità del vento reale contando gli impulsi in un intervallo di tempo che può essere impostato. Infatti, La classe Anemometer fornisce un costruttore i cui parametri sono i seguenti :

  • inPin : pin della board utilizzata ed a cui è collegato il segnale di output degli impulsi dell’anemometro;
  • calculatePeriod : periodo nell’ambito del quale il driver deve osservare e valutare la velocità del vento (il valore di default è 5000 ms);
  • referenceWindSpeed : velocità del vento di riferimento in Km/h (il valore di default è 10);
  • referencePulseForSecond : numero di impulsi per secondo di riferimento (il valore di default è 4);

Come si può osservare i valori di default del driver sono quelli relativi all’anemometro utilizzato per i test.

Al suo interno, la classe associa una InterruptPort al pin passato al costruttore ed in corrispondenza dell’event handler conta gli impulsi ricevuto dall’anemometro. Ad esso si aggiunge un Timer che, periodicamente sulla base del periodo fornito al costruttore, determina la velocità del vento in relazione degli impulsi contati. Tale valore è disponibile all’esterno della classe attraverso la proprietà WindSpeed. L’avvio ed il termine delle operazioni di rilevamento da parte del timer sono gestibili attraverso i metodi corrispondenti di Start() e Stop().

   1: Anemometer anemometer = new Anemometer(Pins.GPIO_PIN_D0);
   2: anemometer.Start();
   3:  
   4: while (true)
   5: {
   6:     Debug.Print("Wind speed = " + anemometer.WindSpeed);
   7:     Thread.Sleep(1000);
   8: }

Ricordo come sempre la disponibilità della libreria su Nuget !

μPLibrary : un nuovo sensore di temperatura ed umidità 

Posted by Paolo Patierno Saturday, January 05, 2013 1:45:38 PM
Rate this Content 0 Votes

Inizio anno…la uPLibrary cresce e passa alla versione 1.9 !

Una delle nuove funzionalità aggiunte è il driver managed per il sensore di temperatura ed umidità SHT1X della Sensirion, che è disponibile in una comodissima breakout board della DFRobot.

SHT1x_Humidity_a_50b6083927d83_thumb[1]

Il protocollo di comunicazione previsto è un I2C non standard, per cui le classi del .Net Micro Framework dedicate all’I2C sono inutilizzabili. In questo caso, l’unica soluzione è il bit banging, attraverso il quale i segnali data e clock vanno pilotati direttamente da software. La classe implementata SHT1X mette a disposizione un costruttore al quale passare i due pin utilizzati per i segnali suddetti oltre alla tensione di alimentazione fornita al sensore. Quest’ultima informazione è necessaria per l’applicazione di alcune formule di compensazione per il calcolo del valore reale di temperatura ed umidità a partire dai dati letti dal sensore. I metodi esposti all’esterno sono banalmente i seguenti :

  • ReadTemperature() : fornisce la temperatura rilevata, sulla base dell’unità di misura passata come parametro;
  • ReadRelativeHumidity() : fornisce il valore dell’umidità relativa (in valore percentuale);

L’utilizzo del driver è pressoché immediato e mostrato di seguito con un semplice codice di esempio, utilizzando la scheda Netduino e collegando i segnali DATA e CLOCK del sensore rispettivamente ai pin digitali D0 e D1 della board. Ovviamente, è necessario anche il collegamento della massa (GND) e dell’alimentazione (VCC) in questo caso a 3,3 V.

   1: double temp, humidity;
   2: SHT1X sht1x = new SHT1X(Pins.GPIO_PIN_D0, Pins.GPIO_PIN_D1, SHT1X.Voltage.Vdd_3_5V);
   3:  
   4: while (true)
   5: {
   6:     temp = sht1x.ReadTemperature(SHT1X.TempUnit.Celsius);
   7:     humidity = sht1x.ReadRelativeHumidity();
   8:     Debug.Print("Temp = " + temp + " Humidity =  " + humidity);
   9:     Thread.Sleep(1000);
  10: }

Come sempre la libreria aggiornata è anche disponile su Nuget e quindi comodamente integrabile nella propria applicazione attraverso il relativo package manager di Visual Studio.

Una stazione meteo con il Netduino Plus ! 

Posted by Paolo Patierno Wednesday, January 02, 2013 5:48:37 PM
Rate this Content 3 Votes

cloudybar_thumb[4]

Oggi ho pubblicato su CodePlex, al seguente link, un nuovo progetto open source relativo alla realizzazione di una stazione meteo mediante l’utilizzo del .Net Micro Framework e la board Netduino Plus.

Img1_thumb[2]

Il sistema permette di rilevare la temperatura, l’umidità, la luminosità e la velocità del vento attraverso una serie di sensori e di mostrarne l’andamento in tempo reale attraverso una pagina Web in stile “Metro”, grazie all’utilizzo del Metro UI CSS (http://metroui.org.ua/) ed ovviamente al Web Server integrato. Inoltre, mediante l’attivazione della funziona di data logging è possibile storicizzare tutti i dati sulla microSD.

Img2_thumb[2]

Microsoft Embedded Conference : una giornata con le tecnologie embedded di casa Microsoft ! 

Posted by Paolo Patierno Wednesday, December 12, 2012 11:02:24 AM
Rate this Content 0 Votes

mec_thumb[1]

L’associazione culturale DotNetCampania, costituita da un team di persone del territorio campano ed appassionate delle tecnologie Microsoft, ha organizzato a Napoli per il giorno 26 Gennaio 2013 la Microsoft Embedded Conference, una giornata completamente gratuita dedicata alle tecnologie embedded del mondo Microsoft. Si partirà da una panoramica di tutte le soluzioni offerte da Microsoft per la realizzazione dei cosiddetti “Intelligent Systems”, attraverso il .Net Micro Framework ed i prodotti della famiglia Windows Embedded. Questi ultimi saranno analizzati nel dettaglio, partendo con Windows Embedded Compact 7 ed i relativi strumenti di sviluppo per la realizzazione di una BSP e dei drivers di un sistema OEM fino ad arrivare alla famiglia Windows Embedded Standard attraverso la quale è possibile definire un sistema operativo personalizzato, protetto, affidabile ed aggiornabile. La mattina si concluderà con un’introduzione sul .Net Micro Framework, fratello minore della famiglia .Net, per lo sviluppo di applicazioni su sistemi caratterizzati da una disponibilità di risorse limitate ma pur sempre con le potenzialità del codice managed e soprattutto con il paradigma della programmazione ad oggetti. Il pomeriggio inizierà con la presentazione della piattaforma .Net Gadgeteer che la Microsoft mette a disposizione per la realizzazione di dispositivi e prototipi anche in ambiente visuale attraverso Visual Studio. Si proseguirà con un’analisi della situazione attuale e futura sull’interconnessione dei dispositivi embedded nel mondo attraverso l’Internet Of Things e come sia possibile lo scambio di dati e di informazioni su scala mondiale tra di essi. La giornata si concluderà con una interessantissima sessione dedicata allo sviluppo con Kinect, alla Natural User Interface e su come, attraverso ques’ultima, sia possibile interagire con dispositivi embedded che ci circondano. Tutti i dettagli sulle sessioni e la logistica sono disponibili sul sito dell’evento raggiungibile all’indirizzo www.microsoftembeddedconference.it. Un evento da non perdere per tutti gli appassionati e professionisti del mondo embedded !

Page 6 of 25 << < 1 2 3 4 5 6 7 8 9 10 > >>