Il componente M2Mqtt4CE : un client MQTT da includere nell’immagine di Windows Embedded Compact 2013

Nel post precedente, utilizzando il tool CEComponentWiz abbiamo creato un componente custom che sia visibile nel catalog items del Platform Builder.

Abbiamo utilizzato l’assembly della libreria M2Mqtt compilata per il .Net Compact Framework 3.9 ed abbiamo generato il componente corrispondente che ho reso pubblicamente disponibile su CodePlex con il nome di M2Mqtt4CE !

M2Mqtt4CE : descrizione del componente

Tale componente può essere utile ad un qualsiasi OEM che debba produrre un’immagine del sistema operativo Windows Embedded Compact 2013 e che abbia direttamente a bordo un client MQTT per .Net Compact Framework 3.9. Supponendo di essere l’OEM, possiamo scaricare il pacchetto M2Mqtt4CE da CodePlex ed estrarre il contenuto nella cartella \WINCE800\3rdParty (come descritto nel file ReadMe.txt allegato).

I file principali che ne fanno parte sono :

  • M2Mqtt.dll (contenuto nella cartella Resources) è l’assembly firmato della libreria M2Mqtt che viene incluso nell’immagine e registrato nella GAC;
  • M2Mqtt.bib è il BIB file che stabilisce l’inclusione del file M2Mqtt.dll (sezione FILES) nell’immagine rinominandolo in GAC_M2Mqtt_v3_0_0_1_cneutral_1.dll per la registrazione nella GAC;
  • M2Mqtt.reg contiene le chiavi di registro necessarie per la registrazione nella GAC dell’assembly firmato GAC_M2Mqtt_v3_0_0_1_cneutral_1.dll;

Inoltre, il file postlink.bat, eseguito dal sistema di build, effettua la copia de file M2Mqtt.dll dalla Resources directory nella release directory, per poi essere rinominato in GAC_M2Mqtt_v3_0_0_1_cneutral_1.dll (attraverso il BIB file) in fase di generazione dell’immagine.

Includiamo M2Mqtt nell’immagine

Apriamo un progetto esistente oppure creiamone uno nuovo utilizzando il Wizard di Visual Studio 2012. Al termine del Wizard, aprendo il catalog items di Platform Builder il componente M2Mqtt sarà visibile in Third Party –> Embedded101 per poter essere incluso con un semplice click !

5466.CEComponentWiz_04_thumb_4C3A99A0

Clicchiamo su di esso ed eseguiamo il build dell’immagine senza dimenticarci di includere anche il .Net Compact Framework, poichè la libreria M2Mqtt è di tipo managed.

Ispezione del file NK.bin generato

Non tutti sanno che utilizzando Visual Studio (sin dalle prime versioni del Platform Builder) possiamo aprire il file NK.bin e vederne il contenuto del file system oltre che del registro di sistema.

0005.NK_files_thumb_7C647514

Nella sezione “files” vediamo il file GAC_M2Mqtt_v3_0_0_1_cneutral_1.dll incluso come file nascosto e di sistema.

4621.NK_registry_thumb_62903EE5

Nella sezione “Registry” vediamo le impostazioni del registro di sistema necessarie per la corretta registrazione nella GAC (come tutti gli altri assembly del .Net Compact Framework). L’assembly è correttamente firmato con un Public Key Token corrispondente.

Nel prossimo post, parleremo di un altro componente della famiglia Embedded101 attraverso il quale fornire uno dei principali strumenti di debugging in un’immagine del sistema operativo (Core Connectivity), in vista dello sviluppo di un’applicazione di esempio che faccia uso del client MQTT.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s