Archivi categoria: Informatica

Arduino per tutti parte quarta: si inizia a programmare (finalmente!)

Benritrovati nella rubrica Arduino per tutti che ritorna dopo una parentesi sul Raspberry. D’ora in poi, le due rubriche si alterneranno in modo abbastanza prevedibile al ritmo di un post a settimana (si spera…).
Finalmente, dopo la presentazione della scheda, l’installazione e la configurazione dell’IDE di Arduino, possiamo iniziare a programmare la nostra scheda di prototipazione.
Come inizia qualsiasi libri di programmazione che si rispetti? Ma con l’esempio base: l’”hello world” che tutti abbiamo imparato a conoscere (e temere).
In questo, Arduino e le schede consimili sono differenti, perché, ovviamente, non esiste “hello world”, nel senso che non è compito di una scheda di prototipazione produrre testi su un video. E allora?
L’equivalente nel mondo Arduino del programma hello world è Blink, ovvero l’accensione e lo spegnimento controllati del led della scheda stessa.

Prima di iniziare, diamo un’occhiata alla schermata dell’IDE che abbiamo già visto nella puntata precedente. Appena avviato, l’IDE apre in automatico un nuovo sketch. Appena aperto, lo sketch contiene sostanzialmente pochi elementi.

void setup() {
// put your setup code here, to run once:

}

void loop() {
// put your main code here, to run repeatedly:

}

Analizziamoli con calma.
Innanzitutto la dichiarazione “void” seguita da un identificativo (ad esempio setup()), è il nome con cui il linguaggio di programmazione “chiama” le variabili, cioè quegli elementi cui è possibile dare un valore di tipo statico (dato una volta e per sempre) o dinamico (il valore può essere assegnato durante l’esecuzione del codice). Qui ne troviamo due:
setup e loop.
La prima individua le operazioni che devono essere compiute una volta all’avvio del programma, l’altra quelle che devono essere compiute più volte in corso d’opera e più volte.
Il testo inserito dopo // invece è il commento del programmatore. Come si può vedere, ogni variabile ha un suo contenuto che deve essere appunto “contenuto” all’interno di due parentesi graffe {}.
Tutto qui. Come si vede, ci vuole poco.
E ora al nostro blink.
Molte schede Arduino contengono già preinstallato nel bootloader il blink. Tuttavia, sia nel caso non ci sia, sia nel cado ci sia, è bene osservare come sia possibile modificare la temporizzazione della scheda di prototipazione.
Innanzitutto, facciamo in modo che, all’avvio, la scheda si resetti e consenta di attivare il led (LED_BUILTIN, cioè il led preinstallato) e modificarne il comportamento (chiamando il comando OUTPUT). Inseriamo quindi nella void setup() il seguente codice:
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}

Ora, inizializzato il led, occorre stabilire la variabile loop().
Attiviamo il temporizzazione digitale passandogli, fra parentesi tonda, l’indicatore a cui collegare la temporizzazione e il comando da eseguire, avendo cura di chiudere la parentesi tonda e l’intera stringa con il punto e virgola (;). Ecco il codice relativo:
digitalWrite(LED_BUILTIN, HIGH);
HIGH si riferisce al voltaggio, indica che la corrente viene trasmessa al led che si accende. Similmente, per spegnere il led basterà sostituire, nell’istruzione più sopra, HIGH con LOW e il led, come per magia, si spegnerà. Ora, però, a noi serve fare in modo che il led lampeggi (to blink in inglese) non che si accenda e si spenga immediatamente.
Occorre quindi inserire la stringa che controlla la temporizzazione. Il comando per temporizzare un’azione del componente è delay(). Nella parentesi inseriamo il ritardo dell’operazione, in millisecondi (cioè, se vogliamo ritardare l’operazione di 1 secondo, occorre inserire nella parentesi 1000 e così via).
Dunque il nostro codice per il lampeggiare del led è:
void loop() {
digitalWrite(LED_BUILTIN, HIGH);
delay(1000);
digitalWrite(LED_BUILTIN, LOW);
delay(1000);
}

Ora il nostro sketch è pronto per l’uso, dobbiamo caricarlo sulla scheda perché si attivi all’avvio.
Fra le scelte rapide, premiamo il primo pulsante e verifichiamo che il nostro sketch funzioni (non si sa mai).
Ora bisogna inviare lo sketch sulla Arduino. Premiamo il pulsante “Carica” (il secondo da sinistra) e l’IDE procederà ad installare lo sketch sulla scheda. Ecco fatto, abbiamo finito.
Alla prossima…

