Kategorien
Allgemein Linux Raspberry PI

UPS PIco Firmware Update

Nachdem ich kürzlich ein kleines Tutorial zum Thema UPS PIco auf dem Raspberry PI 2 geschrieben hatte, kommt heute noch eines über Firmware Updates mit der kleinen USV.

Bevor wir jedoch etwas machen können, müssen wir zuerst noch den RS232 deaktivieren. Hierfür gehen wir in unser geliebtes raspi-config und hangeln uns über die „Advanced Options“ zu „A8 Serial“ durch.

Hier setzen wir diesen auf „Disabled“ und führen einen reboot durch.

Jetzt können wir uns die notwendigen Dateien herunterladen entpacken diese auch gleich:

wget http://www.pimodules.com/_zip/UPS_PIco_Firmware_Update.zip
unzip UPS_PIco_Firmware_Update.zip

Bitte jetzt gut auf die Dateinamen achten! Die Entwickler werfen da öfter mal ein Update raus und da variiert dann die Versionsnummer immer ein wenig.

Starten können wir den Update Prozess nun wie folgt:

sudo i2cset -y 1 0x6b 0x00 0xff && sudo python picofu3.py -v -f UPS_PIco_0x59_26_01_2016.hex

Nun sollte auch gleich die Blaue LED auf eurem Board das blinken anfangen und euch eine, recht ungewöhnliche, Fortschrittsanzeige, erscheinen.

Wenn euch der Updater ein „ALL Done 🙂 Ready to go…“ anzeigt, war das Update auch erfolgreich.

Nun reicht der USV jedoch kein einfacher neustart, sondern wir müssen das System komplett herunter fahren:

sudo shutdown -h now

Direkt nach dem Shutdown bitte das Stromkabel abziehen und den UPSR (Reset) Button betätigen.

Jetzt könnt ihr den Strom wieder anstecken und euren Raspberry hochfahren lassen.

Mit folgendem Befehl könnt ihr kontrollieren ob die USV die neue Version auch angenommen hat:

sudo i2cget -y 1 0x6b 0x00

Jetzt könnt ihr über raspi-config auch die Serielle Konsole wieder aktivieren.

Hierfür einfach die Schritte oben wiederholen und wieder aktivieren.

Kategorien
Allgemein Linux Raspberry PI

UPS PIco mit dem Raspberry PI 2 Tutorial

Die UPS PIco ist ein richtig schönes Stück Hardware, das mir bei einem aktuellen Projekt gerade extrem weiter hilft.

Leider gibt es von pimodules.com nur eine Anleitung für den Raspberry PI A+ und B+.

Deshalb habe ich euch mal die Installation auf einem PI 2 zusammen gefasst.

Zuerst aktivieren wir mal den I2C Bus via

raspi-config

Hier gehen wir runter zu den „Advanced Options“ und dann zu „A7 I2C“.

Nun bestätigen wir einmal das aktivieren des I2C mit Yes und einmal das das Kernel Modul immer geladen werden soll.

Als nächstes aktivieren wir hier den Seriellen Port bei „A8 Serial“.

Im normal Fall will der Raspberry nun einen Neustart durchführen, welchen wir ihm auch genehmigen 🙂

Jetzt installieren wir noch ein paar benötigte Pakete:

sudo apt-get install python-rpi.gpio python-smbus i2c-tools

In der Datei /etc/modules müssen noch zwei Zeilen eingefügt werden:

echo „i2c-bcm2708
i2c-dev“ >> /etc/modules

Und ein erneuter reboot:

reboot

Nach dem Neustart sollte ein

sudo i2cdetect -y 1

eine Ausgabe ähnlich dieser hier bringen:

Screenshot 2016-02-23 19.42.01

Wenn ihr das angezeigt bekommt und keinen Fehler, dann funktioniert der I2C schon mal.

Leider kommuniziert die USP PIco per UART mit dem Raspberry, was heißt das die Serielle Console deaktiviert werden muss.

Das dürfte die meisten nicht sonderlich stören, ich jedoch nutze die eigentlich ganz gerne 🙁

Deaktivieren könnt ihr diese folgendermaßen:

sudo systemctl stop [email protected]
sudo systemctl disable [email protected]

Und aus der Datei /boot/cmdline.txt noch folgenden Text löschen:

console=ttyAMA0,115200

Jetzt können wir auch anfangen die eigentliche Software zu installieren:

cd ~
wget http://www.pimodules.com/_zip/UPS_PIco_Supporting_Files.zip
unzip UPS_PIco_Supporting_Files.zip

Um den Service automatisch beim Booten zu starten, können wir die rc.local, die sich im Download befand, einfach nach /etc verschieben, ausführbar machen und gleich einen reboot hinterher schicken.

sudo mv rc.local /etc/
sudo chmod +x /etc/rc.local
reboot

Ab jetzt macht die USV schon mal was sie soll. Standard sind 30 Sekunden Shutdown Time eingestellt. Das heißt das der Raspberry automatisch nach 30 Sekunden herunter gefahren wird, wenn der Strom ausfällt.

Diese Zeit könnt ihr jedoch über folgenden Befehl (in Sekunden) einstellen:

i2cset -y 1 0x6b 9 120

Mit dieser Zeile setzt ihr den Wert auf 120 Sekunden hoch.

Wenn ihr das komplett ausstellen wollt, heißt das der Raspberry weiter läuft bis der Akku leergesaugt ist, dann könnt ihr das so machen:

i2cset -y 1 0x6b 9 0xff

Somit ist eure UPS PIco fertig eingerichtet und kann von euch genutzt werden.