0

现在我有一个简单的 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))
4

1 回答 1

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()
于 2018-12-05T13:25:38.763 回答