Raspberry Pi stagione 2 puntata 3: qualche ulteriore ritocco…

Ben ritrovati in questa terza puntata della seconda stagione dedicata al Pi famoso non greco. Dopo aver visto come mettere in funzione la nostra PirateBox, qualche piccolo ritocco per renderla più funzionale e sicura.

Continua la lettura di Raspberry Pi stagione 2 puntata 3: qualche ulteriore ritocco…

Progetta con Arduino puntata 2: Un’occhiata all’IDE

Puntata veloce di Arduino, legata all’istallazione dell’IDE sul nostro pc.

Cos’è un IDE?

Un IDE (Integrated Development Environment, in italiano Ambiente di Sviluppo Integrato)) è un software che, in fase di programmazione, aiuta i programmatori nello sviluppo del codice sorgente di un programma.
In sostanza è l’ambiente dove possiamo inserire il nostro codice (con alcuni aiuti, come in alcuni l’autocompletamento) e poi possiamo andarlo ad eseguire.
Normalmente è un software che consiste di più componenti come un editor di codice sorgente (molto simile, in effetti, a notepad), un compilatore e/o un interprete (che trasforma il programma in software da scaricare sulla scheda), un tool di building automatico e, di solito, un debugger (che serve per controllare che ilprogetto funzioni ed individuare, eventualmente, gli errori nel codice).

Installate gente, installate…

