1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
| #!/usr/bin/python
#-*- coding: iso-8859-15 -*-
import os,sys,time,commands
import RPi.GPIO as GPIO
from yocto_api import *
from yocto_voltage import *
from yocto_current import *
GPIO.setmode(GPIO.BCM)
GPIO.setup(25, GPIO.OUT)
GPIO.setup(24, GPIO.OUT)
from datetime import datetime
errmsg=YRefParam()
# configure l'api pour utiliser les modules locaux
if YAPI.RegisterHub("127.0.0.1", errmsg)!= YAPI.SUCCESS:
sys.exit("init error"+errmsg.value)
# Trouve la premiere fonction Voltage disponible
Vsensor = YVoltage.FirstVoltage()
if Vsensor is None :
sys.exit('Pas de Yocto-volt trouve (Verifiez le cable USB)')
# retrouve la fonction Voltage pour le courant continu presente
# le meme module en utilisant le Numero de serie, (utiliser
# "voltage2" pour l'alternatif
serial = Vsensor.get_module().get_serialNumber()
Vsensor = YVoltage.FindVoltage(serial+".voltage1")
# Trouve la premiere fonction Current disponible
Csensor = YCurrent.FirstCurrent()
if Csensor is None :
sys.exit('Pas de Yocto-Amp trouve (Verifiez le cable USB)')
# retrouve la fonction Current pour le courant continu presente
# le meme module en utilisant le Numero de serie, (utiliser
# "current2" pour l'alternatif
serial = Csensor.get_module().get_serialNumber()
Csensor = YCurrent.FindCurrent(serial+".current1")
oV=Vsensor.get_currentValue()
oA=Csensor.get_currentValue()
gpio24=commands.getoutput('gpio read 5')
gpio25=commands.getoutput('gpio read 6')
if oV < 12 and gpio25 == 0:
GPIO.output(25,1)
time.sleep(5)
GPIO.output(24,0)
pass
elif oV > 13.5 and gpio25 > 0:
GPIO.output(24,1)
time.sleep(5)
GPIO.output(25,0)
pass
elif oA > 1500 and gpio25 > 0:
GPIO.output(24,1)
time.sleep(5)
GPIO.output(25,0)
pass
else:
pass |
Partager