Uživatelské nástroje

Nástroje pro tento web

Překlady této stránky?:

cs:supercap

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. Upravený soubor pak může vypadat například takto:

odroid@odroid:~$ cat /etc/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.

[ ! -f /etc/ssh/ssh_host_rsa_key ] && dpkg-reconfigure openssh-server

/home/odroid/repos/SUPERCAP/SUPERCAP.py &

exit 0

/etc/rc.local je systémový soubor do kterého může zapisovat jenom administrátor. Znak „&“ na konci řádku který spouští skript SUPERCAP.py je důležitý a způsobuje, že se tento proces spustí na pozadí.

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ý.

cs/supercap.1471871555.txt.gz · Poslední úprava: 2016/08/22 13:12 (upraveno mimo DokuWiki)