Controller Growbox con Arduino

Controller GrowBox con Arduino installatoCiao a tutti! Ci eravamo lasciati a Febbraio con la costruzione della GrowBox per Peperoncini (ma in realtà questo inverno ci sono nati e cresciuti Pomodori, Peperoni, Melanzane, Cocomeri, Meloni, Zucche e Zucchine), l’utilizzo della GermBox per la germinazione con il metodo Scottex e l’upgrade “termico”. Ora, finalmente, mi sono deciso a scrivere la prima parte dell’articolo sulla realizzazione di un Controller GrowBox con Arduino, controllabile tramite un piccolo web server integrato e con l’invio dei dati su un’istanza di EmonCMS.

Controller GrowBox con Arduino

Stanco dell’utilizzo di timer a cavalieri, ciabatte, termoigrometri min/max e chi più ne ha più ne metta, ho deciso che era giunto il momento di mettere insieme i due mondi: Arduino e Peperoncini. Il primo progetto, scartato nel giro di poche settimane, prevedeva l’utilizzo di Arduino Nano con RTC, Display 1602 e modulo Relay per gli azionamenti, un sensore DHT22 per temperatura e umidità ambiente. Niente bottoni, per cambiare parametri dovevo modificare il firmware. C’è voluto poco per decidere di passare ad Arduino Mega, Ethernet Shield e Display 2004.

Sensori

Anche i sensori sono aumentati, dal singolo sensore sono arrivato a due DHT22 (uno interno ed uno esterno, con possibilità di utilizzo degli introvabili DHT44) e due DS18B20 (uno per il monitoraggio della temperatura della sabbia dove è immerso il cavo riscaldante e l’altro per la temperatura dello strato più alto dove ci sono le lampade). Penso di aggiungere, a breve, un trasformatore amperometrico. Potrebbe essere molto utile per spegnere tutto in caso di consumo eccessivo (probabile corto circuito).

Prototipo GrowBox Shield
Prototipo GrowBox Shield

Azionamenti

Gli azionamenti di cui ho bisogno sono:

  • Illuminazione
  • Ventilazione
  • Riscaldamento
  • Vaporizzatore ad ultrasuoni (non utilizzato ma perfettamente implementato)

Per semplicità ho collegato tutto alla 220V, utilizzando eventuali trasformatori a monte della scheda relay.

Controllo

La prima versione prevedeva una pagina web con aggiornamento dei parametri in AJAX e la possibilità di accendere e spegnere i relay. Non prevedeva, ancora uno storico dei dati o una programmazione dei valori.

Un controller growbox con Arduino è utile se programmabile. Per questo motivo ho messo mano nuovamente al codice ed ho implementato alcune pagine per l’impostazione dei parametri (soglie, orari di accensione e spegnimento) e il download dei log giornalieri in formato CSV. Questi log sono salvati nella microSD inserita nell’Ethernet Shield.

Integrazione EmonCMS

Passo molte ore fuori casa per lavoro, e non potevo non avere sotto mano i dati ambientali registrati. Essendo un controller GrowBox con Arduino, già dotato di Ethernet Shield, perchè non inviare i dati su un cloud? Dopo una ricerca delle possibilità ho optato per EmonCMS. Gratuito, Open Source e con la possibilità di utilizzarlo su shared hosting come Aruba.

Nuove modifiche al codice per avere finalmente i primi dati inviati e visualizzati su internet!

Questa è la mia dashboard:

Dashboard EmonCMS per il controller GrowBox con Arduino
Dashboard EmonCMS per il controller GrowBox con Arduino

 

 

 

 

 

Da qui è possibile vedere lo stato delle luci, del riscaldamento, delle ventole e del generatore di umidità, oltre che gli andamenti dei valori di temperatura ed umidità rilevati dai sensori. L’ho predisposto per l’invio di una email in caso di temperature fuori norma, oltre che all’accensione e spegnimento dell’illuminazione.

Conclusioni

