Aggiornare Venus OS nel Raspberry Pi o in Victron Energy Cerbo GX tramite USB

20 aprile 2023

Alcuni mesi fa vi abbiamo mostrato come installare Victron Energy Venus OS sul Raspberry Pi e come aggiornarlo tramite aggiornamenti online.

Per chi si fosse perso gli articoli, ecco il link alla guida di installazione.

E il link alle istruzioni su come aggiornare il sistema tramite aggiornamenti online.

Può capitare però di non avere a disposizione internet in camper, ed in questo caso quindi bisogna procedere tramite usb.

Ecco come procedere per aggiornare il sistema all'ultima versione stabile :-)

Scarichiamo l'immagine di Venus OS per l'aggiornamento tramite usb

Per l'aggiornamento tramite usb bisogna utilizzare l'immagine con estensione .swu.

A questo link si possono scaricare le versioni (large e normale) per Raspberry Pi 2 e 3:
https://updates.victronenergy.com/feeds/venus/release/images/raspberrypi2/

A questo, le versioni per Raspberry Pi 4 rev. 1.2 e 1.3 ed ora anche rev. 1.4 e 1.5:
https://updates.victronenergy.com/feeds/venus/release/images/raspberrypi4/

Mentre a questo link le versioni in beta testing:
https://updates.victronenergy.com/feeds/venus/candidate/images/

Da qui scarichiamo l'ultima versione di Venus OS normale disponibile in questo momento per il nostro Rpi 3B+, utilizzabile tramite USB:
https://updates.victronenergy.com/feeds/venus/release/images/raspberrypi2/venus-swu-3-raspberrypi2.swu

Copiamo quindi il file in una normalissima chiavetta usb e colleghiamola al Raspberry Pi.

Connettiamoci al Raspberry Pi o al CerboGX tramite console o schermo touch

Colleghiamoci alla Console Remota:
http://venus.local
Oppure:
http://INDIRIZZO_IP

In alternativa possiamo utilizzare lo schermo touch se ne siamo dotati ;-)

Aggiorniamo Venus OS

Impostiamo la sola verifica e non l'aggiornamento automatico:

Impostazioni > Firmware > Installare firmware da SD/USB > Cercare firmware in DS/USB: Premere per verificare (premere il pulsante)

Procediamo quindi con l'aggiornamento del sistema :-)

Dopo qualche minuto la console si disconnetterà con il messaggio: Disconnected.

Raspberry pi victron energy venus os disconnected

Cliccare sul link: Reconnect

Verificare se l'aggiornamento è andato a buon fine:

Impostazioni > Firmware > Versione firmware: vX.XX

Ri-Applichiamo le modifiche manuali al Venus OS installato sul Raspberry Pi: relè, luminosità schermo, etc

Abilitiamo l'accesso come Superutente:

Impostazioni > Generali > Livello di accesso > Utente e installatore (la password è ZZZ)

Una volta tornati nel menu Generale, con la riga Livello di accesso sottolineata di azzurro, tenere premuta la freccia a destra della tastiera.
Apparirà il livello di accesso: Superutente

Impostare una password di root:

Impostazioni > Generali > Livello di accesso > Set root password > impostare quello che si vuole

Abilitare SSH:

Impostazioni > Generali > Livello di accesso > SSH su LAN > Abilitare

Colleghiamoci al Raspberry Pi tramite SSH da un altro pc.

ssh root@INDIRIZZO_IP

Se utilizzi Windows puoi collegarti tramite Putty.

Rendiamo il file system scrivibile con questo comando:

/opt/victronenergy/swupdate-scripts/remount-rw.sh

Abilitiamo lo schermo touch digitando questo comando:

mv /etc/venus/headless /etc/venus/headless.off

Espandiamo il file system:

/opt/victronenergy/swupdate-scripts/resize2fs.sh

Lo schermo touch ufficiale del raspberry di norma, come dicevamo, va ruotato di 180 gradi:

nano /u-boot/config.txt
[...]
sotto:
[all]
dtparam=spi=on
inserire:
lcd_rotate=2
disable_overscan=1
[...]

Salvare con: CTRL + x

Abilitiamo lo spegnimento dello schermo dopo X secondi:

echo "/sys/class/backlight/rpi_backlight/bl_power" > /etc/venus/blank_display_device

Ci portiamo nella cartella degli overlays:

cd /u-boot/overlays

Download overlay:

wget https://github.com/kwindrem/RpiDisplaySetup/raw/main/rpi-backlight-overlay.dtb -O rpi-backlight-overlay.dtb

Per i nuovi kernel abbiamo invece bisogno di questo:

wget https://github.com/kwindrem/RpiDisplaySetup/raw/main/rpi-backlight.dtbo -O rpi-backlight-overlay.dtb

Impostiamo l'intensità di luce:

echo "/sys/class/backlight/rpi_backlight" > /etc/venus/backlight_device

Disabilitiamo l'AutoBrightness:

dbus -y com.victronenergy.settings /Settings/Gui/AutoBrightness SetValue 0 > /dev/null

Impostiamo la luminosità minima e massima per il RPI display in /Settings/Gui/Brightness:

