Action unknown: copypageplugin__copy

14/06/2026 18.45

** MANUALE DI INSTALLAZIONE SOLARLOGGER **

1. Procedura per la configurazione del RaspberryPi® Trixie

raspberry.jpg

1.1. Preparare la SD card

  • Vai sul sito del raspberry “https://www.raspberrypi.com/software/”
  • Scarica e installa “Raspberry Pi Imager2 su un computer dotato di lettore di schede SD.
  • Inserisci la scheda microSD che utilizzerai con il tuo Raspberry Pi nel lettore e avvia Raspberry Pi Imager.

Se si pensa di utilizzare il sistema per solo monitoraggio consiglio di installare “Trixie Lite” che si trova alla voce di menu: Raspberry Pi OS (other) - Raspberry Pi OS Lite. Fate attenzione alla versione 32 o 64-bit in funzione della vostra macchina. Inquesto modo l'immagine da scaricare sarà molto più piccola e non verranno installati tutta una serie di programmi accessori che non verranno utilizzati

1.2. Setup iniziale del sistema operativo nel rpy

  • Inserire la scheda nello slot del RPI
  • Alimentare il RPI
  • Accedere via SSH, Per accedere si può utilizzare un secondo PC con PuTTY inserendo come hostname “raspberrypi” e porta 22.

si arriva al prompt dei comandi:

pi@raspberrypi~$

per far apparire la schermata di configurazione, digitare:

sudo raspi-config
  • Espandere la partizione a tutta la SD per utilizzare tutta la capacità della card (se intendete fare una SD con installazione pulita per poi fare un'immagine da copiare su altre SD meglio non fare questa operazione per rendere l'immagine compatibile con più tagli di SD, espandere comunque la partizione subito dopo aver salvato l'immagine per avere più spazio a disposizione)
  • Eseguire tutte le configurazioni necessarie, attenzione che la maggior parte sono già state fatte all'interno della preparazione della SD su Raspberri Pi Imager.
  • Riavviare il sistema​
sudo reboot

1.3. Aggiornamento del sistema

Aggiornare il firmware di sistema e la distribuzione è importante per avere il sistema con tutti i driver aggiornati e avere le ultime correzioni di eventuali bachi hardware e software che gli sviluppatori hanno introdotto da quando è stata salvata l'immagine che avete caricato nella vostra SD.

Questa procedura diventa indispensabile se si sta lavorando su un raspberry mod. B e si vuole poi poter usare la scheda o l'immagine su un Raspberry modello P2 o maggiore

1.3.1. Aggiornamento firmware

Per eseguire l'aggiornamento del firmware digitare in sequenza i seguenti comandi, attendere che ogni comando finisca l'elaborazione controllando che il sistema non risponda con degli errori

sudo -s
cd /..
apt-get install rpi-update
​rpi-update
shutdown -r now

1.3.2. Aggiornamento della distribuzione

Per eseguire l'aggiornamento della distribudione digitare in sequenza i seguenti comandi

sudo -s
apt-get update
apt-get upgrade
apt-get dist-upgrade
apt-get install raspberrypi-ui-mods

riavviare il sistema per rendere attive le modifiche

sudo shutdown -r now

1.4. Installare e configurare il web server LAMP

1.4.1. installare e configurare Apache

Digitare il seguente codice e controllare che tutte le operazioni vadano a buon fine senza errori

sudo -s
cd /..
apt-get install apache2 apache2-doc

Configurazione della directory utente per Apache Web Server, Abilitare “module”

a2enmod userdir
systemctl restart apache2

Creare la directory public_html come user (non come root):

exit
cd /..
mkdir -v /home/$USER/public_html

Cambiare il gruppo di appartenenza come root (sostituire con il vostro username, che se non è stato cambiato è “pi” (vedere sul terminale l'oputput del comado precedente)
es. www-data/home/pi/public_htlm) e riavviare il web server:

sudo -s
cd /..
chgrp -v www-data /home/<username>/public_html
chmod -v 755 /home/<username>
systemctl restart apache2

Configuriamo ora le directory del webserver

sudo -s
cd /etc/apache2/sites-enabled
cp -v 000-default.conf 000-default.bak
nano 000-default.conf

Il file deve essere come il seguente (correggere dove serve)

file=000-default

<VirtualHost *:80>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
ServerName 127.0.0.1

ServerAdmin webmaster@localhost
DocumentRoot /var/www

# Available loglevels: trace8, …, trace1, debug, info, notic$
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For exa$
# following line enables the CGI configuration for this host o$
# after it has been globally disabled with “a2disconf”.
#Include conf-available/serve-cgi-bin.conf
</VirtualHost>

ctrl+O per salvare e ctrl+X per uscire

riavviamo apache

systemctl restart apache2

1.4.2. Installare PHP

Per installare PHP digitare il seguente comando

cd /..
apt-get install php8.4 libapache2-mod-php8.4 php8.4-curl

Per controllare che PHP sia installato correttamente eseguire i seguenti comandi per aprire un editor e creare una nuova pagina php chiamata test.php:

nano /var/www/test.php

file: test.php

<?php phpinfo();?>

ctrl+O per salvare e ctrl+X per uscire

Per verificare se tutto si è installato correttamente puntare il proprio browser a http://IPserver/test.php (Ipserver è l'IP del Raspberry) e questo dovrebbe visualizzare tutte le configurazioni e settaggi di default di PHP.

Passiamo ora a configurare di php, per far cio si dovranno modificare alcuni parametri nel file php.ini

nano /etc/php/8.4/apache2/php.ini

Si apre il file in modifica, scorrere fino ai settori evidenziati e scommentate (cioè togliete il ; davanti alla riga) modificando come segue:

file: php.ini

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Module Settings
​;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
date.timezone = “Europe/Rome”
;
;
date.default_latitude= xx.xxxx #(la vostra latitudine)
date.default_longitude=yy.yyyy #(la vostra longitudine)
;

ctrl+O per salvare e ctrl+X per uscire

2026/06/15 00:43 · walter

1.5. Installare Aurora 1.9.4

Acquisire i diritti di amministratore

sudo -s

Portarsi sulla home

cd /home/pi

scaricare il programma Aurora 1.9.4 (verificare che sia l'ultima versione)

wget http://www.curtronics.com/Solar/ftp/aurora-1.9.4.tar.gz

Scompattiamo l'archivio

tar -xzvf aurora-1.9.4.tar.gz
rm -v aurora-1.9.4.tar.gz

Installiamo portandoci sulla dir aurora- 1.9.4

cd aurora-1.9.4
make
make install
cd /..

1.6. Installazione e configurazione di 123Solar

1.6.1. Installazione di 123Solar

Portarsi sulla directory www del web server

sudo -s
cd /var/www

Scaricare il programma 123solar 1.8.5 e il file per avviare il servizio (per entrambi verificare che sia l'ultima versione e modificare se necessario)

wget https://github.com/jeanmarc77/123solar/releases/download/1.8.5/123solar1.8.5.tar.gz

Scompattiamo l'archivio

tar -xzvf 123solar*.tar.gz

eliminiamo il file tar

rm -v 123solar*.tar.gz

installiamo il servizio per l'avvio automatico di 123solar

cd /etc/systemd/system
wget http://www.123solar.org/downloads/123solar/123solar.service
nano 123solar.service

file: 123solar.service

[Unit]
Description=123Solar
Requires=network.target
After=network.target apache2.service php-fpm.service

[Service]
Type=oneshot
ExecStart=/bin/sleep 10
ExecStart=/usr/bin/curl http://localhost/123solar/scripts/boot123s.php

[Install]
WantedBy=default.target

ctrl+O per salvare e ctrl+X per uscire

Abilitiamo il servizio

systemctl enable 123solar.service

abilitare la USB per l'user www-data

cd /..
​usermod -a -G uucp www-data

verificare che sia stato impostato correttamente digitando “groups www-data” che deve restituire come minimo “www-data:www-data uucp”

Impostare i permessi per Aurora, per prima cosa verificare il percorso del programma:

find / -name aurora

restituisce il percorso in cui si trova aurora che dovrebbe essere /usr/local/bin/aurora se non lo fosse adeguare di conseguenza il percorso sul comando seguente

chmod a+x /usr/local/bin/aurora

1.6.2. Configurazione di 123Solar

Aprite un browser su un pc della stessa rete e digitate

verrà chiesto il login a cui risponderete con admin e con una password che potete scegliere a piacimento e si aprirà il menù di configurazione di 123solar.

A questo punto per risolvere un problema di autenticazione al secondo accesso abbandoniamo la procedura di configurazione cliccando sul pulsante “Back” e chiudere il browser.

Torniamo sul raspberry e proseguiamo come segue:

Impostazione dei permessi di accesso

Configuriamo ora le directory di 123solae e MetrN sul webserver

sudo -s
cd /etc/apache2/sites-enabled
cp -v 000-default.conf 000-default.bak
nano 000-default.conf

Il file deve essere come il seguente (correggere dove serve)

file=000-default

<VirtualHost *:80>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
ServerName 127.0.0.1

ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory /var/www>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<Directory /var/www/123solar/admin>
AllowOverride None
AuthType basic
AuthName “123solar Password Protected Area”
AuthBasicProvider file
AuthUserFile /var/www/123solar/config/.htpasswd
require valid-user
</Directory>

# Available loglevels: trace8, …, trace1, debug, info, notic$
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For exa$
# following line enables the CGI configuration for this host o$
# after it has been globally disabled with “a2disconf”.
#Include conf-available/serve-cgi-bin.conf
</VirtualHost>

ctrl+O per salvare e ctrl+X per uscire

riavviamo apache

service apache2 restart

Riprendiamo la configurazione

Aprite un browser su un pc della stessa rete e digitate

si aprirà il menù di configurazione di 123solar.

Selezionare “Main configuration” compilati i campi salvare”Save main cfg.” e quindi cliccare su “Back” per tornare al menu.

Selezionare ora “Configure your inverter(s)”

PS.: fra le opzioni notate una voce = Y3 e l3 modificatela in Y5 e l5 se avete problemi di instabilita ̀ del monitoraggio, altrimenti lasciatela pure i valori standard.

Compilati i campi salvare cliccando ”Save inverter cfg.” e quindi cliccare su “Back”tornare al menu.

Se si vuole inviare i dati si Pvoutput selezionare ora “Pvoutput configuration”

compilati i campi salvare”Save inverter cfg.” e quindi cliccare su “Back”tornare al menu

concluse le impostazioni cliccare sul pulsante evidenziato che che passa da “OFF” ad “ON” avviando 123solar.

Chiudere il browser

1.7. Settaggio del sistema

A causa delle caratteristiche dell'hardware, per avviare e fermare automaticamente 123solar e ovviare ad una non perfetta compatibilità della modalità Hi-speed della porta USB con il mio convertitore RS485-USB è necessario modificare manualmente alcune parti del sistema. Le seguenti modifiche sono quelle che mi hanno dato maggior stabilità. I passaggi sono:

  • Settare la modalità di comunicazione per la porta USB
  • Settare la velocità della porta USB
  • Impostare l'avvio e lo stop per 123solar

1.7.1. Modifica della modalità di comunicazione della porta USB


nelle ultime versioni di Raspbian questa parte non è più necessaria, la lascio in caso di necessità
NB: Attenzione questa procedura è necessaria solo se ci sono problemi di blocco del Raspberry durante il monitoraggio con il convertitore USB-seriale
​

Digitare:

sudo -s
cd /boot
nano cmdline.txt

Si apre il file in modifica, modificare in modo che risulti esattamente come di seguito:

Codice:

file: cmdline.txt


dwc_otg.lpm_enable=0 dwc_otg.speed=1 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
​

ctrl+O per salvare e ctrl+X per uscire

Mi raccomando va scritto tutto in una sola riga senza andare a capo, non ci devono essere spazi a inizio e fine riga.

1.7.2. Impostare la velocità della porta USB

Nelle versione moderne del SO non sarebbe più necessario impostare la velocità della seriale in quanto il sistema è ora in grado di auto adattarsi al device collegato.

In alcuni casi con adattatori economici o poco gestiti potrebbe essere utile impostare manualmente questo parametro.

In passato ci si appoggiava a rc.local che però nella distro Trixie è deprecato e non attivo (lo si potrebbe attivare ma meglio usare metodi alternativi)

Per far questo ci appoggiamo crontab, veder ein seguito il capitolo dedicato.

1.8. Procedure di supporto

Le procedure descritte nel presente paragrafo non sono strettamente necessarie al funzionamento del sistema ma risultano utili in particolari situazioni

1.8.1 Impostazioni di "crontab"

crontab è lo strumento utilizzato per pianificare l'esecuzione automatica di script o comandi a intervalli specifici .

Ogni u tente gestisce le pro prie pianificazioni privatamente, mentre l'amministratore (root) può configurare anche i job di sistema tramite /etc/crontab

Dato che a noi interessa modificare o gestire job di sistema ci concentreremo sull'utente “root”, per modificare il crontab di root esecuire i seguenti comandi:

sudo -e
cd /..
crontab -u root -e

Si aprirà il file crontab in modifica con il contenuto già presente, noi dobbiamo aggiungere questi comandi:

file: crontab


# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h dom mon dow command

# imposta un riavvio forzato alle 2:00 di notte
00 02 * * * sudo shutdoun -r now

# imposta il backup dei dati su un server remoto alle 21:15 di ogni giorno
15 21 * * * /var/www/MyScripts/ftpbackup.sh

# al reboot o riavvio del raspberry imposta la velocità della seriale
@reboot stty -F /dev/ttyUSB0 19200

​

ctrl+O per salvare e ctrl+X per uscire

1.8.2. Installazione servizio di invio mail da 123solar

(Procedura scritta con il supporto di “Borghese” che ringrazio)

Iniziamo con installare i programmi necessari:

sudo -s
cd /..
apt-get update
apt-get upgrade
apt-get install msmtp msmtp-mta ca-certificates

editare il file di configurazione

cd /etc
​nano msmtprc

all'interno scrivere quanto segue, modificare la parte in blu:

file: msmtprc


# Impostazioni account

defaults
tls on
tls_starttls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt

account default
host smtp.gmail.com
port 587
auth on
user youraccount@gmail.com
password password
from youraccount@gmail.com
#logfile /var/log/msmtp.log
​

ctrl+O per salvare e ctrl+X per uscire

L'ultima riga serve a verificare eventuali errori di comunicazione, se l'invio di mail non funziona regolarmente togliete il “#” e inviate una mail sul file msmtp.log troverete i messaggi di sistema con gli eventuali errori.

Verificare e modificare i permessi e il proprietario di /etc/msmtprc devono essere esattamente settati a -rw——- 1 www-data root

sudo -s
cd /etc
ls -l msmtprc

Se serve modificarli, editarequanto segue:

chmod -v 0600 msmtprc
chown -v www-data:root msmtprc
ls -l msmtprc

verificare se ora è esattamente uguale a -rw——- 1 www-data root

Modificare ora i files php.ini

cd /etc/php5/apache2
​nano php.ini

Cercare la riga sendmail_path option in php.ini e modificarla come segue:

file: php.ini

sendmail_path = “/usr/bin/msmtp -C /etc/msmtprc -t”

ctrl+O per salvare e ctrl+X per uscire

se necessario togliere il “;” davanti alla riga e salvare

cd /etc/php5/cli
nano php.ini

Cercare la riga sendmail_path option in php.ini e modificarla come segue:

file: php.ini

sendmail_path = “/usr/bin/msmtp -C /etc/msmtprc -t”

ctrl+O per salvare e ctrl+X per uscire

se necessario togliere il “;” davanti alla riga e salvare

Attenzione si presume che il raspberry sia connesso al router via rete lan e non wi-fi

Riavviare il raspberry

shutdown -r now

impostare 123solar admin e testare la mail

**FAQ **

Come testare la mail da riga di comando:

Se volete testare la mail da riga di comando digitare quanto segue:

cd /..
echo -e "Subject: Test Mail\r\n\r\nThis is a test mail" | msmtp --from=default -t username@gmail.com

(il secondo comando deve essere scritto tutto su una riga)

Dove verificare eventuali errori di trasmissione delle mail:

I file di log si trovano in “/var/log/” vedere il contenuto dei seguenti file:

mail.err – mail.info – mail.log – mail.warn – msmtp.log

La mail continua a non arrivare:

Gmail considera alcuni indirizzi come spam, verificate la cartella spam e se il messaggio è li apritelo e mettete l'indirizzo mail tra i vostri contatti, questo istruirà Gmail che non si tratta di spam.

1.8.3 Impostare un IP fisso sul raspberry

Per chi non avesse la possibilità di far fare al router questo servizio o per altre necessità, per impostare un IP fisso si deve modificare il file “interfaces”

sudo -s
cd /etc/network
nano interfaces

editare il file modificando e/o aggiungendo le righe nel seguente modo:

file: interfaces

iface eth0 inet static
address 192.168.xx.xx #(mettere i dati della propria rete)
netmask 255.255.255.0 #(mettere i dati della propria rete)
gateway 192.168.xx.xx #(mettere i dati della propria rete)

ctrl+O per salvare e ctrl+X per uscire

1.8.4. Clonazione della SD card

Una cosa molto utile, una volta che il sistema è stabile, è fare una copia della SD per poi poterla ricaricare in caso di malfunzionamento o danneggiamento di quella in uso.

Si utilizza sempre Win32diskimager (ver. 0.4) che si è utilizzato per caricare l'immagine iniziale procedendo come segue:

  1. Utilizzare solamente un'altra SD “uguale” o piu' capiente di quella da clonare.
  2. Inserire la scheda SD da clonare nel lettore di schede e avviare il programma
  3. Nella finestra principale nella prima riga “Image File” scegliere l'icona con la cartella per selezionare il percorso dove salvare l'immagine (non la lettera sotto a “Device” ma quella subito prima)
  4. Si apre una nuova finestra, quì si seleziona la posizione dove salvare il file e in basso sul label “Nome file” si inserisce nome file che identifichi il backup (esempio bak_RPi_15-15-12)
  5. Cliccare su “Salva” e si ritorna sulla finestra principale
  6. Spuntare il check box “MD5 Hash” serve per la verifica che il file sia letto e/o scritto correttamente
  7. Premere il tasto con la scritta “Read”, verrà creata l'immagine della SD da clonare con il nome .img che si e' scelto. Al termine della copia un messaggio avvertirà della avvenuta creazione.
  8. Inserire la SD vuota nel lettore e premere solamente il tasto “Write”. La barra di progressione darà la percentuale del lavoro di scrittura e al termine, un altro messaggio ci avvertirà dell'avvenuta scrittura. (NB: questo punto può essere fatto in un qualsiasi momento)

Per le versioni Ver. 0.7 e Ver. 0.8 la procedura è leggermente diversa (a mio parere è un baco)

  1. Utilizzare solamente un'altra SD “uguale” o piu' capiente di quella da clonare.
  2. Inserire la scheda SD da clonare nel lettore di schede e avviare il programma
  3. Nella finestra principale nella prima riga “Image File” digitare il nomefile con percorso completo ed estensione (tipo: C:\archivio\2013-07-12-wheezy-raspbian.img)

Continuare dal precedente punto 6.

1.8.4.1. Clonazione di sd con dimensioni diverse

Maggiori informazioni al seguente LINK

1.8.5. Estrazione dei vecchi dati dal'inverter

E' possibile interrogare l'inverter tramite una serie di comandi che potete trovare andando sul sito curtronix.com alla pagina help in linea o interrogando la guida di Aurora con il seguente comando:

aurora -h

in particolare il comando che ci interessa è “-k” che consente di estrarre i dati di produzione giornaliera memorizzati nell'inverter.

Per estrarli :

andare sul pannello admin di 123solar e fermate il monitoraggio ( icona in “Off” ), da un terminale aperto sul raspberry digitare:

sudo -s
cd /var/www/123solar/data/invt1/production
aurora -a 2 -k 364 -Y 3 /dev/ttyUSB0> energyOld.txt

(se avete problemi di comunicazione aumentare il valore di Y da 3 a 5 o 10)

Tornate sul pannello admin di 123solar e riavviare il monitoraggio ( icona in “On” )

in particolare avremo l'estrazione dei dati degli ultimi 364 giorni (attenzione in alcuni inverter bisogna ridurre il n° di giorni da estrarre per esempio a 100 o 200 per problemi di firmware) salvati sul file energyOld.txt sulla directory /var/www/123solar/data/invt1/production. Su questa directory si trova anche il file energy2014.csv dove questi dati devono essere trasferiti.

Eseguire l'operazione da qui non è facile quindi vi consiglio di trasferire i due file energy2014.csv e energyOld.txt sul vostro PC tramite programma tipo Filezilla, aggiornare il file energy2014.csv e poi trasferirlo nuovamente in /var/www/123solar/data/invt1/production.

Attenzione che i dati estratti dall'inverter non hanno il formato corretto per 123solar e vanno così interpretati:

energyOld.txt ===> energy2012.csv

20121008 1.118 kWh ===>20121008,11.18
20121007 0.992 kWh ===>20121007,9.92

1.8.6. Esecuzione di un backup giornaliero su uno spazio web ftp

Nelle guide precedenti veniva eseguito un backup giornaliero e memorizzato in sequenza sul server ftp, questo sistema spreca spazio sul server, è sufficente tenere il backup di qualche giorno. Ho pensato quindi fare un procedura che salvi x giorni e poi scarta il più vecchio con il principio “FIFO”

Installate, per prima cosa, il pacchetto lftp.

sudo -s
cd /..
apt-get install lftp

Create una directory dove posizionare gli script personali e creare uno script nome “ftpbackup”

sudo -s
cd /var/www
mkdir MyScripts
chmod -v 777 MyScripts
cd MyScripts
nano ftpbackup.sh

editare il seguente file:

ftpbackup.sh

#! /bin/sh
### BEGIN INIT INFO
# Short-Description: backup giornaliero
# Description: Questo file è usato per eseguire una copia giornaliera
# dei dati del datalogger 123solar di x giorni con metodo fifo
#
# posizionare il file in /var/www/MyScripts
#
# Author: Walter Borin
# ## END INIT INFO
# Do NOT "set -e"

TODAY=$(date +"%d-%b-%Y")   # Today's date like DD-MMM-YYYY
RMDATE=$(date +"%d-%b-%Y" -d '6 days ago') # TODAY minus X days ago - too old files
FTPUSER=<UserId>   # User (inserire il vostro UserId)
FTPPW=<Password>                          # Password (inserire la password per l'ftp)
FTPSERVER= <IPserver>                     # IP server ftp (indirizzo IP del server)
LFTP=/usr/bin/lftp                         # Path to binary
DATADIR=/var/www/123solar/data             # Your data archives are here
TMPDIR=/var/www/MyScripts                  # Your temp backup file are here
FTPDIR=/<backupdir>                       # Your backup dir in ftp dir

tar -cpzf backupsolar_$TODAY.tar.gz $DATADIR

$LFTP <<EOF
open $FTPUSER:$FTPPW@$FTPSERVER
set ftp:ssl-allow no #Used for Altervista
put -O $FTPDIR backupsolar_$TODAY.tar.gz
wait
cd $FTPDIR
rm -rf backupsolar_$RMDATE.tar.gz
wait
close
exit
EOF

cd $TMPDIR
rm -rf backupsolar_$TODAY.tar.gz
#echo "Backup del: $TODAY salvato in FTP"
#

​modificare la parte <UserId>, <Password> e <IPserver> con user, password e indirizzo IP del vostro sito ftp

ATTENZIONE: sul sito ftp dovete creare la directory <backupdir> sulla radice principale a vostro piacimento (es. “backupsolar”)

abilitare l'esecuzione dello script come programma

sudo -s
cd /var/www/MyScripts
chmod -v 755 ftpbackup.sh

a questo punto creiamo un crontab personalizzato per root e inseriamo l'esecuzione automatica all'ora desiderata

sudo -s
cd /..
crontab -u root -e

e modificare come segue:

file: root

SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
# # For more information see the manual pages of crontab(5) and cron(8)
#
# m h dom mon dow command

15 21 * * * /var/www/MyScripts/ftpbackup.sh

ctrl+O per salvare e ctrl+X per uscire

2. Connessioni interfaccia USB all'inverter

di seguito esempio di collegamento del convertitore RS485-USB al un inverter PVI-3.0

ATTENZIONE: la connessione della seriale all'inverter va fatta assolutamente ad inverter spento e sezionato sia lato alternata che lato continua (lato rete elettrica e lato pannelli solari).

cavo da utilizzare, questo è da specifiche ABB (PowerOne)

3. Note

Chiarisco alcuni punti per chi è conosce altre piattaforme ( Pc, PogoPlug).

Io ho fatto le prime prove su un PC con Ubuntu, funziona benissimo non ci sono difficoltà ad installare il sistema ma deve rimanere sempre acceso e consuma molto, da qui nasce il passaggio al Raspberry (visto il prezzo lo avevo acquistato solo per capire di che si trattava).

Sul Raspberry ho testato sia la distro “Archlinux” che “Raspbian -wheezy-” alla fine ho optato per Raspbian in quanto più semplice da gestire.

Il nuovo systemd a introdotto qualche problema che con un po di impegno sono riuscito a gestire:

# Cherokee non è più perfettamente compatibile, su Raspbian adirittura non si trova più nel repository, su Archlinux è presente ma in entrambi i casi (su Raspbian compilandolo manualmente) dà un sacco di problemi con le directory di installazione, le dipendenze e l'avvio del servizio, dopo parecchi tentativi infruttuosi e visto che comunque si appoggiava a parte di Apache ho deciso di utilizzare questo web server che grazie all'integrazione in Raspbian è risultato anche semplice da configurare.

# Orologio del Raspberry come tutte le periferiche di questo tipo non è presente un orologio di sistema quindi ad ogni avvio è necessario impostare l'ora, Raspbian, ma anche Archlinux per Raspberry, se connessi ad una rete con accesso ad internet si preoccupano di aggiornare automaticamete l'orologio di sistema con data e ora corretta senza nessun intervento.

Se non si è connessi, una volta impostata manualmente l'ora, Raspbian ha una funzione automatica (vedi primo comando di crontab) che si occupa di memorizzare ad ogni ora in un file ora e data corrente e la riutilizza dopo un'interruzione di corrente se non trova la rete, non è il massimo ma in questo modo l'orologio può sbagliare massimo di un'ora e non torna a 1970.

# indirizzo IP di rete io sono convinto che il sistema deve rimanere il più pulito possibile quindi se si può demandare ad altro la gestione dell'indirizzo IP è meglio farlo. Ho demandato questo compito al router imponendo che il raspberry abbia sempre lo stesso IP e durata “lease” infinita pur mantenendo il DHCP automatico.

# Accessibilità del web server da internet anche in questo caso meglio appoggiarsi a servizi esterni, io ho creato un DNS pubblico utilizzando NoIP che rende disponibile un dominio gratuito del tipo “tuonome.ddns.net” una volta registrato il dominio e abilitato sul router il servizio “DNS dinamico” e aperta la porta 80 o HTTP a seconda del modello di router, non serve far altro.

Prima di scegliere il servizio DNS verificare che sia compatibile con il router in vostro possesso o appoggiatevi ad un servizio supportato, in alternativa si può installare sul raspberry un programma che periodicamente controlla l?IP pubblico e lo trasmette al server DNS

Per questi due ultimi punti ho letto che molti si lamentano della vodafon station, vi assicuro che il tutto funziona sia sulla vodafone station 1 (quella che avevo prima) che sul router Fasweb Technicolor TG582n (che ho adesso), la Fastweb ora rende disponibile dirittura in IP pubblico fisso, quindi non servirebbe nemmeno DNS pubblico, basterebbe digitare l'indirizzo IP, ma è più facile ricordare il DNS.

# Connessione del Raspberry alla rete inizialmente avevo pensato di mettere il Raspberry e la seriale vicino al router, ma dopo aver constatato l'impossibilità di far passare uno spillo sui tubi dell'impianto elettrico ho desistito, ho lasciato tutto vicino all'inverter e ho fatto una connessione ethernet con una coppia di powerline via rete elettrica, facili da installare funzionano molto bene.

4. Licenza d'uso

Copyright © 2012 - 2016 by Walter62. All rights reserved

Quest'opera è distribuita con licenza:

Creative Commons Attribuzione - Non commerciale - Condividi allo stesso modo 3.0 Italia.

Per leggere una copia della licenza visita il sito web:

o spedisci una lettera a:


Creative Commons
171 Second Street, Suite 300
San Francisco, California, 94105, USA.

raspberry_trixie_come_datalogger.txt · Ultima modifica: 2026/06/21 00:46
CC Attribution-Share Alike 4.0 International Ad eccezione da dove è diversamente indicato, il contenuto di questo wiki è soggetto alla seguente licenza: CC Attribution-Share Alike 4.0 International