E’ già il secondo anno che la utilizzo, migliorando di mese in mese il firmware che penso di rilasciare a breve, insieme ad uno schematico del GrowBox Shield che ho realizzato.

A presto!

Inviare email in caso di movimento con motionEye

Ciao a tutti! Dopo aver visto come installare motionEye su Raspberry Pi e come configurare una telecamera D-Link, andremo a a vedere come inviare email in caso di movimento con motionEye, appunto.

Panoramica

motionEye è, a detta dell’autore, un frontend per motion, ovvero un demone altamente configurabile per il monitoraggio di molti tipi di segnali video.

Abbiamo visto nello scorso articolo le funzioni principali, e qui ci concentreremo quindi sulla funzione che ci permette di inviare email in caso di movimento con motionEye.

motion, in ogni caso, è disponibile a questo link.

Inviare email in caso di movimento con motionEye

Per inviare email in caso di movimento con motionEye dobbiamo prima di tutto aprire la pagina web del nostro dispositivo, su cui abbiamo installato motionEye. Effettuiamo il login con le credenziali impostate durante l’installazione e facciamo click sull’hamburger in alto a sinistra.

Inviare email in caso di movimento con motionEyeScorriamo verso il basso per arrivare alle due sezioni che ci interessano: Motion Notifications e Motion Detection.

 

motionEye - Motion NotificationsNella sezione Motion Notifications è possibile selezionare l’evento che vogliamo scatenare in caso di movimento. Oltre all’invio di una email è possibile richiamare un Web Hook o eseguire un comando.

Nel nostro caso andremo ad abilitare Send An Email per poter configurare il destinatario ed i parametri del server SMTP.

motionEye - Motion DetectionNella sezione Motion Detection, invece, è possibile impostare i parametri riguardanti il Motion Detection, come:

 

 

  • Frame Change Threshold, ovvero la soglia sotto la quale il sistema ignorerà cambiamenti
  • Auto Noise Detection
  • Light Switch Detection
  • Minimum Motion Frames (secondo me molto importante per evitare falsi positivi)
  • Mask
  • Debug

Nella schermata di esempio possiamo vedere un settaggio base che ho utilizzato per un piccolo test del sistema che sto mettendo in piedi.

Conclusioni

Bene, ora abbiamo abilitato la funzione che ci permette di inviare email in caso di movimento con motionEye. Sfruttando la nostra rete LAN possiamo installare molte più telecamere e personalizzare le notifiche in caso di movimento per la singola unità!

A presto!

Installazione di motionEye su Raspberry Pi

Ciao a tutti! Oggi andremo ad effettuare l’installazione di motionEye su Raspberry Pi. Prima di tutto, però, andremo a scoprire cos’è.

Panoramica

motionEye è, a detta dell’autore, un frontend per motion, ovvero un demone altamente configurabile per il monitoraggio di molti tipi di segnali video.

motion ci permette di:

  • Creare video o salvare immagini dei movimenti
  • Ottenere lo stream dalle telecamere
  • Invocare script quando viene rilevato del movimento
  • Effettuare il log dei movimenti in diversi tipi di database
  • Effettuare mascherature per privacy e rilevamento di movimento altamente personalizzate

Ed inoltre è compatibile con moltissimi device, tra cui:

  • Webcam V4l2
  • Schede di cattura video
  • Telecamere IP con HTTP, RTSP e RTMP
  • File statici tramite V4l2 loopback
  • Pi camera

motion è disponibile a questo link.

motionEye, quindi, ci offre un sistema per utilizzare motion in maniera molto più semplice ed immediata, tramite accesso ad un server web.

Installazione di motionEye

Prima di tutto abbiamo bisogno di scaricare l’immagine per Raspberry Pi (disponibile in varie versioni) da questo sito. Procediamo alla copia su microSD come abbiamo visto per Raspbian Stretch nell’articolo dedicato, quindi utilizzando Win32DiskImager.

