Python-Raspberry Pi GPIO到SQlite3-高/低带时间戳

时间:2018-12-05 13:11:23

标签: python sqlite gpiozero

现在,我有一个运行良好的简单python解决方案。 它会制作一个log.txt文件并在每次打开/关闭GPIO 12时进行更新。

但是文件越来越长,现在是时候升级到一个小的数据库(SQlite3),以使其在网页上更易于阅读和排序了。

自从我上次接触SQL已有好几年了,所以我需要一些帮助才能使它正常工作。

这是我要更新以使用SQlite的Python日志文件脚本

#!/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 :(得分:0)

#!/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()