Quanto consuma un Raspberry Pi sempre acceso

Dipende. Com’è ovvio che sia, dipende da quello che gli fate fare 24 ore su 24.

I conti che potete farvi hanno un margine d’errore enorme ma comunque può farvi capire quanto sia interessante avere un piccolo tutto fare sempre acceso “che fa cose”.

Prima di tutto dipende dal modello di Raspberry Pi, dal tipo di alimentatore e se proprio vogliamo: anche dalla lunghezza del cavo (online si trovano personaggi discutibili che considerano anche quello come resistenza, ma direi che è un calcolo non troppo educativo).

Ti piace? Puoi acquistarlo sui 35-40 euro da qui

Il modello 3 e 3+ hanno bisogno di un alimentatore da 2.5A (ma anche 2.1 sembra andar bene) controllate qua https://www.raspberrypi.org/help/faqs/#powerReqs le richieste in base al vostro Pi. In ogni caso, a occhio e croce con un costo della corrente al kWh di circa 20 centesimi, se un Raspberry Pi in idle consuma dai 3W ai 5W la divisione è semplice:

3W circa 2 kW al mese, quindi 40 centesimi
5W circa 3.6 kW al mese, cioè 72 centesimi

Ovviamente più cose gli fate fare (può raggiungere picchi più alti ma conta in media come si comporta), più periferiche avete attaccato alla porta otg/usb, più il Raspberry consumerà, ma comunque è di molto lontano da un consumo di un computer con alimentatori sulle 50-100 volte più potenti (in termini di consumi).

Vi ricordo che il consumo in W viene calcolato dal voltaggio moltiplicato per l’amperaggio, quindi 1A*5V = 5W. E il consumo in kWh significa 1kW=1.000W ogni ora, quindi se una cosa consuma 10W e sta accesa per 1 ora intera, per fare 1 kWh dovrà star acceso 1.000Wh/10W=100 ore.

Come installare Homebridge

Installare Homebridge è semplicissimo, vi basterà prima di tutto installare qualche dipendenza. Iniziamo con Node:

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo aptinstall nodejs -y

Poi nel caso non li abbiate installati, installate anche:

sudo aptinstall libavahi-compat-libdnssd-dev

E ora finalmente installiamo Homebridge con:

sudo npm install -g --unsafe-perm homebridge

Progetto di Homebridge su GitHub

Ora create un file .config con:

sudo nano ~/.homebridge/config.json

E incollate qualcosa tipo:

{
"bridge": {
        "name": "Homebridge",
        "username": "AB:12:CD:34:EA:12",
        "port": 1234,
        "pin": "123-12-123"
},

"description": "This is an example configuration file with one fake accessory and one fake platform.",

"platforms": [{
"platform": "eDomoticz",
"name": "eDomoticz",
"server": "127.0.0.1",
"port": "8080",
"ssl": 0,
"roomid": 0,
"mqtt": {

"host": "127.0.0.1",
"port": 1883,
"topic": "domoticz/out",
"username": "user",
"password": "pass"

}}]}

Che è la configurazione nel caso abbiate il plugin per Domoticz. Lo installate semplicemente eseguendo:

sudo npm install -g homebridge-edomoticz

Ora esrguite Homebridge eseguendo (nel caso usate sudo davanti):

homebridge

Se volete eseguire Homebridge come fosse un servizio seguite questa guida.
Mentre nel caso non vi appaia nell’app Casa (Home se avete l’iPhone o l’iPad in inglese) seguite questa.

Come usare il Raspberry Pi Zero come accessorio

Il Pi Zero è possibile utilizzarlo come un accessorio e non solo come un computer vero e proprio (ha la porta USB, HDMI ecc). Il tutto utilizzando la porta OTG, cioè quella accanto a quella di alimentazione.

Prima di tutto installate Raspbian, poi spegnete e collegate la microSD al vostro computer. Aprite la partizione boot e modificate questi due file:

config.txt

Aggiungete una riga e incollate:

dtoverlay=dwc2

Poi aprite il file:

cmdline.txt

E dopo rootwait aggiungete:

modules-load=dwc2,g_ether

Ora potete collegarlo al vostro computer (o un altro Raspberry volendo) e gli potete condividere internet (oppure diciamo… riceverlo) con un solo cavo. Invece di usare la porta di alimentazione, solo da quella accanto, come vedete in foto:

Pi Zero usato come accessorio tramite la porta OTG

