Digital Input

Pavel
Posts: 3
Joined: Tue Dec 30, 2014 11:20 pm

Digital Input

Postby Pavel » Sat Jan 10, 2015 8:36 pm

Chtěl bych monitorovat pomocí digitálních vstupů stav jednoho zařízení.Výstupem zařízení jsou bezpotenciálové kontakty relé.Zkouším použít callback z pigpio (v evoku callback není).Funguje dobře, ale pokud chci místo vypsání aktuálního stavu na displej zavolat nějakou funkci (třeba odeslat email, nebo uložit do google sheets), začnou se mi vypisovat postupně stavy všech vstupů od 1 do 12. Vypadá to takhle:

import pigpio, time, datetime, gspread

#Google account
email = 'xxz@gmail.com'
password = 'xyz'
spreadsheet = 'Log_Unipi'

pi1 = pigpio.pi()
time_stamp = time.time()

emzprava = [
"stav cilso 1",
"stav cilso 2",
"stav cilso 3",
"stav cilso 4",
"stav cilso 5",
"stav cilso 6",
"stav cilso 7",
"stav cilso 8",
"stav cilso 9",
"stav cilso 10",
"stav cilso 11",
"stav cilso 12"]
stav = ["zacatek udalosti v:", "konec udalosti v:"]
idnrimp = [4,17,27,23,22,24,11,7,8,9,25,10]

def debfc(gpio, level, tick):
global time_stamp, i, time_now
time_now = time.time()
if (time_now - time_stamp) >= 0.5:
i = datetime.datetime.now()
i = '{:%Y-%m-%d %H:%M:%S}'.format(i)
idf(gpio)
msg(gpio, level)
co = emzprava[idxnr]
st = stav[level]
logUpi(co, st, i)
time_stamp = time_now

def idf(gpio):
global idxnr
idxnr = idnrimp.index(gpio)

def msg(gpio, level):
print(emzprava[idxnr]),(","),(stav[level]),( i)

def logUpi(co, st, i):
gc = gspread.login(email,password)
worksheet = gc.open(spreadsheet).sheet1
values = [co,st,i]
worksheet.append_row(values)

cb1hi = pi1.callback(4, pigpio.RISING_EDGE, debfc)
cb1lo = pi1.callback(4, pigpio.FALLING_EDGE, debfc)
cb2hi = pi1.callback(17, pigpio.RISING_EDGE, debfc)
cb2lo = pi1.callback(17, pigpio.FALLING_EDGE, debfc)
.
.
.

no není to můj denní chléb, ale přesto nevím proč to nefunguje.
Poradí někdo ?
tomas_hora
Site Admin
Posts: 298
Joined: Wed Oct 29, 2014 9:56 am

Re: Digital Input

Postby tomas_hora » Tue Jan 13, 2015 3:01 pm

Dobrý den,

je potřeba nastavit softwarově pull up resistor, vice na http://abyz.co.uk/rpi/pigpio/python.htm ... ll_up_down

pi.set_pull_up_down(gpio, pigpio.PUD_UP)

Return to “General discussion”

Who is online

Users browsing this forum: No registered users and 1 guest