Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisioneRevisione precedente
Prossima revisione
Revisione precedente
raspberry_trixie_come_datalogger [2026/06/21 00:14] – [1.8. Installazione di SMAspot] walterraspberry_trixie_come_datalogger [2026/06/21 00:46] (versione attuale) – [1.8.1 Impostazioni di "crontab"] walter
Linea 45: Linea 45:
  
 </code> </code>
- 
  
 ===== 1.6. Installazione e configurazione di 123Solar ===== ===== 1.6. Installazione e configurazione di 123Solar =====
Linea 136: Linea 135:
  
 </code> </code>
- 
  
 ==== 1.6.2. Configurazione di 123Solar ==== ==== 1.6.2. Configurazione di 123Solar ====
Linea 149: Linea 147:
  
 Torniamo sul raspberry e proseguiamo come segue: Torniamo sul raspberry e proseguiamo come segue:
- 
  
 ==== Impostazione dei permessi di accesso ==== ==== Impostazione dei permessi di accesso ====
  
 Configuriamo ora le directory di 123solae e MetrN sul webserver Configuriamo ora le directory di 123solae e MetrN sul webserver
- 
 <code> <code>
 +
 sudo -s sudo -s
 cd /etc/apache2/sites-enabled cd /etc/apache2/sites-enabled
Linea 218: Linea 215:
  
 </code> </code>
- 
  
 ==== Riprendiamo la configurazione ==== ==== Riprendiamo la configurazione ====
Linea 285: Linea 281:
 Per far questo ci appoggiamo crontab, veder ein seguito il capitolo dedicato. 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.9. 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" ====
  
-==== 1.9.1. Installazione servizio di invio mail da 123solar ====+crontab è 
 + <font inherit/inherit;;inherit;;#ffffff>lo strumento utilizzato per pianificare l'esecuzione automatica di script o comandi a intervalli specifici</font>  . 
 + 
 +Ogni u 
 + <font inherit/inherit;;inherit;;#ffffff>tente gestisce le pro</font>  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: 
 + 
 +<code> 
 +sudo -e 
 +cd /.. 
 +crontab -u root -e 
 + 
 +</code> 
 + 
 +Si aprirà il file crontab in modifica con il contenuto già presente, noi dobbiamo aggiungere questi comandi: 
 + 
 +<box 100% round #ffff99 #d2d2d2 #d2d2d2 #ffff99 | 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 
 + 
 +​</box | 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) (Procedura scritta con il supporto di “Borghese” che ringrazio)
  
 Iniziamo con installare i programmi necessari: Iniziamo con installare i programmi necessari:
-<code> 
  
 +<code>
 sudo -s sudo -s
 cd /.. cd /..
Linea 318: Linea 368:
 <box 100% round #ffff99 #d2d2d2 #d2d2d2 #ffff99 | file: msmtprc> <box 100% round #ffff99 #d2d2d2 #d2d2d2 #ffff99 | file: msmtprc>
  
- \\ # Impostazioni account+\\ 
 +# Impostazioni account
  
-defaults \\ tls on \\ tls_starttls on \\ tls_trust_file /etc/ssl/certs/ca-certificates.crt+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 +account default\\ 
- <font inherit/inherit;;#0000FF;;inherit>youraccount@gmail.com</font>  \\+host smtp.gmail.com\\ 
 +port 587\\ 
 +auth on\\ 
 +user 
 + <font inherit/inherit;;#0000FF;;inherit>youraccount@gmail.com</font> \\
 password password
- <font inherit/inherit;;#0000FF;;inherit>password</font>  \\+ <font inherit/inherit;;#0000FF;;inherit>password</font> \\
 from from
- <font inherit/inherit;;#0000FF;;inherit>youraccount@gmail.com</font>  \\ + <font inherit/inherit;;#0000FF;;inherit>youraccount@gmail.com</font> \\ 
-#logfile /var/log/msmtp.log \\+#logfile /var/log/msmtp.log\\
 ​</box | ctrl+O per salvare e ctrl+X per uscire> ​</box | ctrl+O per salvare e ctrl+X per uscire>
  
Linea 422: Linea 480:
 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. 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.9.2. Installazione EZL70 su Raspberry ==== 
  