Fonte di tutto questo:

https://gist.github.com/gbaman/50b6cca61dd1c3f88f41
https://gist.github.com/gbaman/975e2db164b3ca2b51ae11e45e8fd40a

Come connettersi SSH al Raspberry Pi

Anche questa semplice guida come quella per aggiornarlo potrà sembrar banale per molti, però probabilmente per altrettanti non è così tutto ovvio e nessuno nasce imparato.

Presupponendo che il vostro computer sia connesso alla stessa rete locale (Wi-Fi o ethernet che sia) e che il Raspberry abbia l’SSH server attivo, nel caso attivatelo in questo modo.
E presupponendo anche che non abbiate cambiato hostname (raspberrypi.local) ne username (pi in questo caso) lasciando quelli di default di Raspbian.

Ora dipende tutto dal sistema operativo dal quale vi volete connettere.

Se siete da macOS o da Linux, vi basterà aprire il terminale e digitare:

ssh pi@raspberrypi.local

Inserire la password (che di default sarà raspberry) e voilà, collegati! Ora potrete comandare a distanza il vostro Raspberry senza dover avere una tastiera collegata o un monitor.

Se invece siete da Windows dovrete installare un software per poterlo fare, ad esempio Putty. Seguite i passaggi e nei parametri mettete come sopra, raspberrypi.local come hostname e pi come user.

Mentre se non avete un computer ma uno smartphone, per iOS c’è Terminus mentre per Android JuiceSSH.

Come aggiornare il Raspberry Pi

Molto probabilmente questo articolo sarà banale per tanti, però non fa mai male chiarire alcuni concetti base.

Per fare gli aggiornamenti al vostro Raspberry Pi ci sono diverse alternative. O volete installare i semplici aggiornamenti alle nuove versioni o volete andare più pesanti e aggiornare direttamente la distribuzione, con la possibilità che non vi funzioni più niente (purtroppo, anzi per fortuna spesso capita, ma imparerete a farvene una ragione).

Andiamo diretti alla pratica, aggiorniamo:

sudo apt update
sudo apt upgrade

Confermate con una Y + invio (o nel caso lo abbiate in italiano con la S).

Fatto! Sì, già fatto! È davvero così semplice (ringraziate tutti i programmatori Linux, Debian, Raspberry ecc).

Ora, potrebbe essere che abbiate da fare aggiornamenti più importanti ma come detto sopra… fate attenzione perché potrebbe non funzionare più nulla.

sudo apt dist-upgrade

Controllate che sia tutto ok e fate un backup prima di confermare e… via!


Ultima cosa: se avete installato Raspbian dovreste avere un software di gestione installato (anche questo va aggiornato) che dovrebbe aggiornarsi con la procedura update+upgrade. Nel caso così non fosse, fate anche:

sudo raspi-config

Andate nel punto 8 (dovrebbe essere ancora quello) e fate Update!

Come abilitare SSH su Raspberry Pi senza tastiera o mouse

Se state configurando il vostro Raspberry Pi nuovo di zecca e non avete voglia di collegarlo a un display con rispettivo mouse e tastiera, ho una soluzione facile e veloce per voi.

Semplicemente inserite la microSD nel vostro computer, andate nella partizione boot  e create un file chiamato ssh. Senza estensione o contenuto, solo e unicamente ssh.

Ora scollegate la memory, rimettetela nel Rasperry Pi e voilà. Eccovi con l’SSH attivo!

Come aumentare lo swap su Raspberry Pi

Come al solito vado dritto al dunque e vi mostro semplicemente come aumentare lo spazio swap dedicato. Modificate questo file:

sudo nano /etc/dphys-swapfile

E cambiate la riga CONF_SWAPFILE=100 in CONF_SWAPFILE=512 (se volete 512 MB, dipende dalla RAM del vostro Raspberry).

Ora semplicemente riavviate con sudo reboot now.