Prima di lanciarci nella programmazione della nostra scheda, meglio dare prima un’occhiata al software, alle procedure di installazione e all’interfaccia grafica dello stesso. Si inizia con le procedure di installazione.
Il software per programmare il vostro Arduino è disponibile, come si è detto, per tutti i sistemi operativi più comuni, Windows, Mac e Linux. Il processo di installazione è diverso per le tre piattaforme, ma non molto complesso, almeno per Windows e Mac. Per Linux forse occorre faticare un po’ di più, ma lo vedremo in seguito.
In tutti i casi, comunque, occorre preventivamente recarsi sul sito web di Arduino (http://www.arduino.cc) e scaricare la versione dell’IDE per il sistema operativo preferito. La versione utilizzata per questi post è la 1.8 ma non vi sono sostanziali differenze con le versioni precedenti.

Ecco come si presenta la finestra di benvenuto in Windows 7.
Ecco come si presenta la finestra di benvenuto in Windows 7.

In Windows, la procedura da seguire comporta lo scompattamento del file rar in una cartella e il lancio dell’installatore dei drivers, contenuto nella cartella drivers, dpinst-x86.exe o dpinst-amd64.exe a seconda del fatto che il sistema operativo sia a 32 o 64 bit.
Ecco, l’installazione è tutta qui. Gli utenti windows possono saltare al prossimo paragrafo.

Per gli utenti Mac, la procedura non è molto dissimile. Dopo aver scaricato il file rar, basta copiare il file Arduino nella cartella Applicazioni del Mac (o dive preferiamo), cancellare il file rar e il gioco è fatto.
Per Linux, invece, occorre scompattare il file arduino-1.8.0-linux64.tar.xz o arduino-1.8.0-linux32.tar.xz.

Il sito di Arduino
Il sito di Arduino

Dal PC alla scheda

Per permettere all’IDE di Arduino di comunicare con la scheda, il sistema operativo ha bisogno di utilizzare i driver adatti alla scheda utilizzata.
Su Windows, collegare la scheda Arduino al pc tramite il cavo USB e poi attendere che la procedura guidata per l’installazione del nuovo hardware faccia il proprio compito, meglio se si è connessi alla rete internet.
Se si utilizza Windows XP o se non si è connessi alla rete internet si deve specificare la posizione dei driver.
La cartella dei driver si trova nella cartella scaricata e decompressa e poi in:

FTDI USB Drivers

Una volta installato il driver, farę partire la procedura di installazione guidata del nuovo hardware, poi seguire la procedura appena descritta.

Su OS X le ultime schede Arduino possono essere utilizzate senza altri driver. Se si usano schede più vecchie, allora si devono ricercare i driver. Cercarli nel file immagine scaricato e cercare il pacchetto

FTDIUSBSerialDriver (dove è il nuemro della scheda).

aprirlo con doppio click e avviare la procedura di installazione guidata.
Sulla maggior parte delle distribuzioni di Linux i driver sono già installati. Se si riscontrano problemi, ancora una volta, siccome potrebbe variare da distribuzione a distribuzione visitare la pagina ufficiale

Ecco un video riassuntivo per la versione Windows

Raspberry pi puntata 24: PressPi parte 1

Bentornati. In questa puntata e nella prossima monteremo sul raspberry pi una distribuzione dedicata all’installazione di un server wordpress sulla macchina, da collegare poi online con indirizzo statico: PressPI.

View post on imgur.com

Scarichiamo la dietro dal sito relativo, all’indirizzo http://presspi.com/
Armatevi di pazienza, perché la distro è in realtà depositata su google drive, insieme ad altre distribuzioni per raspberry pi dedicate, che vedremo in una prossima puntata e il download non è sempre agevole. Nel nostro caso, ad esempio, il download è stato portato a termine dopo 3 tentativi (ma magari siamo noi ad essere un po’ sfigati).

View post on imgur.com

Una volta scaricata, la dietro deve essere installata come già abbiamo visto fare nelle prime puntate della serie sulla scheda MicroSD opportunamente formattata.

View post on imgur.com

Il sito promette di poter usare la distro senza conoscere come funziona Linux e un web server, concentrandosi, quindi, solo su WordPress e sul sito costruitovi sopra.
Questo grazie all’uso di un web server pre configurato.

View post on imgur.com

Il web server utilizzato non è Apache, ma il più leggero Nginx (indirizzo https://nginx.org/), meno diffuso, almeno al momento, ma non meno efficace ed adattissimo all’uso come web server per WordPress.

La copertina del libro per neofiti Nginx Starter (in inglese)
La copertina del libro per neofiti Nginx Starter (in inglese)

Molto importante è anche la cache pre configurata per velocizzare l’apertura di articoli e pagine.

View post on imgur.com

Inoltre, promette di fornire tutorials utili (ma al momento in cui scriviamo, la pagina è ancora in costruzione) e strumenti per usarla anche con i Mac.

View post on imgur.com

Ora scarichiamo la dietro e installiamola sulla nostra MicroSD.
Alla prossima puntata…

Raspberry pi parte 22: minidlna per raspberry

Bentrovati sulle pagine di questa rubrica.
Quanti di voi hanno una smartTV, una xbox o altro strumento che si può connettere ad internet?
Volete realizzare un piccolo sistema multimediale interno alla vostra rete? Il raspi fa a caso vostro.
Seguiteci in questa puntata e vedrete come realizzarlo.
Continua la lettura di Raspberry pi parte 22: minidlna per raspberry

Raspberry pi parte 21: Raspberry Backup-Pi

Bentornati sulle pagine del nostro viaggio nel mondo del raspberry pi.
Oggi vedremo un piccolo programma che facilita la vita a chi deve fare il backup della scheda sd del raspberry. Purtroppo gira solo su windows, ma è molto veloce e può essere molto utile.
Continua la lettura di Raspberry pi parte 21: Raspberry Backup-Pi

Raspberry pi parte 20: ftp server per raspi

Bentornati sulle pagine del nostro viaggio nel mondo del raspberry pi.
Oggi vedremo come attivare un collegamento via ftp fra il vostro pc e il raspberry. Nel caso, ad esempio, che vogliate trasferire file dal pc al raspi o viceversa senza alzarsi dalla scrivania, occorre un collegamento ad hoc. Niente di più facile che usare un server ftp. Continua la lettura di Raspberry pi parte 20: ftp server per raspi

Raspberry pi puntata 19: qualche nota e suggerimento

Bentrovati.
Puntata lampo della nostra serie su raspberry.
Sicuramente avrete notato che su Raspbian ci sono software che per noi possono risultare inutili. Inoltre, furia di provare e riprovare, non è improbabile che abbiate sul piccolo raspi tanta roba che non serve più.
Per disinstallare questi software si può usare il comando:

sudo apt-get purge software_da_eliminare

Il comando purge ha il vantaggio di rimuovere sia il software, sia eventuali sue dipendenze.

Ecco qualche esempio.

sudo apt-get purge scratch
sudo apt-get purge debian-reference-en dillo idle3 python3-tk idle python-pygame python-tk
sudo apt-get purge minecraft-pi
sudo apt-get purge sonic-pi

Si può poi rimuovere in automatico ciò che non serve. Il sistema, infatti, è in grado di individuare software inutile e rimuoverlo.
Il comando in questo caso è il seguente:

sudo apt-get autoremove