Toto je starší verze dokumentu!
Kapacitní zálohovací modul - SUPERCAP01A
Superkapacitory mohou být využity pro zálohování systémů při krátkodobém výpadku napájení.
Použití
Záložní napájení ODROID
Energie uložená modulu je dostatečná pro běh počítače odroid na několik desítek sekund. Tento čas je dostatečný k tomu, aby mohlo dojít například k uložení důležitých dat, nebo k odstavení systému. Pro automatické vypnutí počítače po odpojení napájení modulu lze využít referenční skript nebo následující python skript:
#!/usr/bin/python import wiringpi2 as gpio import time import subprocess gpio.wiringPiSetupGpio() gpio.pinMode(88, 0) gpio.pullUpDnControl(88, 0) oldstav = gpio.digitalRead(88) while True: stav = gpio.digitalRead(88) if stav != oldstav and stav == 0: subprocess.call("shutdown -P 1", shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) oldstav = stav time.sleep(1)
Systém finguje tak, že skript v odroidu periodicky čte pin 88 na který je připojený indikační výstup ze SUPERCAP - Pin PFO. Při výpadku napájení logická hodnota na pinu odroidu přejde na log 0.
Instalace
sudo apt install subversion python-setuptools
Pro spuštění tohoto skriptu je potřebné mít nainstalovanou knihovnu WiringPi2 pro Odroid. Knihovnu lze nainstalovat následovně:
cd ~/repos git clone https://github.com/hardkernel/WiringPi2-Python.git cd WiringPi2-Python git submodule init git submodule update sudo python setup.py install
Následně stáhneme skript ze svn.
cd ~/repos svn co svn://svn.mlab.cz/MLAB/Modules/PowerSupply/SUPERCAP01A/SW SUPERCAP
Nyní by jsme v adresáři repos měli mít nový adresář SUPERCAP s výše zmíněným Python skriptem, Ten nyní stačí spustit, aby začal kontrolovat stav pinu indikujícího výpadek vstupního napájení pro SUPERCAP.
sudo ./SUPERCAP.py
U skriptu je však vhodné aby se spouštěl automaticky při startu systému. Toho dosáhneme tím, že jej připíšeme do souboru /etc/rc.local.
S tímto skriptem nastane problém v případě krátkého výpadku napájení. Odroid se vypne při vysokém napětí na kondenzátoru a nenastane stav odpojeného napájení. Kondenzátor se začne dobíjet a Odroid zůstane vypnutý.