Normalmente dovreste avere 100 mega come nell’immagine qua sotto (potrete controllarlo semplicemente eseguendo swapon:

Swapon

Come installare Domoticz

Dopo aver visto come compilare Domoticz, vediamo ora come installare semplicemente questo magnifico programma sul vostro Raspberry Pi o su qualunque altro computer/macchina virtuale/server.

Loggatevi tramite SSH e molto semplicemente eseguite:

sudo curl -L install.domoticz.com | bash

Finito! Sì proprio così, è davvero così semplice avere un server per gestire sensori, lampadine e qualunque altro oggetto IoT.

Ovviamente ci vorrà qualche minuto perché vi scarichi tutto lo script e prosegua con l’installazione, ma vi basterà dare qualche conferma per ritrovarvi tutto installato!

Una volta finito andate da browser all’indirizzo IP del vostro server (se usate un Raspberry e non avete cambiato hostname vi basterà andare su http://raspberrypi.local).

Come rimuovere automaticamente i torrent completati da Transmission

Se utilizzate Transmission sul vostro Raspberry Pi (o su qualunque altro tipo di computer/server) e volete automaticamente rimuovere dalla lista i torrent che hanno finito, dovete seguire questi semplici passaggi.

Prima di tutto stoppate il servizio di transmission con:

sudo service transmission stop

Poi cambiate due righe qua:

sudo nano /var/lib/transmission-daemon/info/settings.json

Con:

"script-torrent-done-enabled": true,
"script-torrent-done-filename": "/home/pi/transmissionpurge.sh",

Ora chiudete e salvate con CTRL+X ed eseguite:

sudo nano transmissionpurge.sh

E incollate:

#!/bin/sh

SERVER="9091 --auth transmission:transmission"

TORRENTLIST=`transmission-remote $SERVER --list | sed -e '1d;$d;s/^ *//' | cut --only-delimited --delimiter=" " --fields=1`

transmission-remote $SERVER --list

for TORRENTID in $TORRENTLIST

do

echo Processing : $TORRENTID

DL_COMPLETED=`transmission-remote $SERVER --torrent $TORRENTID --info | grep "Percent Done: 100%"`
STATE_STOPPED=`transmission-remote $SERVER --torrent $TORRENTID --info | grep "State: Seeding\|Stopped\|Finished\|Idle"`

if [ "$DL_COMPLETED" ] && [ "$STATE_STOPPED" ]; then

transmission-remote $SERVER --torrent $TORRENTID --remove

else

echo "Torrent #$TORRENTID is not completed. Ignoring."

fi

done

Ora dategli i permessi di esecuzione con:

sudo chmod 777 /home/pi/transmissionpurge.sh

E il gioco è fatto! ora ogni volta che ultimerete un torrent, esso verrà subito cancellato dalla lista.

Ah quasi dimenticavo, riavviate transmission con:

sudo service transmission start

Come installare Headphones su Raspberry Pi

Penso che non abbia bisogno di presentazioni Headphones, allora iniziamo:

sudo git clone https://github.com/rembo10/headphones.git /opt/headphones

Ora create l’utente (nel caso vogliate tenere le cose separate):

sudo touch /etc/default/headphones
sudo adduser --system --no-create-home headphones
sudo chown headphones:nogroup -R /opt/headphones

Per avviare il processo a ogni riavvio del vostro Raspberry Pi:

sudo ln -s /opt/headphones/init-scripts/init.ubuntu /etc/init.d/headphones
sudo update-rc.d headphones defaults
sudo update-rc.d headphones enable

Avviatelo e aspettate che crei il file di configurazione (ci metterà qualche secondo):

sudo service headphones start

Poi stoppatelo con sudo service headphones stop e modificate questo file di configurazione:

sudo nano /opt/headphones/config.ini

Cambiano il campo http_host da localhost a 0.0.0.0 (serve per averlo visibile in tutta la vostra rete locale). Ora quindi andate su http://raspberrypi.local:8181 e voilà.

Come gestire Homebridge con systemd

Se volete gestire Homebridge come servizio e far si che a ogni riavvio venga gestito direttamente dal sistema operativo, senza il supporto di screen come vi avevo fatto vedere qua, seguite questa semplice guida!

Prima di tutto trovate il percorso di Homebridge con:

which homebridge

Poi modificate sudo nano /etc/default/homebridge e incollate:

# Defaults / Configuration options for homebridge
# The following settings tells homebridge where to find the config.json file and where to persist the data (i.e. pairing and others)
HOMEBRIDGE_OPTS=-U /var/homebridge

# If you uncomment the following line, homebridge will log more 
# You can display this via systemd's journalctl: journalctl -f -u homebridge
# DEBUG=*

Poi sudo nano /etc/systemd/system/homebridge.service e incollate (cambiando ad ExecStart il percorso che avete trovato precedentemente con il which:

[Unit]
Description=Node.js HomeKit Server 
After=syslog.target network-online.target

[Service]
Type=simple
User=homebridge
EnvironmentFile=/etc/default/homebridge
ExecStart=/usr/bin/homebridge $HOMEBRIDGE_OPTS
Restart=on-failure
RestartSec=10
KillMode=process

[Install]
WantedBy=multi-user.target

Ora create un utente: sudo useradd --system homebridge, create le cartelle con i permessi giusti e abilitate il servizio:

sudo mkdir /var/homebridge
sudo cp ~/.homebridge/config.json /var/homebridge/
sudo cp -r ~/.homebridge/persist /var/homebridge
sudo chmod -R 0777 /var/homebridge
sudo systemctl daemon-reload
sudo systemctl enable homebridge
sudo service homebridge start

E controllate se funziona con: sudo service homebridge status.

Fonte: https://timleland.com/setup-homebridge-to-start-on-bootup/

Come installare LazyLibrarian su Raspberry Pi

Se volete installare LazyLibrarian su Raspberry Pi non vi basta che eseguire questi due semplici comandi:

sudo git clone https://github.com/DobyTang/LazyLibrarian /opt/lazylibrarian
python /opt/lazylibrarian/LazyLibrarian.py -d

Nel caso vogliate farlo andare in background avviate il daemon togliendo la -d, quindi eseguite: python /opt/lazylibrarian/LazyLibrarian.py -daemon

Se volete che si avvii a ogni riavvio e che parta come servizio, quindi gestibile semplicemente con un sudo service lazylibrarian start fate ancora questi due passaggi:

sudo cp /opt/lazylibrarian/init/lazylibrarian.default /etc/default/lazylibrarian
sudo cp /opt/lazylibrarian/init/lazylibrarian.service /etc/systemd/system/lazylibrarian.service
sudo cp /opt/lazylibrarian/init/lazylibrarian.initd /etc/init.d/lazylibrarian

Ora aprite questo file:

sudo nano /etc/default/lazylibrarian

E aggiungete all’inizio del file USER=pi, salvate e aggiornate:

sudo update-rc.d lazylibrarian defaults
sudo systemctl daemon-reload
sudo systemctl enable lazylibrarian

Ora andate su http://raspberrypi.local:5299 e voilà, già fatto!

Come creare una Time Capsule con Raspberry Pi

Se non volete spendere più di 300 euro per una Time Capsule della Apple e volete realizzare la vostra Time Machine personale, seguite questi semplici passaggi (vi consiglio di partire da una versione di Raspbian nuova e pulita):

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install netatalk libc6-dev avahi-daemon libnss-mdns

Ora aprite questo file:

sudo nano /etc/netatalk/AppleVolumes.default

E al fondo cambiate questa riga (potete anche cambiare percorso nel caso abbiate un hard disk attaccato o una pendrive) con:

/home/pi "Time Capsule" options:tm allow:pi

Ora modificate questo file:

sudo nano /etc/avahi/services/afpd.service

Cancellate tutto e incollate:

<?xml version="1.0" standalone='no'?>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
<name replace-wildcards="yes">Time Capsule</name>
<service>
<type>_afpovertcp._tcp</type>
<port>548</port>
</service>
<service>
<type>_device-info._tcp</type>
<port>0</port>
<txt-record>model=TimeCapsule8,119</txt-record>
</service>
</service-group>

Riavviate i servizi e via:

sudo service avahi-daemon restart
sudo service netatalk restart

E… voilà. Davvero! Già finito. Aprite il Finder su macOS e lo vedrete già a lato (Avahi avrà mandato in broadcast dei pacchetti di benvenuto). Ora potete andare sulle impostazioni e configurare il vostro backup!

Come fare uno speedtest alla microSD del Raspberry Pi

Per testare la velocità di scrittura eseguite:

sync; dd if=/dev/zero of=~/test.tmp bs=500K count=1024

Per la lettura:

sync; echo 3 | sudo tee /proc/sys/vm/drop_caches
sync; time dd if=~/test.tmp of=/dev/null bs=500K count=1024

Poi ovviamente cancellate il file temporaneo che ha usato per farlo. Quanto raggiungete voi? 22 MB/s dovrebbe essere una buona media visto il bus condiviso.

Come dare più corrente tramite USB dal Raspberry Pi

Se volete fornire 1.2A invece di 600mA (che è la corrente erogata dal circuito direttamente) modificate questo file:

sudo nano /boot/config.txt

Aggiungendo in fondo questo:

max_usb_current=1

E riavviate! È sicuro (nonostante possiate dubitarne) in termini di sicurezza elettrica vera e propria. Ovvio che lo è, se usate un trasformatore decente e non uno di quelli cinesi. Online ho trovato questo:

All that max_usb_current=1 does is to set GPIO38 high, which in turn turns on a FET, which connects a second 39K resistor in parallel to an existing one, on pin 5 of U13, the AP2553W6 USB power manager, lifting the current limit from 0.6A to double that (1.2A), see no possible scenario there why the PI resets because of that, except in case the gate of the FET Q4 is somehow shorted to GND. Which could be caused by a production fault. Inspect Q4, as look if there is solder shorting pins together. Also R6 (resistor mounted between gate of Q4 and GND) should be 100K not 0 Ohm. U13, Q4 and R6 should be near the USB ports.

Fonte: https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=100244

Come partizionare un hard disk o pendrive su Raspberry Pi

Prima di tutto dovete identificate il percorso del vostro drive:

sudo blkid

Di norma dovrebbe essere /dev/sda, /dev/sda1 oppure /dev/sdb o /dev/sdb1.

Io vi vi consiglio di formattarlo in EXT4 perché è più ben gestibile da Debian/Ubuntu. Se invece volete formattarlo in FAT32 o HFS+ scelta vostra, spesso può dar problemi (HFS+ se gli viene a mancare la corrente ha bisogno di essere riparato e fidatevi, non è una bella procedura).

Procediamo allora (cambiate il percorso, ovviamente e ogni volta che ve lo richiede rispondete con Yes e Ignore):

sudo parted /dev/sda mklabel gpt
sudo parted -a optimal /dev/sda mkpart Primary 0% 100%
sudo mkfs.ext4 /dev/sda1

Ed ecco fatto (una parola, dipende dalla grandezza del vostro hard disk o pendrive ma dovrebbe metterci un po’ di tempo quantificabile in minuti).

Come installare SickRage su Raspberry Pi

Penso non debba essere presentato SickRage, se siete qua è perché lo conoscete già.

Prima di tutto spostetevi nella cartella e clonate il progetto:

sudo git clone https://github.com/SiCKRAGE/SickRage.git /opt/sickrage
sudo chmod -R 777 /opt/sickrage

Modificate il service:

sudo nano /etc/systemd/system/sickrage.service

E incollate dentro:

[Unit]
Description=SickRage Daemon
After=network-online.target
Requires=network-online.target

[Service]
Type=forking
GuessMainPID=no
ExecStart=/usr/bin/python /opt/sickrage/SickBeard.py -q --daemon --nolaunch --datadir=/opt/sickrage
Restart=on-failure
RestartSec=5
StartLimitInterval=60s
StartLimitBurst=3

[Install]
WantedBy=multi-user.target

Attivate il servizio e avviatelo:

sudo systemctl enable sickrage.service

sudo cp /opt/sickrage/runscripts/init.debian /etc/init.d/sickrage
sudo chown root:root /etc/init.d/sickrage
sudo chmod 644 /etc/init.d/sickrage
sudo update-rc.d sickrage defaults

sudo service sickrage start

Nel caso non andasse al primo colpo (dovrebbe ragionarci un po’ su al primo avvio), avviatelo manualmente:

sudo /opt/sickrage/SickBeard.py -q --daemon --nolaunch --datadir=/opt/sickrage

Fonte https://github.com/SiCKRAGE/SickRage

Come installare Monit su Raspberry Pi

Monit è un servizio che vi permette (il nome lo lasciava intuire) di monitorare diversi servizi e applicativi che volete rimangano sempre attivi e che non smettano di funzionare da un momento all’altro.

Detto in parole semplici, ogni 2 minuti (potrete cambiarlo) controlla che tutto sia ok, nel caso non lo sia può riportare i servizi in running oppure eseguire qualche operazione tipo un avviso tramite email o qualcosa di simile.

Arriviamo al dunque:

sudo apt-get install monit

Successivamente modificate il file:

sudo nano /etc/monit/monitrc

Togliendo il commento a queste righe per far in modo che possiate controllarlo:

set httpd port 2812
use address localhost # only accept connection from localhost
allow localhost # allow localhost to connect to the server and
allow admin:monit

Poi riavviate monit con: monit reload

E controllate lo stato con monit status e voilà.

Nelle prossime guide vedremo come tener attivi SQL e Apache (nel caso abbiate dei web server che volete rimangano always on).