cs:supercap
Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revizePředchozí verzeNásledující verze | Předchozí verze | ||
cs:supercap [2016/08/15 13:39] – roman | cs:supercap [Unknown date] (aktuální) – upraveno mimo DokuWiki (Unknown date) 127.0.0.1 | ||
---|---|---|---|
Řádek 9: | Řádek 9: | ||
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. | 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 [[http:// | + | Pro automatické vypnutí počítače po odpojení napájení modulu lze využít [[http:// |
+ | Systém finguje tak, že skript v odroidu periodicky čte pin 83 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. | ||
- | # | + | Protože se při startu odroidu může stát, že je potřeba zinicializovat ještě některé periferie atd, Tak je program prvních 30s po spuštění necitlivý na výpadek napájení. |
- | import wiringpi2 as gpio | + | |
- | import time | + | === Instalace |
- | import subprocess | + | |
- | + | | |
- | gpio.wiringPiSetupGpio() | + | |
- | gpio.pinMode(88, 0) | + | |
- | gpio.pullUpDnControl(88, 0) | + | |
- | + | ||
- | + | ||
- | oldstav = gpio.digitalRead(88) | + | |
- | + | ||
- | while True: | + | |
- | | + | |
- | + | ||
- | if stav != oldstav and stav == 0: | + | |
- | subprocess.call(" | + | |
- | | + | |
- | | + | |
- | time.sleep(1) | + | |
Pro spuštění tohoto skriptu je potřebné mít nainstalovanou knihovnu [[https:// | Pro spuštění tohoto skriptu je potřebné mít nainstalovanou knihovnu [[https:// | ||
+ | cd ~/repos | ||
git clone https:// | git clone https:// | ||
cd WiringPi2-Python | cd WiringPi2-Python | ||
Řádek 40: | Řádek 27: | ||
sudo python setup.py install | sudo python setup.py install | ||
- | S tímto skriptem nastane problém | + | Následně stáhneme skript ze svn. |
+ | |||
+ | cd ~/repos | ||
+ | wget https:// | ||
+ | wget https:// | ||
+ | |||
+ | 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 | ||
+ | |||
+ | sudo ./start.sh | ||
+ | |||
+ | U skriptu je však vhodné aby se spouštěl automaticky při startu systému. | ||
+ | |||
+ | odroid@odroid: | ||
+ | #!/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 / | ||
+ | |||
+ | / | ||
+ | |||
+ | exit 0 | ||
+ | |||
+ | <WRAP center round tip 60%> | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | |||
+ | {{: | ||
+ | <WRAP center round todo 80%> | ||
+ | Jestliže se odroid vypne při vysokém napětí na kondenzátoru a kondenzátor se nevybije pod prahovou mez pro reset napájením. Tak nedojde k zapnutí odroidu po opětovném připojení napájení. | ||
+ | Tento problém by mělo být možné vyřešit připojením PG pinu modulu SUPERCAP, na vypínací vstup ODROIDU, který je vyvedený na nezapájený hřebínek odroidu. K tomu je ale potřeba zjistit logické úrovně vypínacího signálu a jeho přesnou polaritu. | ||
+ | </ | ||
cs/supercap.txt · Poslední úprava: 2017/04/02 10:43 (upraveno mimo DokuWiki)