ich habe nicht sehr viel Ahnung von Python, habe mir aber ein Script aus dem Netz gesucht
und mit anderen Komponenten zusammengefügt.
Mein Script überprüft ob ein Eingangssignal von einem GPIO Pin ankommt oder nicht.
Dies wird ausgelöst in dem ein Magnetkontakt geöffnet oder geschlossen wird.
Wenn der Magnetkontakt sich öffnet, schreibt das Script einmal in eine Textdatei und zum anderen in eine Datenbank.
Das Problem ist, das es zuerst funktioniert, aber irgendwann ist das Script einfach ohne Grund beendet.
Das Script wird über init.d gestartet.
Code: Alles auswählen
#!/usr/bin/python
from time import *
import os, sys
import time
import RPi.GPIO as GPIO
import MySQLdb
def main():
GPIO.setmode(GPIO.BCM)
GPIO.setup(23,GPIO.IN)
note_open_door =0
mysql = MySQLdb.connect(host="",user="",passwd="",db="tuer")
while True:
if GPIO.input(23):
lt = localtime()
zeit= strftime("%d.%m.%Y", lt) +" "+ strftime("%H:%M:%S"+"\n", lt)
datei = open("/var/www/zeit.txt", "a")
datei.write(zeit)
datei.close()
cursor = mysql.cursor()
cursor.execute("INSERT INTO tuer.dooropen (id, time) VALUES (NULL, '"+ zeit +"');")
datei_onoff = open("/var/statuspin32.txt", "w")
datei_onoff.write("auf")
datei_onoff.close()
print ("Tuer auf!")
else:
datei_onoff = open("/var/statuspin32.txt", "w")
datei_onoff.write("zu")
datei_onoff.close()
time.sleep(0.1)
GPIO.cleanup()
if __name__=="__main__":
main()
Mit freundlichem Gruß
Becklin