-<WRAP tip>Procedura scritta con il supporto di “Miki8989” che ringrazio</WRAP> +==== 1.8.3 Impostare un IP fisso sul raspberry ====
- +
-Per chi avesse la necessità di utilizzare la EZL70 o simili per leggere i dati dall'inverter al posto del convertitore RS485-USB descrivo di seguito la procedura di installazione: +
- +
-per prima cosa bisogna settare i parametri di configurazione della EZL, a questo scopo vi viene in aiuto la guida di **MizioB**  “EZL70”. +
-  * Connettere la EZL alla rete di casa +
-  * Aprite la pagina di configurazione del router e impostate, come fisso, l'IP su cui si è aggangiata la EZL +
-  * Sempre per l'IP assegnato alla EZL aprite la porta 1470 (la procedura per questa operazione dipende dal vs. router) troverete degli esempi da pag. 9 a pag.10 della guida “EZL70” +
-  * A questo punto dovete settare i parametri comiunicazione sulla EZL70, seguite la guida “EZL70” a pag. 6 e 7 +
-  * Terminata la configurazione passiamo a settare il Raspberry. +
- +
-installare socat +
-<code> +
- +
-sudo -s +
-cd /.. +
-apt-get install socat +
- +
-</code> +
- +
-preparare lo script di comunicazione +
- +
-<code> +
-cd /var/www +
-mkdir MyScripts (se avete già questa directory saltate la riga) +
-cd MyScripts +
-nano EZL.sh +
- +
-</code> +
- +
-si apre l'editor di testo, sul nuovo file inserire il seguente codice +
- +
-<box 100% round #ffff99 #d2d2d2 #d2d2d2 #ffff99 | file: EZL.sh> +
- +
-#!/bin/bash \\ +
-# avvio servizio socat su convertitori EZL, CSW, ecc \\ +
-while true; do socat pty,link=/dev/ttyEZL0,raw,echo=0,waitslave tcp:192.168.x.x:1470; done & \\ +
-exit +
- +
-</box | ctrl+O per salvare e ctrl+X per uscire> +
- +
-sotituire 192.168.x.x con l'IP della EZL70 +
- +
-diamo ora i permessi necessari al file EZL.sh +
-<code> +
- +
-chmod +x EZL.sh +
- +
-</code> +
- +
-modifichiamo il file rc.local per avviare in automatico la comunicazione con la EZL70 +
- +
-<code> +
-sudo -s +
-cd /etc +
-nano rc.local +
- +
-</code> +
- +
-si apre il file rc-local e deve essere modificato in modo che sia come il seguente +
- +
-<box 100% round #ffff99 #d2d2d2 #d2d2d2 #ffff99 | file: rc.local> +
- +
-#!/bin/sh -e \\ +
-# \\ +
-# rc.local \\ +
-# \\ +
-# This script is executed at the end of each multiuser runlevel. \\ +
-# Make sure that the script will "exit 0" on success or any other \\ +
-# value on error. \\ +
-# \\ +
-# In order to enable or disable this script just change the execution \\ +
-# bits. \\ +
-# \\ +
-# By default this script does nothing. +
- +
- \\ +
-# Print the IP address \\ +
-_IP=$(hostname -I) || true \\ +
-if [ "$_IP" ]; then \\ +
-printf "My IP address is %s\n" "$_IP" \\ +
-fi \\ +
-sudo /var/www/MyScripts/EZL.sh <wrap indent><wrap indent><wrap indent><wrap indent><wrap indent><wrap indent># avvia il device EZL</wrap></wrap></wrap></wrap></wrap></wrap> \\  \\ +
-exit 0 \\ +
-</box | ctrl+O per salvare e ctrl+X per uscire> +
- +
-riavviare il sistema +
-<code> +
- +
-shutdown -r now +
- +
-</code> +
- +
-al riavvio del sistema verifichiamo che il servizio funzioni +
- +
-<code> +
-sudo -s +
-cd /dev +
-ls +
- +
-</code> +
- +
-se tutto funziona dovrebbe apparire un device ttyEZL0 +
- +
-impostare la porta di comunicazione su 123solar +
- +
-Aprite un browser su un pc della stessa rete e digitate +
- +
-<WRAP centeralign><nowiki>http://192.168.x.xx/123solar/admin/</nowiki></WRAP> +
- +
-verrà chiesto il login a cui risponderete con admin e password (la stessa scelta in precedenza) e si aprirà il menù di configurazione di 123solar, selezionare “Configure your inverter(s)” . +
- +
-Sulla sezione protocol, come porta di comunicazione modificare da "/dev/ttyUSB0" a "/dev/ttyEZL0" +
- +
-==== 1.9.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” 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”
Linea 553: Linea 496:
 <box 100% round #ffff99 #d2d2d2 #d2d2d2 #ffff99 | file: interfaces> <box 100% round #ffff99 #d2d2d2 #d2d2d2 #ffff99 | file: interfaces>
  
