Писал скрипт, который берет значения из бд и присваивает их состоянию gpio rasbperry pi. Но столкнулся с проблемой, что запрос не выполняется повторно с каждым прохождением цикла.. БД меняю руками из workbanch'a, а значения в скрипте не меняются..
Код:
while True:
print("OUT1")
cursors = db.cursor()
w = cursors.execute("SELECT numb FROM gpio WHERE type='out' and value=1")
cursors.execute("SELECT numb FROM gpio WHERE type='out' and value=1")
dataa = cursors.fetchall()
for d in range(w):
rowc = dataa[d]
idlegs = rowc[0]
GPIO.output(idlegs, 1)
print("set OUT", idlegs, "= 1")
print("OUT0")
time.sleep(1)
cursora = db.cursor()
j = cursora.execute("SELECT numb FROM gpio WHERE type='out' and value=0")
cursora.execute("SELECT numb FROM gpio WHERE type='out' and value=0")
datal = cursora.fetchall()
print(j)
print(datal)
for l in range(j):
rowj = datal[l]
idlegj = rowj[0]
GPIO.output(idlegj, 0)
print("set OUT", idlegj, "= 0")
time.sleep(2)
print("wait")
Вывод в консоли:
wait
OUT1
set OUT 3 = 1
set OUT 5 = 1
set OUT 11 = 1
set OUT 12 = 1
set OUT 13 = 1
set OUT 15 = 1
set OUT 16 = 1
set OUT 18 = 1
set OUT 19 = 1
set OUT 21 = 1
set OUT 22 = 1
set OUT 23 = 1
OUT0
0
()