dbus -y com.victronenergy.settings /Settings AddSettings '%[{"path": "/Gui/Brightness", "default":255, "min":0, "max":255}]' > /dev/null

Ci portiamo nella cartella degli overlays:

cd /u-boot/overlays

Download overlay:

wget https://github.com/kwindrem/RpiDisplaySetup/raw/main/rpi-backlight-overlay.dtb -O rpi-backlight-overlay.dtb

Per i nuovi kernel abbiamo invece bisogno di questo:

wget -O https://github.com/kwindrem/RpiDisplaySetup/raw/main/rpi-backlight.dtbo -O rpi-backlight-overlay.dtb

Abilitiamo tutti e 4 i relè (di default ne è abilitato solo 1):

nano /etc/venus/gpio_list
[...]
# Relay 1 Pin 40 / GPIO 21
21 out relay_1
# Relay 2 Pin 11 / GPIO 17
17 out relay_2
# Relay 3 Pin 13 / GPIO 27
27 out relay_3
# Relay 4 Pin 15 / GPIO 22
22 out relay_4
[...]

Eseguiamo il backup del file di controllo stato dei relè e lo editiamo come segue (qui di default ne sono abilitati 2):

cp /opt/victronenergy/dbus-systemcalc-py/delegates/relaystate.py /opt/victronenergy/dbus-systemcalc-py/delegates/relaystate_Backup.py
nano /opt/victronenergy/dbus-systemcalc-py/delegates/relaystate.py
[...]
('/Relay/0/State', '/Settings/Relay/0/InitialState', 0, 0, 1),
('/Relay/1/State', '/Settings/Relay/1/InitialState', 0, 0, 1),
('/Relay/2/State', '/Settings/Relay/2/InitialState', 0, 0, 1),
('/Relay/3/State', '/Settings/Relay/3/InitialState', 0, 0, 1)
[...]

Eseguiamo il backup del file di configurazione dei relè e lo editiamo come segue (qui di default ne sono abilitati 2):

cp /opt/victronenergy/gui/qml/PageSettingsRelay.qml /opt/victronenergy/gui/qml/PageSettingsRelay_Backup.qml
nano /opt/victronenergy/gui/qml/PageSettingsRelay.qml
[...]
property VBusItem relay1Item: VBusItem { bind: "com.victronenergy.system/Relay/1/State" }
property bool hasRelay1: relay1Item.valid
property VBusItem relay2Item: VBusItem { bind: "com.victronenergy.system/Relay/2/State" }
property bool hasRelay2: relay2Item.valid
property VBusItem relay3Item: VBusItem { bind: "com.victronenergy.system/Relay/3/State" }
property bool hasRelay3: relay3Item.valid

MbItemOptions {
id: relay1Function
description: hasRelay1 ? qsTr("Function (Relay 2)") : qsTr("Function")
bind: Utils.path(bindPrefix, "/Settings/Relay/1/Function")
show: hasRelay1
possibleValues:[
MbOption { description: qsTr("Manual"); value: 2 },
MbOption { description: qsTr("Temperature"); value: 4 }
]
}

MbSwitch {
id: manualSwitch1
name: qsTr("Relay 2 On")
bind: "com.victronenergy.system/Relay/1/State"
show: hasRelay1 && relay1Function.value === 2 // manual
}

MbSwitch {
id: manualSwitch2
name: qsTr("Relay 3 On")
bind: "com.victronenergy.system/Relay/2/State"
show: hasRelay2 // manual
}

MbSwitch {
id: manualSwitch3
name: qsTr("Relay 4 On")
bind: "com.victronenergy.system/Relay/3/State"
show: hasRelay3 // manual
}
[...]

Riavviamo il sistema:

shutdown -r now

Verifichiamo che le configurazioni personalizzate siano state impostate correttamente

Colleghiamoci alla Console Remota:
http://venus.local
Oppure:
http://INDIRIZZO_IP

Verifichiamo ed eventualmente impostiamo il tempo di spegnimento del display:

Impostazioni > Display e lingua > Tempo di spegnimento display > 30 sec

Verifichiamo ed eventualmente impostiamo l'intensità di luce desiderata del display:

Impostazioni > Display e lingua > Impostare tramite lo slider

Verifichiamo ci siano tutti e 4 i relè ed eventualmente li ri-configuriamo a nostro piacimento:

Impostazioni > Relè

Ricordiamo che volendo possiamo comandare i nostri primi due relè, tramite la temperatura rilevata dai sensori Ruuvi Tag, mentre il 3 e 4 solo con apertura/chiusura manuali:

Impostazioni > Relè > Funzione (Relè X) > Temperatura
Impostazioni > Relè > Regole di controllo della temperatura

Note finali

Se sei possessore di un Raspberry Pi con Victron Venus OS di versione inferiore alla 2.90 (per esempio la v2.89), non è possibile aggiornare il sistema automaticamente: ne online, ne tramite usb.

In quel caso sarà necessario reinstallare tutto il software da zero, magari seguendo la nostra guida.

Eccoci giunti quindi alla fine di questo breve tutorial :-)

Continua a seguirci per rimanere aggiornato!!

Condividi

Potrebbero interessarti