Python - Raspberry pi GPIO для SQlite3 - High/Lov с отметкой времени
Прямо сейчас у меня есть простое решение на 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 ответ
#!/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()