Ho preferito continuare la numerazione per dare un senso di continuità e sviluppo, ma ho scelto di partire dalla 3.0 per dare evidenza del salto di novità. L'immagine presenta una serie di novità, fra cui anche l'integrazione del noto software di home automation Domoticz che comunque di default risulta disabilitato.
Vediamo ora le principali caratteristiche e contenuti dell'immagine.
L'immagine funziona su tutti i modelli di Raspberry Pi (modello B, B+, Pi2, Pi3B, Pi3B+, Pi zero, Pi zero W).
Si consiglia Raspberry Pi 2 o superiore.
NOTA PER RASPBERRY 1:
LA VERSIONE DEL SOFTWARE AURORA PRESENTE SULLA SOLARSTRETCH 3.1 NON FUNZIONA SU RASPBERRY 1
Se eseguite il programma aurora vi restituisce l'errore "Istruzione non consentita"
Questo perchè è stata compilata con tecnologia a 64 bit (raspberry pi 3).
E' comunque molto semplice ricompilare a patchare la versione di aurora 1.9.0 (ultima con patch disponibile), in modo da poterla utilizzare anche su Raspberry 1 seguendo la guida presente sul wiki:
Installare Aurora 1.9.0 e patch per unico bus
Sistema operativo:
- Raspbian Stretch lite
- sistema operativo aggiornato al 02/07/2018
- Kernel Linux 4.14.44-v7+ armv7l
Contenuti:
- MeterN 0.8.6
- 123Solar 1.7.3.1
- Menu: web menù con accesso protetto da password per tutte le pagine web (default password: 123456)
- File index.html che reindirizza sempre al menù anche nella cartelle MyScripts e comapps per
impedire qualsiasi accesso diretto a tali cartelle
- RPI monitor 2.12-r0 (http://rpi-experiences.blogspot.com/p/rpi-monitor.html)
- Shellinabox (https://github.com/shellinabox/shellinabox)
- Aurora 1.9.0 (versione patchata per utilizzo di unico bus con SDM120)
- libmodbus
- socat 1.7.3.1
- sdm120c 1.3.5.3
- libreria WiringPi 2.46 - anche per RPI3+ (la base per automazioni domotiche)
- RamLog in versione adattata per Raspbian Stretch per un minor uso della scheda SD
- Swap disabilitato per un minor uso della scheda SD
- libreria lftp (indispensabile per backup via ftp)
- comapps per consumi e produzione
- script Virtmeter by Garluk ( viewtopic.php?f=4&t=2003 ) per calcolo fasce orarie
- script per backup di 123solar e metern via ftp (cartella /var/www/MyScripts)
- script per backup remoto su Altervista.org (cartella /var/www/MyScripts)
- Midnight Commander GNU 4.8.18
- Domoticz v4.9700 su porta 8080 (disabilitato di default)
- Fail2ban [ban IP su tentativi di accesso ssh, http, https (6 tentativi) e domoticz (3 tentativi)]
- upshat service (servizio per monitoraggio I2c UPS HAT PRO V1.1 ) - (disabilitato di default)
Ho aperto una specifica discussione per questo servizio.
- Webiopi 0.7.1 su porta 8000 (default user: webiopi - default password: raspberry )
webiopi ha l'avvio al boot disabilitato in quanto se attivo rallenta lo spegnimento del raspberry (impiega circa 90s a chiudere webiopi)
per abilitarlo "sudo systemctl enable webiopi"
- EZL.sh script per utilizzo di convertitore RS485-LAN tipo EZL70 o altri in sostituzione del convertitore RS485-USB
- gpio-halt per spegnimento con pulsante - (disabilitato di default)( viewtopic.php?f=15&t=2070 )
- script loadcheck: controlla i consumi domestici ed invia una notifica tramite RPInotify sul cellulare in caso di superamento
del limite stabilito per la fornitura.
- avvio automatico al boot del raspberry di 123solar e Metern
- Corretto protocollo sdm120c per 123solar per uso dei contatori Eastron SDM per la misura della produzione PV
- Filtrate le query di MeterN, 123Solar e Menù nel file access.log di apache che in caso di vosualizzazione continuativa delle pagine web saturavano lo spazio di log.
Qui potete scaricare l'immagine: SOLARSTRETCH 3.1
________________________________________________________________________________________________________________
NOTE PORTE:
Per l'utilizzo da remoto di RPI monitor necessita l'apertura della porta 8888
Per l'utilizzo da remoto di Shellinabox necessita l'apertura della porta 4200
Al primo utilizzo di shellinabox, con certi browser (come ad es. Chrome) è necessario accedervi una prima volta direttamente
(e non tramite RPI monitor) con il comando http://IP_raspberry:4200 a dare al browser la conferma di sicurezza.
Successivamente funzionerà anche tramite RPI monitor.
Per l'utilizzo da remoto di Webiopi necessita l'apertura della porta 8000
________________________________________________________________________________________________________________
NOTA KERNEL:
Nella presente versione 3.1 è stato aggiornato il Kernel alla vers. 4.14 in cui ed è stato introdotto un controllo sulla tensione di alimentazione
dell'RPI. Ho però rilevato con un RPI2 nel file syslog continue false segnalazioni di "under Voltage" che intasavano il file di log.
Per questo motivo ho deciso di aggiungere un filtraggio messaggi di log "Under Voltage" in /etc/rsyslog.d/ignore-underpowering.conf
Potete eventualmente eliminare il filtraggio semplicemente cancellando il file /etc/rsyslog.d/ignore-underpowering.conf
________________________________________________________________________________________________________________
NOTE CRONTAB:
In crontab sono state inserite alcune righe:
Codice: Seleziona tutto
07 05 5,10,15,20,25,30 * * root /sbin/shutdown -r now
esegue un riavvio programmato ogno 5 giorni ( il 5, 10 ,15 ... del mese) alle ore 05:07 per evitare
eventuali blocchi per esaurimento memoria ed altro
Codice: Seleziona tutto
03 00 * * * root /usr/local/bin/cleanlog 50 >/dev/null 2>&1
esegue un controllo sullo spazio di log tutti i giorni alle ore 00:03
Nel caso che lo spazio per il log sia pieno per più del 50% esegue la pulizia di tutti i file compressi da logrotate
mantenendo quindi comunque gli ultimi log registrate dal sistema ed eliminando solo i più vecchi.
Codice: Seleziona tutto
#01 21 * * * root /var/www/MyScripts/ftpbackup.sh
E' stata inserita un riga commentata per far eventualmente eseguire se richiesto un backup ftp.
E' in tal caso necessario decommentare la riga e configurare opportunamente il file /var/www/MyScripts/ftpbackup.sh
E' possibile editare il file secondo le vostre esigenze con il comando:
Codice: Seleziona tutto
sudo nano /etc/crontab
________________________________________________________________________________________________________________
GUIDE
In wiki ho messo le guide con le procedure per:
- installazione dell'immagine SolarStretch
- configurazione 123Solar
- configurazione MeterN per vari scenari
oltre a diverse altre cosette.
________________________________________________________________________________________________________________
CONTENUTI PARTICOLARI
Come avrete notato ho inserito alcuni interessanti script i cui servizi (disabilitati di default) possono essere facilmente attivati:
- upshat service è un servizio per il monitoraggio tramite bus I2c dell' UPS HAT PRO V1.1 . Questa è un'interessante ed economica schedina aggiuntiva per il Raspberry che svolge la funzione di UPS. Lo script esegue un controllo sullo stato di carica della batteria e permette di poter visualizzare su MeterN la capacità della batteria e la tensione della stessa. Inoltre può inviare delle notifiche di avviso tramite RPINotify nel caso di funzionamento a batteria e nel caso che la capacità scenda sotto il 20%, Nel caso poi scenda sotto il 5% esegue uno spegnimento del raspberry per evitare possibili problemi alla scheda SD in caso di interruzione della tensione di alimentazione.
ATTENZIONE che solo la versione 1.1 pro funziona correttamente. La versione 1.0 aveva qualche problemino che non ne permetteva un corretto utilizzo come UPS. Evidenzio che in realtà un problemino è rimasto anche in questa versione. In caso di spegnimento è infatti necessario spegnere l'ups mediante il pulsante integrato e poi riaccenderlo con lo stesso pulsante per riattivare l'RPI.
QUI le istruzioni per questo script.
- gpio-halt è uno script per lo spegnimento del Raspberry mediante un pulsante - Argomento che ho trattato in questa discussione. Il pulsante va inserito di default fra il GPIO21 e GND ma può essere facilmente modificato. Lo script è disabilitato di default.
Per abilitare il servizio:
Codice: Seleziona tutto
sudo systemctl enable gpio-halt.service
reboot
Per disabilitare il servizio:
Codice: Seleziona tutto
sudo systemctl disable gpio-halt.service
reboot
- script loadcheck: controlla i consumi domestici ed invia una notifica tramite RPInotify sul cellulare in caso di superamento
del limite stabilito per la propria fornitura. Lo script è preconfigurato per utenze domestiche da 3kW e per l'uso è necessario
editare lo script ed inserire il proprio token di RPInotify.
Ulteriori istruzioni sono presenti nello script /var/www/MyScripts/loadcheck.php
Lo script puo' essere avviato in automatico all'avvio di MeterN (ver 0.8.4 e succ.), decommentando le seguenti righe predisposte nel file
/var/www/metern/config/config_daemon.php
nella sessione Start
Codice: Seleziona tutto
exec("loadcheck > /dev/null 2>/dev/null &");
mentre nella sessione Stop
Codice: Seleziona tutto
exec("pkill -f loadcheck > /dev/null 2>&1 &");
- EZL.sh script per utilizzo di convertitore RS485-LAN tipo EZL70 o altri in sostituzione del convertitore RS485-USB.
Questo script è stato ripreso da una prima guida di 123Solar di Walter62, ma ho preferito integrarlo in quanto a diversi utenti ha creato diversi grattacapi la creazione del servizio per attivarlo con systemd.
Per l'utilizzo è necessario editare il file /var/www/MyScripts/EZL.sh ed inserire l'indirizzo IP del convertitore
Per abilitare il servizio:
Codice: Seleziona tutto
sudo systemctl enable EZL.service
reboot
Per disabilitare il servizio:
Codice: Seleziona tutto
sudo systemctl disable EZL.service
reboot
- Domoticz v4.9700 su porta 8080 (disabilitato di default)
Per avviare manualmente:
Codice: Seleziona tutto
sudo service domoticz.sh start
Per fermare manualmente:
Codice: Seleziona tutto
sudo service domoticz.sh stop
Per attivare l'avvio automatico al boot:
Codice: Seleziona tutto
cd /etc/init.d
sudo update-rc.d -f domoticz.sh defaults
Per disabilitare l'avvio automatico al boot:
Codice: Seleziona tutto
cd /etc/init.d
sudo update-rc.d -f domoticz.sh remove