Impianto di irrigazione con Raspberry Pi: piGarden, lo script di gestione (quinta parte)

Eccoci giunti alla quinta parte di questa serie di post in cui ho descritto come realizzare una centralina di irrigazione costruita attorno ad un Raspberry Pi.

Oggi vi presento lo script bash di gestione della centralina che ho realizzato. Con questo viene gestito l’apertura e chiusura delle elettrovalvole, il rilevamento della pioggia e l’eventuale interruzione di irrigamento in base alla condizione meteorologica.

Continue reading “Impianto di irrigazione con Raspberry Pi: piGarden, lo script di gestione (quinta parte)”

Impianto di irrigazione con Raspberry Pi: GPIO ed altre connessioni (quarta parte)

Impianto Irrigazione Raspberry Pi Gpio

Dopo un lungo periodo di assenza torno a parlare in questa quarta parte della realizzazione di un impianto di irrigazione automatizzato grazie al Raspberry Pi. Per la precisione vedremo le connessioni da eseguire sulle porte GPIO e gli altri pin presenti sulla nostra board.

Tutto il progetto è stato realizzato utilizzato un Raspberry Pi “modello B” di prima generazione e quindi tutte le connessione che indicherò faranno riferimento alla pedinatura di questo modello specifico. Niente vieta però di utilizzare un Raspberry Pi diverso da quello indicato o di eseguire le connessioni dei vari apparati a porte gpio diverse da quelle qui specificate. Infatti nello script di gestione che illustrerò nel prossimo articolo, sarà possibile rimappare ogni elemento andando a definire gli ingressi/uscite in un apposito file di configurazione.

Continue reading “Impianto di irrigazione con Raspberry Pi: GPIO ed altre connessioni (quarta parte)”

Impianto di irrigazione con Raspberry Pi: il sistema di rilevamento pioggia (terza parte)

pioggia

Eccoci arrivati alla terza parte di questa serie di post dove descrivo la realizzazione di un’impianto di irrigazione automatizzato dal un Raspberry PI.

Oggi cercherò di spiegare come ho implementato il sistema di rilevamento pioggia grazie al quale viene evitata l’irrigazione quando il terreno ha già ricevuto acqua a causa delle condizioni meteorologiche.

Continue reading “Impianto di irrigazione con Raspberry Pi: il sistema di rilevamento pioggia (terza parte)”

Impianto di irrigazione con Raspberry Pi: l’elettrovalvola (seconda parte)

Claber 78215-10 Elettrovalvole 9V

Salve a tutti, dopo ben due settimane torno a parlare del progetto che sto portando avanti, ovvero la realizzazione di un impianto di irrigazione automatizzato da un Raspberry Pi. Se vi siete persi il precedente post di introduzione potete dargli un’occhiata qui.

Oggi descriverò il tipo di elettrovalvola che ho utilizzato e l’automazione del suo sistema di apertura/chiusura.

Continue reading “Impianto di irrigazione con Raspberry Pi: l’elettrovalvola (seconda parte)”

Impianto di irrigazione con Raspberry Pi (prima parte)

Impianto di irrigazione con Raspberry Pi

Dopo più di un anno di latitanza ho trovato il tempo per tornare scrivere sul blog. L’argomento di questo e dei post che seguiranno sarà la realizzazione e messa in opera di un impianto di irrigazione automatizzato da una centralina il cui componente principale sarà un Raspberry Pi.

Ho iniziato il progetto un paio di mesi fa ed è tuttora in fase di avanzamento. L’impianto una volta terminato gestirà sei diverse zone di irrigazione. Ogni zona verrà comandata da una rispettiva elettrovalvola. L’accensione e lo spengimento delle elettrovalvole verrà gestita dal Raspberry Pi e da otto relè disposti su due appositi moduli.

Continue reading “Impianto di irrigazione con Raspberry Pi (prima parte)”

Installazione Laravel

Installazione Composer:

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

Installazione Laravel:

composer global require "laravel/installer=~1.1"
sudo ln -s /home/tua_home/.composer/vendor/bin/laravel /usr/local/bin/laravel

Creazione di un nuovo progetto Laravel:

laravel new nome_progetto

Esempio di virtual host per apache:

