C# creazione di un app console in Raspberry tramite .Net 6

Articolo introduttivo alla programmazione .Net e IOT con la scheda Raspberry.

il
Sviluppatore Microsoft .Net, Collaboratore di IProgrammatori

La tecnologia .Net negli ultimi due anni si è molto evoluta, già con il Framework .Net Core 3.1 le novità in questo nuovo framework permettevano lo sviluppo multipiattaforma, ma con le nuove uscite del Framework versione 5 e versione 6, le potenzialità e facilità nello sviluppare applicazioni multipiattaforma sono aumentate.
L’ambiente di sviluppo Visual Studio 2019 e Visual Studio 2022 offrono al programmatore strumenti validi per creare applicazioni anche di una certa complessità.
In questo articolo vedremo come creare un’applicazione di tipo “Console” da far eseguire in ambiente “Raspberry” una scheda utilizzata per scenari di tipo Internet delle cose (IOT) ed oggi sempre più considerata per i bassi costi e valide potenzialità, anche a livello hobbistico.
Il linguaggio di programmazione che useremo è C#, mentre come ambiente di sviluppo la nuova versione di Visual Studio 2022 Community.
L’applicazione non farà altro che eseguire nel termine di Raspberry, una scritta, ricevere del testo input, e poi restituire il testo che ha letto.
Semplici istruzioni per muovere i primi passi su questo ambito, il tutto come mostrato in figura 1.

Terminale Raspberry per eseguire applicazione

Figura 1 - l'applicazione finale


Preparazione dell’ambiente Raspberry

La prima operazione da eseguire è quella di installare l’ultima versione del Framework .Net, nel momento in cui stiamo scrivendo l’articolo, la versione attuale è la 6. Questa operazione va fatta solo una volta, in quanto una volta installato .Net 6 non c’è più bisogno di eseguire questa operazione.
Si apre il terminale, un programma di Raspberry che permette di eseguire delle istruzioni.
Una volta aperto il terminale, dobbiamo scrivere l’istruzione per installare l’ultima versione del Framework.
Qui di seguito l’istruzione da eseguire tramite il pulsante invio.
 

curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --channel Current

Dopo aver eseguito l'istruzione precedente, verrà installato il .Net 6, il tutto come mostrato in figura 2.

Installazione .Net su Raspberry

Figura 2 - l'installazione del Framework

Dopo aver eseguito l’istruzione precedente, avviata tramite il pulsante “Invio” della tastiera, e dopo aver accertatosi che è stato installato correttamente, occorre impostare le variabili di ambiente, in modo che possiamo digitare il comando dotnet da qualsiasi percorso per eseguire varie operazioni.
Qui di seguito il comando per la creazione delle variabili di ambiente, che devono essere seguite poi dal tasto invio della tastiera per essere eseguite.

echo 'export DOTNET_ROOT=$HOME/.dotnet' >> ~/.bashrc
echo 'export PATH=$PATH:$HOME/.dotnet' >> ~/.bashrc
source ~/.bashrc

A questo punto, possiamo verificare la versione .Net installata.
Tramite il comando dotnet --version otteniamo la versione installata, che dovrebbe essere in questo caso la 6, che è l’ultima. Mentre con dotnet --info , otteniamo le informazioni sul .Net, tutte informazioni utili, come versione installata, sdk, e tanto altro, il tutto come mostrato in figura 3.
Terminata questa parte non ci resta che creare il progetto .

Impostare le variabili di ambiente per Raspberry

Figura 3 - le informazioni sulla versione .Net

Creazione del progetto.


Si crea un nuovo progetto di tipo “app console”, dai modelli proposti in Visual Studio 2022 Community o versione successive, che permette l’esecuzione in ambiente Linux, il tutto come mostrato in figura 4.

Creazione progetto .Net per Raspberry

Figura 3 – il modello per la creazione del progetto.


Dopo aver selezionato il modello di progetto, facciamo click sul pulsante “Avanti”, nella finestra successiva impostiamo un nome, per esempio “ConsoleAppTest” e poi di nuovo click sul pulsante “Avanti”, selezionare nella nuova schermata la versione 6 del framework (figura 4).

Scelta della versione del Framework

Figura 4 – La versione del Framework da selezionare.

A questo punto la creazione del progetto è terminata.

Stesura del codice

Scriviamo alcune semplici righe di codice che ci permettono di rilevare il testo digitato e visualizzarlo nella console.
Qui di seguito il frammento di codice delle suddette operazioni .

C#
Console.WriteLine("Prova applicazione Raspberry");
string valore = Console.ReadLine();
Console.WriteLine("Valore digitato: " + valore);


Terminata la stesura del codice, non resta che effettuare una pubblicazione, ossia rilasciare il programma in una determinata cartella e copiarla in Raspberry.
Si crea una cartella denominata “Rilascio” nel proprio pc, anche nel proprio progetto.
Tramite “Esplora soluzioni” facciamo click con il tasto destro sul nome del progetto e nel menu che viene visualizzato, selezioniamo al voce “Pubblica”. Nella finestra che viene aperta (figura 5) selezioniamo la voce “Cartella”.

pubblicazione applicazione di tipo Console per Raspberry

Figura 5 – La finestra per la modalità di pubblicazione


Dopo aver selezionato la voce “Cartella”, facciamo click sul pulsante “Avanti” nella finestra che viene aperta (figura 6) selezioniamo “Cartella” come modalità di pubblicazione.


La scelta di modalità di pubblicazione

Figura 6 – La scelta di modalità di pubblicazione


Facciamo click sul pulsante “Avanti”, e nella finestra successiva (figura 7) selezioniamo tramite il pulsante “Sfoglia” il percorso dove vogliamo che vengano generati i file da eseguire su Raspberry, e dopo aver impostato il percorso facciamo click sul pulsante “Fine”.

La cartella dove generare i file da eseguire nella scheda Raspberry

Figura 7 – La cartella dove generare i file da eseguire nella scheda Raspberry

Copiare tutto il contenuto della cartella, o meglio la cartella stessa, e copiarla nella scheda raspberry, si può anche comprimere la cartella in un solo file compresso ed appoggiare in uno spazio web tale file per poi scaricarlo nella scheda stessa.
Una volta copiato in Raspberry, dal terminale eseguiamo il seguente comando:

“dotnet ConsoleAppTest.dll”

Facendo attenzione alle minuscole e maiuscole e soprattutto l’estensione che è di tipo “.dll”.
Il risultato sarà come mostrato in figura successiva.

Esecuzione del programma in Raspberry

Figura 8 - L'applicazione eseguita in Raspberry

Conclusioni

L’articolo ha fornito al lettore le basi per la prima realizzazione di un programma di internet delle cose (IOT) utilizzando la scheda Raspberry.
La tecnologia .Net e l’ambiente Visual Studio 2022 community, forniscono allo sviluppatore strumenti per semplificare la creazione di applicazioni in questo ambito, ma soprattutto la portabilità in più sistemi operativi.
Per coloro che in passato hanno sviluppato applicazioni di tipo Windows Application o console application, non troveranno nessuna differenza nel realizzare applicazioni anche per la scheda Raspberry.
Le potenzialità offerte da questo nuovo Framework fornisce una serie di classi per la gestione dei dati.
Il lettore scoprirà nel fare le varie prove, com’è facile realizzare applicazioni per la scheda Raspberry.