Su ConnectedGardens.it vengono trattate le tecnologie open source dell’Internet dei dispositivi connessi (IoT) per la coltivazione di orti e piante. 

Sebbene per ogni dimostrazione vengano sempre forniti i dettagli sui materiali e componenti utilizzati, così come tutte le linee di codice di programmazione, si considera già acquisita una minima familiarità almeno una tra le due piattaforme open source più diffuse ovvero Arduino/Genuino e Raspberry.

Il livello di comprensione degli articoli di ConnectedGardens.it sono è infatti molto semplice per tutti coloro che sono già passati attraverso lo Starter Kit di Arduino o Raspberry. 

ConnecteGardens.it ritiene che le comunità già esistenti sul web forniscano un’inestimabile quantità di informazione per chi volesse iniziare ad avventurarsi nel mondo dell’elettronica open-source. Di conseguenza, per garantire originalità e qualità dei contenuti, ci si concentrerà sulle linee di codice e sui componenti elettronici utili a rendere semplice e diretta l’applicazione di queste tecnologie al “coltivare fai da te”.

Questo significa che per quanto riguarda il mondo compatibile con Arduino verranno messi a disposizione gli “sketch” e le “funzioni” principali sviluppati da ConnectedGardens.it , mentre per quanto riguarda Raspberry pubblicheremo soprattutto gli script in Python. Se ti dovesse risultare incomprensibile ciò di cui stiamo parlando, ed ancora non sei scappato, allora ti consiglio vivamente di leggere i pochi paragrafi seguenti come primo orientamento e, prima di continuare a leggere gli articoli della sezione “tecnologia”, dedicati una pausa di apprendimento sui siti di arduino.cc o raspberrypi.org  per compiere i primi passi.

Cosa c’è da sapere prima di iniziare

Anzitutto distinguiamo due grandi piattaforme nel mondo dell’ IoT e del’ hardware opensource in: Arduino e Raspberry.  Possiamo per il momento generalizzare che tutti gli altri prodotti hardware oggi esistenti, incluse derivazioni o imitazioni varie,  si allineano a questi due ambienti di sviluppo.

Arduino

Le schede Arduino/Genuino,e tutte le sue imitazioni o derivazioni, sono caratterizzate dall’avere un microprocessore programmabile, dotato di numerosi ingressi detti “pin” Input/Output ai quali possiamo  collegare sensori, led, schede aggiuntive etc. quasi come se fossero i pezzettini della lego; Ogni volta che assembliamo un nuovo circuito con un qualsiasi componente dovremo scrivere un programma che istruisce il microprocessore su cosa fare. La cosa interessante è che grazie al team ed alla community di Arduino possiamo improvvisarci esperti di programmazione di questo microprocessore utilizzando il linguaggio C o C++ (linguaggio macchina), in base ai componenti a cui colleghiamo a scheda Arduino.

Arduino.cc fornisce infatti gratuitamente un software “compilatore" (chiamato Arduino IDE) che ci aiuta a comporre i programmi che intendiamo scrivere in C ed “caricarli” nella memoria della stessa scheda Arduino, o compatibile.

Nel gergo tecnico degli utilizzatori di Arduino questi programmi che scriviamo in C con l’Arduino IDE vengono chiamati “sketch” che potremmo tradurre con "schemi" o "schizzi". Per rendere immediatamente l’idea di questo processo che magari già sembra troppo astratto immaginiamo questa situazione:

Ho un sensore della temperatura, un led, ed ho una scheda Arduino. Voglio che il microprocessore di Arduino legga il valore della temperatura ed accenda il led al di sotto di una certa temperatura (un sistema di allarme per le piante del mio appartamento in inverno). Ecco cosa devo fare:

1)     Collego il sensore temperatura ed il led alla scheda Arduino

2)     Con il software Arduino IDE sul mio computer scrivo lo sketch per impartire l’ordine ad Arduino di interpretare il termometro ed in base al valore di accendere il led. Per fortuna la community di Arduino è molto sviluppata, ed è molto probabile cge si possa trovare lo sketch già disponibile online pronto per essere copiato/incollato ed adattato ai propri bisogni. Inoltre su ConnectedGarden.it viene sempre fornito lo sketch di esempio da utilizzare direttamente.

3)     A questo punto posso collegare la scheda Arduino alla presa USB del computer per "caricare" lo sketch nella sua memoria flash. 

4)     Finito! da questo momento la scheda Arduino effettuerà ciò che gli abbiamo chiesto di fare. Per sempre :)

Se anziché il led facciamo volessimo attivare una pompa per irrigare il giardino, od inviarci una email per avvisarci della temperatura, il metodo alla base sarebbe sempre lo stesso: scrivere lo sketch e caricarlo nella scheda Arduino.

Come detto in precedenza ConnectedGardens.it mette a disposizione gli “Skecth” degli esempi trattati, in modo che voi possiate concentrarvi unicamente sull’assemblaggio dei circuiti ed all’accrescimento delle vostre piante!

Raspberry

La scheda Raspberry Pi è differente da Arduino perché è un vero e proprio Personal Computer di dimensioni ridotte dotato di uscita audio, video (sia analogico che HDMI), varie prese USB e sul quale è installato il sistema operativo Linux (in una sua versione ottimizzata e chiamata RaspBian).

A tutti gli effetti quindi Raspberry è un computer economico che possiamo utilizzare come desktop a casa od in ufficio.

Ciò che rende Rasperry interessante per il nostro orto è che, a differenza di tutti gli altri computer desktop in circolazione,  è dotato di una cosiddetta porta Input/Output con numerosi pin. Questo gli dona quindi la facoltà di collegarsi, come per la scheda Arduino, a sensori o componenti di vario tipo, incluse video e fotocamere. La nativa capacità di Linux di collegarsi ad internet e gestire reti di computer consente poi un’avanzatissima gestione di queste informazioni sia a livello domestico che, ad esempio, a livello “social”.

Per utilizzare una Raspberry occorre conoscere anzitutto le basi di Linux,  e del linguaggio Python, da molti ritenuto più moderno, semplice e flessibile del linguaggio C. Python è necessario al fine di scriverne i programmi per di interpretare i dati dei sensori o chiedere a Raspberry di eseguire le operazioni che riteniamo utili (ad esempio avvisarci via email o twitter)

Ovviamente anche in questo caso, la community di Raspberry è sviluppatissima e troverete online numerosissimi tutorial per farvi le ossa e comprendere al meglio in seguito come applicare alla vostra coltivazione le soluzioni trattate su ConnectedGardens.it