<VirtualHost *:80>
	ServerAdmin webmaster@localhost
	ServerName helloworld.laravel
 
	DocumentRoot "/home/david/laravel/helloworld/public"
	<Directory "/home/david/laravel/helloworld/public">
		Options Indexes FollowSymLinks MultiViews
		AllowOverride all
		Require all granted
		Order allow,deny
		Allow from all
	</Directory>
</VirtualHost>

Abilitare modulo php mcrypt

sudo apt-get install php5-mcrypt
sudo php5enmod mcrypt
sudo service apache2 restart

Installare Money Manager EX su Ubuntu 14.04

Installare libwxbase3.0-0-unofficial:

sudo apt-add-repository 'deb http://repos.codelite.org/wx3.0.1/ubuntu/ trusty universe'
sudo apt-get install curl
curl http://repos.codelite.org/CodeLite.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get install libwxbase3.0-0-unofficial

Scaricare Money Manager EX da http://www.moneymanagerex.org/download#LinuxInstall e installare il pacchetto:

dpkg -i mmex_1.1.0_i386.deb

Linux: convertire risoluzione di un video mp4

sudo apt-get install libav-tools
avconv -i input.mp4 -s xga output.mp4

Con il parametro -s si indica la risoluzione in cui convertire

sqcif
128×96

qcif
176×144

cif 352×288

4cif
704×576

16cif
1408×1152

qqvga
160×120

qvga
320×240

vga 640×480

svga
800×600

xga 1024×768

uxga
1600×1200

qxga
2048×1536

sxga
1280×1024

qsxga
2560×2048

sqcif
128×96

qcif
176×144

cif 352×288

4cif
704×576

16cif
1408×1152

qqvga
160×120

qvga
320×240

vga 640×480

svga
800×600

xga 1024×768

uxga
1600×1200

qxga
2048×1536

sxga
1280×1024

qsxga
2560×2048

 

sudo apt-get install mencoder
mencoder input.mp4 -vf scale=1280:720 -oac lavc -ovc x264 -o output.mp4

Con i parametri -oac e -ovc si sceglie il codec audio e video.

Per sapere quali sono i codec disponibili utilizzare i comandi

mencoder -oac help
mencoder -ovc help

Fonte: http://askubuntu.com/questions/160869/need-to-downsample-video-to-a-lower-resolution

Raspberry PI: freeze durante il download dati

Uso il Raspberry Pi durante la notte per eseguire il backup dati di alcuni siti sparsi su internet facendone il download dei dati.

Mi è capitati diverse volte che il Rasp-Pi vada in freeze e non risponda via rete. I log che trovo in /var/log/kern.log sono questi:

Apr 28 16:29:39 raspberrypi kernel: [85223.191749] net_ratelimit: 3722 callbacks suppressed
Apr 28 16:29:39 raspberrypi kernel: [85223.191790] smsc95xx 1-1.1:1.0: eth0: kevent 2 may have been dropped
Apr 28 16:29:39 raspberrypi kernel: [85223.191882] smsc95xx 1-1.1:1.0: eth0: kevent 2 may have been dropped
Apr 28 16:29:39 raspberrypi kernel: [85223.191961] smsc95xx 1-1.1:1.0: eth0: kevent 2 may have been dropped
Apr 28 16:29:39 raspberrypi kernel: [85223.192025] smsc95xx 1-1.1:1.0: eth0: kevent 2 may have been dropped

Googolando ho trovato questa possibile soluzione su http://www.raspberrypi.org/phpBB3/viewtopic.php?p=134136:

I performed the following suggested modifications mentioned in this thread.

  • Updated the firmware according to this blog post: http://www.stuffaboutcode.com/2012/07/raspberry-pi-kernal-panic-solved-by.html i.e. (add “sudo” before each command if you’re not logged in as root) 

    apt-get install git-core
    wget http://goo.gl/1BOfJ -O /usr/bin/rpi-update && chmod +x /usr/bin/rpi-update
    apt-get install ca-certificates
    rpi-update
  • Increased “vm.min_free_kbytes” to 16384 in /etc/sysctl.conf:

    nano /etc/sysctl.conf

    Replace the number 8192 after “vm.min_free_kbytes =” with 16384, i.e. double it.

  • Added “smsc95xx.turbo_mode=N” to /boot/cmdline.txt:

    nano /boot/cmdline.txt

    Paste “smsc95xx.turbo_mode=N” after all other entries in the file.

  • After that I pulled the plug, let the RPi rest for a few seconds before plugging it in again. Done!