I used the raspberry pi to supervise a motel room status. My code is working fine, but I need to restart the count at specific time every day. please help me with that.
here is my script in Python.
# Librerias
import MySQLdb
import time
import datetime
import sys
import subprocess
import re
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setup(7, GPIO.IN, pull_up_down=GPIO.PUD_UP)
# VARIABLES
input = GPIO.input(7)
rampa1 = 1
sucursal = ("Las Vegas")
ent = ("Entrada")
sal = ("Salida")
counts1 = 0
variable1 = 0
valorsalida = "*"
#Variables de Base de Datos
server = ("server")
DB = ("db")
password = ("password")
username = ("username")
# Prueba de coneccion a base de datos
# Ecuaciones
def emailerror():# Envio de Email en caso de error de coneccion
import smtplib
try:
SMTP_SERVER = 'smtp.gmail.com'
SMTP_PORT = 587
sender = 'pruebaraspberry@gmail.com'
recipient = 'aaguilar@agflosa.com, ramosgiuseppe@gmail.com'
subject = 'Error en conectar a la base de datos'
body = 'Revisar coneccion con el servidor de base de datos'
"Sends an e-mail to the specified recipient."
body = "" + body + ""
headers = ["From: " + sender,
"Subject: " + subject,
"To: " + recipient,
"MIME-Version: 1.0",
"Content-Type: text/html"]
headers = "\r\n".join(headers)
session = smtplib.SMTP("smtp.gmail.com",587)
session.ehlo()
session.starttls()
session.ehlo
session.login("pruebaraspberry@gmail.com","pepe2488")
session.sendmail(sender, recipient, headers + "\r\n\r\n" + body)
session.quit()
print("Revisar coneccion con el servidor")
except:
print ("revise coneccion a internet")
def coneccionentrada():# Coneccion de Entrada
try:
conn = MySQLdb.connect(server,DB,password,username)
conn.cursor().execute("INSERT INTO contador (Camiones, fecha, Tiempo, Rampa, Sucursal, EOS) VALUES (%s, %s, %s, %s, %s,%s)",
(counts1, dateentrada, timeentrada, rampa1, sucursal, ent))
print ("Datos de Entrada Enviados")
except:
print ("los datos no pudieron enviarse")
def coneccionsalida():# Coneccion de Salida
try:
conn = MySQLdb.connect(server,DB,password,username)
conn.cursor().execute("INSERT INTO contador (Camiones, fecha, Tiempo, Rampa, Sucursal, EOS) VALUES (%s, %s, %s, %s, %s, %s)",
(valorsalida, datesalida, timesalida, rampa1, sucursal, sal))
print ("Datos de Salida Enviados")
except:
print ("los datos no pudieron enviarse")
# Inicio del Programa
try:# Prueba de Conneccion
print ("Conectandose a la Base de Datos")
conn = MySQLdb.connect(server,DB,password,username)
print ("Conectado con el Servidor")
except:
emailerror()
# Inicio de Loop
while (True):
# Entrada de Auto Habitacion 1 #
GPIO.wait_for_edge(7,GPIO.FALLING)
time.sleep(180)
if (input == GPIO.LOW) and (variable1==0):
timeentrada = time.strftime("%H:%M:%S")
dateentrada = time.strftime("%Y.%m.%d")
counts1 += 1
variable1 += 1
print ("ENTRADA RAMPA 1")
print (counts1)
if(variable1==1):
print ("Entrada Contada")
coneccionentrada()
variable1 += 1
# Salida de Auto Habitacion 1 #
if (input == GPIO.HIGH) and (variable1==2):
datesalida = time.strftime("%Y.%m.%d")
timesalida = time.strftime("%H:%M:%S")
coneccionsalida()
variable1 = 0