Una volta terminata la copia dell’immagine di motionEyeOS sul nostro supporto, inseriamolo nell’alloggiamento su Raspberry Pi e colleghiamo cavo ethernet (è possibile utilizzare il WiFi modificando il file wpa_supplicant.conf) e alimentazione.

Attendiamo qualche minuto senza riavviare o spegnere Raspberry Pi, e accediamo al webserver creato da motionEye. Se non abbiamo impostato un indirizzo IP statico possiamo utilizzare nmap, ZenMap o l’applicazione Fing.

Inseriamo come nome utente admin e lasciamo vuoto il campo della password per accedere alle pagine di configurazione e visualizzazione di motionEye.

Installazione di motionEye - Login

Configurazione di una telecamera D-Link

Per procedere alla configurazione dei una telecamera abbiamo bisogno del link al suo flusso video (o Jpeg). Io ho utilizzato questo sito, che offre i percorsi per moltissimi modelli di telecamere IP. Per la telecamera che sto configurando ora, la D-Link DCS- il link al Jpeg è:

Link al flusso della telecamera

Siamo quindi pronti per aggiungere la telecamere su motionEye: facciamo click sull’hamburger in alto a sinistra:

Installazione di motionEye - Settings

Nel menu a tendina appena comparso scegliamo Add Camera.

installazione di motionEye - add camera

In questa nuova finestra selezioniamo Network Camera nel campo Camera Type e inseriamo il link appena recuperato, inserendo l’indirizzo IP della telecamera.

installazione di motionEye - form network camera

Completiamo il form con Username, Passowrd e nome della telecamera e premiamo ok.

Per questo articolo abbiamo concluso, vedremo nelle prossime settimane come configurare ulteriori parametri!

Comunicazione Bluetooth Low Energy tra Raspberry Pi 3 e The Tactigon

Bluetooth Low Energy tra Raspberry Pi 3 e The TactigonCiao! Qualche settimana fa abbiamo visto come installare BlueZ e bluepy sul computer Raspberry Pi 3, ed usufruire quindi del Bluetooth Low Energy. Oggi andremo ad instaurare una comunicazione Bluetooth Low Energy tra Raspberry Pi 3 e The Tactigon tramite uno script Python.

Lo sketch che andremo a caricare sulla nostra scheda The Tactigon verificherà la sua inclinazione (questa volta semplicemente analizzando l’accelerazione) e, ad un cambio di stato, invierà il comando tramite la caratteristica Bluetooth Low Energy. Lo script Python in esecuzione su Rasbperry Pi 3 B, alla ricezione del messaggio, ne effettuerà il parse per poi eseguire un’azione, nel nostro caso il cambio di stato di 4 GPIO.

Leggi tutto “Comunicazione Bluetooth Low Energy tra Raspberry Pi 3 e The Tactigon”

Calibrazione del Giroscopio di The Tactigon

The TactigonCiao! Nello scorso articolo abbiamo visto come programmare, tramite l’IDE Arduino, la nostra scheda The Tactigon, sia come Central Role che come Peripheral Role, e poter quindi trasmettere ad un dispositivo qualisiasi a patto che abbia connettività Bluetooth Low Energy. Ora, invece, andremo ad effettuare la calibrazione del giroscopio di The Tactigon.

Lo sketch che andremo a caricare è molto semplice e non farà altro che eseguire la calibrazione del giroscopio di The Tactigon e accendere i LEDs per mostrare lo stato attuale della procedura. 

Leggi tutto “Calibrazione del Giroscopio di The Tactigon”

Comunicazione UART con The Tactigon

The TactigonCiao! Nello scorso articolo abbiamo visto come programmare, tramite l’IDE Arduino, la nostra scheda The Tactigon, sia come Central Role che come Peripheral Role, e poter quindi trasmettere ad un dispositivo qualisiasi a patto che abbia connettività Bluetooth Low Energy. Questa volta, invece, andremo ad interfacciare un dispositivo dotato di comunicazione UART con The Tactigon, per ampliare ulteriormente le applicazioni della scheda wearable.

