Python - Raspberry pi GPIO для SQlite3 - High / Lov с отметкой времени - PullRequest
0 голосов
/ 05 декабря 2018

Сейчас у меня есть простое решение на Python, которое работает идеально.он создает файл log.txt и обновляет его при каждом подключении / отключении GPIO 12.

Но файл становится все длиннее и длиннее, и пришло время обновить его до небольшой базы данных (SQlite3), чтобы сделатьего легче читать и сортировать на веб-странице.

Прошло несколько лет с тех пор, как я в последний раз занимался SQL, поэтому мне нужна помощь, чтобы это заработало.

Вотскрипт лог-файла Python, который я хочу обновить, чтобы использовать SQlite

#!/usr/bin/python

import datetime  
import time
import RPi.GPIO as GPIO
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
DS = 12
GPIO.setup(DS,GPIO.IN,pull_up_down = GPIO.PUD_UP)

logfile = "/var/www/html/log.txt"

start = GPIO.input(DS)

while True:

while GPIO.input(DS) == start:
  time.sleep(.25)
now = datetime.datetime.now()
start = GPIO.input(DS)
timp = now.strftime("%d %B %Y - %H:%M:%S") + " - " + str(start)
print timp
with open(logfile, "a") as file:
  file.write(timp +chr(10))

1 Ответ

0 голосов
/ 05 декабря 2018
#!/usr/bin/python

import datetime  
import time
import RPi.GPIO as GPIO
import sqlite3

GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
DS = 12
GPIO.setup(DS,GPIO.IN,pull_up_down = GPIO.PUD_UP)

logfile = "/var/www/html/log.txt"

start = GPIO.input(DS)

while True:

while GPIO.input(DS) == start:
  time.sleep(.25)
now = datetime.datetime.now()
start = GPIO.input(DS)
timp = now.strftime("%d %B %Y - %H:%M:%S") + " - " + str(start)
print timp
conn = sqlite3.connect(Data Source=\mydb.db;Version=3;Password=myPassword;)
c = conn.cursor()
c.execute("INSERT INTO table VALUES('%s')",timp)
conn.commit()
conn.close()
...