Uživatelské nástroje

Nástroje pro tento web


cs:supercap

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
cs:supercap [2016/06/18 14:36] – [Záložní napájení ODROID] romancs: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://www.hardkernel.com/main/products/prdt_info.php?g_code=G139772454433|referenční skript]] nebo následující python skript:+Pro automatické vypnutí počítače po odpojení napájení modulu lze využít [[http://www.hardkernel.com/main/products/prdt_info.php?g_code=G139772454433|referenční skript]] nebo následující python skript ze svn repozitáře MLAB. 
 +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. 
  
-  #!/usr/bin/python +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 + 
-   +  sudo apt install python-setuptools 
-  gpio.wiringPiSetupGpio() + 
-  gpio.pinMode(880) +Pro spuštění tohoto skriptu je potřebné mít nainstalovanou knihovnu [[https://github.com/hardkernel/WiringPi2-Python|WiringPi2]] pro Odroid. Knihovnu lze nainstalovat následovně: 
-  gpio.pullUpDnControl(88, 0) + 
-   +  cd ~/repos 
-   +  git clone https://github.com/hardkernel/WiringPi2-Python.git 
-  oldstav = gpio.digitalRead(88)+  cd WiringPi2-Python 
 +  git submodule init 
 +  git submodule update 
 +  sudo python setup.py install 
 + 
 +Následně stáhneme skript ze svn.  
 + 
 +  cd ~/repos 
 +  wget https://raw.githubusercontent.com/MLAB-project/Modules/master/PowerSupply/SUPERCAP01B/SW/SUPERCAP.py 
 +  wget https://raw.githubusercontent.com/MLAB-project/Modules/master/PowerSupply/SUPERCAP01B/SW/start.sh 
 + 
 +Nyní by jsme v adresáři repos měli mít nový adresář SUPERCAP s výše zmíněným Python skriptemTen nyní stačí spustit, aby začal kontrolovat stav pinu indikujícího výpadek vstupního napájení pro SUPERCAP. Program se spouští startovacím skriptem start.sh, který zabraňuje případnému vícenásobnému spuštění programu a tím ke konfliktům s přístupem na hardware. 
 + 
 +  sudo ./start.sh  
 + 
 +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.
      
-  while True: +  [ ! -f /etc/ssh/ssh_host_rsa_key ] && dpkg-reconfigure openssh-server
-      stav = gpio.digitalRead(88)+
      
-      if stav != oldstav and stav == 0: +  /home/odroid/repos/SUPERCAP/start.sh &
-        subprocess.call("shutdown -P 1", shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) +
-        oldstav = stav+
      
-      time.sleep(1)+  exit 0
  
 +<WRAP center round tip 60%>
 +/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í. 
 +</WRAP>
  
  
 +{{:cs:designs:tools:supercap_odroid_ups.jpg?600|}}
  
  
 +<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.
 +</WRAP>
  
  
cs/supercap.1466260562.txt.gz · Poslední úprava: 2016/06/18 14:36 (upraveno mimo DokuWiki)