-iface eth0 inet static \\ +iface eth0 inet static\\ 
-address 192.168.xx.xx <wrap indent>#(mettere i dati della propria rete)</wrap> \\ +address 192.168.xx.xx <wrap indent>#(mettere i dati della propria rete)</wrap>\\ 
-netmask 255.255.255.0 <wrap indent>#(mettere i dati della propria rete)</wrap> \\+netmask 255.255.255.0 <wrap indent>#(mettere i dati della propria rete)</wrap>\\
 gateway 192.168.xx.xx <wrap indent>#(mettere i dati della propria rete)</wrap> gateway 192.168.xx.xx <wrap indent>#(mettere i dati della propria rete)</wrap>
  
 </box | ctrl+O per salvare e ctrl+X per uscire> </box | ctrl+O per salvare e ctrl+X per uscire>
  
-==== 1.9.4. Clonazione della SD card ====+ 
 +==== 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. 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.
Linea 583: Linea 527:
 Continuare dal precedente punto 6. Continuare dal precedente punto 6.
  
-==== 1.9.4.1. Clonazione di sd con dimensioni diverse ====+ 
 +==== 1.8.4.1. Clonazione di sd con dimensioni diverse ====
  
 Maggiori informazioni al seguente [[:clonazione_sd|LINK]] Maggiori informazioni al seguente [[:clonazione_sd|LINK]]
  
-==== 1.9.5. Estrazione dei vecchi dati dal'inverter ====+ 
 +==== 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 [[http://www.curtronics.com/Solar/screenshots/aurora-Help.html|pagina help in linea]] o interrogando la guida di Aurora con il seguente comando: E' possibile interrogare l'inverter tramite una serie di comandi che potete trovare andando sul sito curtronix.com alla [[http://www.curtronics.com/Solar/screenshots/aurora-Help.html|pagina help in linea]] o interrogando la guida di Aurora con il seguente comando:
Linea 623: Linea 569:
 <wrap indent><wrap indent>energyOld.txt <nowiki> ===></nowiki> energy2012.csv</wrap></wrap> <wrap indent><wrap indent>energyOld.txt <nowiki> ===></nowiki> energy2012.csv</wrap></wrap>
  
-20121008 1.118 kWh <nowiki>===></nowiki>20121008,11.18 \\+20121008 1.118 kWh <nowiki>===></nowiki>20121008,11.18\\
 20121007 0.992 kWh <nowiki>===></nowiki>20121007,9.92 20121007 0.992 kWh <nowiki>===></nowiki>20121007,9.92
  
 </box> </box>
  
-==== 1.9.6. Esecuzione di un backup giornaliero su uno spazio web ftp ====+ 
 +==== 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” 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”
Linea 725: Linea 672:
 e modificare come segue: <box 100% round #ffff99 #d2d2d2 #d2d2d2 #ffff99 | file: root> e modificare come segue: <box 100% round #ffff99 #d2d2d2 #d2d2d2 #ffff99 | file: root>
  
-SHELL=/bin/bash \\ +SHELL=/bin/bash\\ 
-PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin \\  \\ +PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin\\ 
-# Edit this file to introduce tasks to be run by cron. \\ +\\ 
-# \\ +# 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 \\ +# Each task to run has to be defined through a single line\\ 
-# and what command to run for the task \\ +# 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), \\ +# To define the time you can provide concrete values for\\ 
-# and day of week (dow) or use '*' in these fields (for 'any'). \\ +# minute (m), hour (h), day of month (dom), month (mon),\\ 
-# Notice that tasks will be started based on the cron's system \\ +# and day of week (dow) or use '*' in these fields (for 'any').\\ 
-# daemon's notion of time and timezones. \\ +# 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). \\ +# 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: \\ +# For example, you can run a backup of all your user accounts\\ 
-# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/ \\ +# at 5 a.m every week with:\\ 
-# # For more information see the manual pages of crontab(5) and cron(8) \\ +# 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 # m h dom mon dow command
  
-15 21 * * * /var/www/MyScripts/ftpbackup.sh \\+15 21 * * * /var/www/MyScripts/ftpbackup.sh\\
 </box | ctrl+O per salvare e ctrl+X per uscire> </box | ctrl+O per salvare e ctrl+X per uscire>
 +
  
 ====== 2. Connessioni interfaccia USB all'inverter ====== ====== 2. Connessioni interfaccia USB all'inverter ======
Linea 789: Linea 738:
 __//# 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. __//# 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. Materiali ====== +====== 4. Licenza d'uso ======
- +
-{{page>rpy_datalogger_materiali}} +
- +
-====== 5. Licenza d'uso ======+
  
 <WRAP centeralign>Copyright © 2012 - 2016 by Walter62. All rights reserved </WRAP> <WRAP centeralign>Copyright © 2012 - 2016 by Walter62. All rights reserved </WRAP>