Lo sketch che andremo a caricare sul nostro The Tactigon è molto semplice e non farà altro che inviare i Byte ricevuti dalla UART al monitor seriale USB, lasciando al lettore la libertà di scegliere il dispositivo adatto. Verrà utilizzata la porta UART1, esposta nel connettore GROVE a bordo scheda. E’ comunque disponibile una seconda porta UART, indipendente da questa utilizzata. 

Leggi tutto “Comunicazione UART con The Tactigon”

Bluetooth Low Energy Central Role con The Tactigon

The TactigonCiao! Nello scorso articolo abbiamo visto come programmare, tramite l’IDE Arduino, la nostra scheda The Tactigon, per poter trasmettere ad un dispositivo quale smartphone, autoradio, Raspberry Pi, personal computer o altro dispositivo Arduino i dati registrati dal sensore inerziale. Questa volta, andremo ad analizzare la programmazione come Bluetooth Low Energy Central Role con The Tactigon, per poter leggere i valori di sensori esterni e, perchè no, di un altra scheda The Tactigon.

Lo sketch che andremo a caricare sul nostro The Tactigon è molto semplice e andrà a connettersi ad un altra scheda The Tactigon su cui avremo caricato il secondo sketch presentato.  

Leggi tutto “Bluetooth Low Energy Central Role con The Tactigon”

Comunicazione Bluetooth Low Energy con The Tactigon

The TactigonCiao! Eccoci alla seconda parte della guida sulle funzioni base di The Tactigon, la scheda di prototipazione wearable programmabile tramite l’IDE Arduino. Oggi vedremo come le librerie offerte da Next Industries permettono di comunicare tramite Bluetooth Low Energy con The Tactigon. Per oggi ci limiteremo alla modalità PERIPHERAL, ovvero gli faremo esporre una caratteristica che verrà aggiornata con nuovi dati non appena disponibili. Una unità CENTRAL sarà necessaria per la lettura, ed utilizzeremo il nostro smartphone con l’applicazione gratuita per Android BLE Scanner.

Lo sketch è molto semplice ma ci permetterà di utilizzare alcune delle librerie fornite nel pacchetto Arduino che abbiamo installato in questo articolo. Se ci è sfuggito, possiamo andare a leggere una piccola recensione della scheda di prototipazione in oggetto, con tanto di scheda tecnica nel post dedicato e la guida sull’output su monitor seriale USB pubblicata la settimana scorsa.

Leggi tutto “Comunicazione Bluetooth Low Energy con The Tactigon”

Output su monitor seriale USB con The Tactigon

The TactigonCiao! Continuiamo con gli articoli riguardanti The Tactigon, la scheda di prototipazione wearable programmabile tramite l’IDE Arduino. In questo articolo andremo a scrivere ed analizzare lo sketch che ci permetterà di avere un output su monitor seriale USB con The Tactigon, appunto. Lo sketch è molto semplice ma ci permetterà di utilizzare alcune delle librerie fornite nel pacchetto Arduino che abbiamo installato nello scorso articolo. Se ci è sfuggito, possiamo andare a leggere una piccola recensione della scheda di prototipazione in oggetto, con tanto di scheda tecnica nel post dedicato.

Leggi tutto “Output su monitor seriale USB con The Tactigon”

Installazione del Pacchetto Arduino di The Tactigon

Installazione del pacchetto Arduino di The TactigonCiao! E’ finalmente arrivato il momento di provare la scheda di prototipazione wearable The Tactigon, recensita nello scorso articolo. Oggi vedremo come  procedere all’installazione del pacchetto Arduino di The Tactigon preparato dal produttore della board. Questo pacchetto ci permetterà di utilizzare le librerie realizzate ad-hoc per la scheda di prototipazione wearable, e inoltre procederà all’abilitazione della programmazione tramite cavo Micro USB. L’ST-Link V2 non sarà quindi necessario! Leggi tutto “Installazione del Pacchetto Arduino di The Tactigon”