def leerBotones(self): re.setReset() botones.configurarPinesGPIO() botones.configurarPinesGPIOBobina() global boleto_previo print("------Preguntar Botones --------") b1, b2 = botones.leerBotonesEntrada() f1 = botones.validarBotones(b1, b2) f2 = f3 = f4 = f5 = False f6 = botones.leerBobina2Subida( ) #PREGUNTAR POR LA BOBINA EN EL PIN CORRECTO if boleto_previo == True: #IMprimir cabecera() print "Imprimo la cabecera para tener listo el boleto..." imprimir.imprimirHeader() boleto_previo = False else: if f1 == True and f2 == False and f3 == False and f4 == False and f5 == False: noBolF = folio.saberFolio() folioBD = noBolF print "Folio:" + noBolF noBol = noBolF.replace('GM:', '') fechaIn = fechaUTC.fechaConFormato() horaEnt = fechaUTC.tiempoConFormato() #imprimir.imprimirQR(noBol,str(terminalEnt),str(fechaIn),str(horaEnt)) imprimir.imprimirQR2(noBol, str(terminalEnt), str(fechaIn), str(horaEnt)) print "Bandera f2=True se termino de imprimir" print "Se agrega Boleto a la base de datos de la expedidora" fechatimestamp = str(fechaIn) + " " + str(horaEnt) conectionBD.insertarBoleto(PATH_NOMBRE_PLAZA, terminalEnt, str(folioBD), fechatimestamp, 'DEFAULT-ESCOM') boleto_previo = True #Se completa la primera face y se puede volver a imprimir unas cabecera. f2 = True if f2 == True and f3 == False and f4 == False and f5 == False: botones.abrir() while (f2 == True and f3 == False): f3 = botones.leerBobina2Subida() f2 = False if f2 == False and f3 == True and f4 == False and f5 == False: while (f3 == True and f4 == False): time.sleep(0.5) print "Barrera Abierta" f4 = botones.abrirBarrera() f3 = False if f2 == False and f3 == False and f4 == True and f5 == False: while (f5 == False): time.sleep(0.5) f5 = botones.CerrarBarrera() f4 = False if f2 == False and f3 == False and f4 == False and f5 == True: print "Ya cerre barrera restablesco fs" f1 = f2 = f3 = f4 = f5 = False if f6 == True: print "Abrir barrera por que se echaron pa tràs" while (f5 == False): f5 = botones.CerrarBarrera() QtCore.QTimer.singleShot(200, self.leerBotones)
def leerBotones(self): global boleto_previo, espera, limite_impresiones ############# ARDUINO ############################### ''' global ser sensor_masa1 = False sensor_masa2 = False sensor_boton = False ser.flushInput() time.sleep(.2) #r=ser.read(ser.inWaiting()) r=ser.read(1) if(r): #r=ser.linesep.join([s for s in r.splitlines() if s]) print("r",r) if (r[0] == 49): sensor_masa1 = True sensor_masa2 = False sensor_boton = False elif (r[0] == 50): sensor_masa1 = False sensor_masa2 = False sensor_boton = True elif (r[0] == 51): sensor_masa1 = True sensor_masa2 = False sensor_boton = True elif (r[0] == 52): sensor_masa1 = False sensor_masa2 = True sensor_boton = False else: sensor_masa1 = False sensor_masa2 = False sensor_boton = False re.setReset() ''' ############################################################# self.mostrarFechayHora() if self.pantalla == 0: self.stackedWidget.setCurrentIndex(0) elif self.pantalla == 1: if espera == 0: mixer.init() mixer.music.load( '/home/pi/Documents/eum/app/expedidora/sonidos/mensaje2.mp3' ) mixer.music.play() self.stackedWidget.setCurrentIndex(1) espera = espera + 1 if espera == 25: espera = 0 self.pantalla = 0 else: self.stackedWidget.setCurrentIndex(2) espera = espera + 1 if espera == 25: espera = 0 self.pantalla = 0 if self.inicio == 0: self.error = 0 self.inicio = 1 self.checarFecha() self.limpiarBD() self.inicioImpresion() respuesta = imprimir.footer() self.finImpresion() if respuesta == "No esta conectada la impresora": mensaje = str(terminalEnt) + "," + str(4) + "," + str( "iniciada") #####validacion = clientes.configSocket("log expedidora") #####clientes.logExpedidora(validacion,"log expedidora",mensaje) self.error = 3 self.pantalla = 1 if botones.leerAyuda() == 1: self.pantalla = 2 if self.error == 0: if boleto_previo == True and self.f1 == False: self.inicioImpresion() respuesta = imprimir.imprimirHeader() self.finImpresion() if respuesta == "No esta conectada la impresora": mensaje = str(terminalEnt) + "," + str(4) + "," + str( "iniciada") #####validacion = clientes.configSocket("log expedidora") #####clientes.logExpedidora(validacion,"log expedidora",mensaje) self.error = 3 self.pantalla = 1 else: boleto_previo = False else: if botones.leerMasa(arduino) == True: if self.f1 == False: print("------Preguntar Botones --------") self.f1 = botones.leerBotonesEntrada(arduino) if self.f1 == True and self.f2 == False and self.f3 == False and self.f4 == False and self.f5 == False: if boleto_previo == False: noBolF = folio.saberFolio() idImpresora = folio.saberIdImpresora() print("ID IMPRESORA EXPEDIDORA: {}".format( idImpresora)) folioBD = noBolF fechaIn = fechaUTC.fechaConFormato() horaEnt = fechaUTC.tiempoConFormato() fechatimestamp = str(fechaIn) + " " + str(horaEnt) #self.insertarBoleto(plaza,terminalEnt,noBolF,fechatimestamp,'DEFAULT-ESCOM') ''' Operacion 1.- Registro de boleto''' #mensaje = (idBoleto,idExpedidora,FechaExpedicion, idestado, idtipodescuento, idSalida) mensaje = noBolF + "," + str( terminalEnt ) + "," + fechatimestamp + "," + str( 1) + "," + str(1) + "," + str(0) #####validacion = clientes.configSocket("registro boleto") validacion = 1 if validacion == "error": self.f1 = self.f2 = self.f3 = self.f4 = self.f5 = False self.pantalla = 1 else: #####valor = clientes.enviarMensaje(validacion,mensaje) valor = 1 if valor == "error": self.f1 = self.f2 = self.f3 = self.f4 = self.f5 = False self.pantalla = 1 else: self.insertarBoleto( plaza, terminalEnt, noBolF, fechatimestamp, 'DEFAULT-ESCOM') folio.escribirArchivoFolios(noBolF) self.inicioImpresion() respuesta = imprimir.imprimirQR2( idImpresora, noBolF, idImpresora, str(fechaIn), str(horaEnt)) #respuesta = imprimir.imprimirQR2(noBolF,str(terminalEnt),str(fechaIn),str(horaEnt)) self.finImpresion() if respuesta == "No esta conectada la impresora": mensaje = str(terminalEnt) + "," + str( 4) + "," + str("iniciada") #####validacion = clientes.configSocket("log expedidora") #####clientes.logExpedidora(validacion,"log expedidora",mensaje) self.error = 3 self.pantalla = 1 else: papel_cont = self.conteoBoletos() if papel_cont == limite_impresiones: #MANDAR MENSAJE AL SERVIDOR DE PAPEL CASI AGOTADO mensaje = str( terminalEnt) + "," + str( 3) + "," + str("iniciada") #####validacion = clientes.configSocket("log expedidora") #####clientes.logExpedidora(validacion,"log expedidora",mensaje) papel_cont = papel_cont + 1 self.aumentoConteo(papel_cont) mixer.init() mixer.music.load( '/home/pi/Documents/eum/app/expedidora/sonidos/mensaje1.mp3' ) mixer.music.play() boleto_previo = True self.f2 = True if self.f2 == True and self.f3 == False and self.f4 == False and self.f5 == False: if self.f6 == False: time.sleep(0.5) botones.abrir(arduino) self.f6 = True self.f3 = botones.leerBobina2Subida(arduino) if self.f3 == True: self.f2 = False if self.f2 == False and self.f3 == True and self.f5 == False: #ser.write(b'O') self.f4 = botones.abrirBarrera() if self.f4 == True: self.f3 = False if self.f2 == False and self.f3 == False and self.f4 == True: self.f5 = botones.CerrarBarrera() if self.f5 == True: self.f4 = False if self.f2 == False and self.f3 == False and self.f4 == False and self.f5 == True: self.f1 = self.f2 = self.f3 = self.f4 = self.f5 = self.f6 = False elif self.error == 2: respuesta = imprimir.imprimirHeader() if respuesta == "ack": boleto_previo = False self.error = 0 elif self.error == 3: respuesta = imprimir.instanciarImpresora() if respuesta != "No esta conectada la impresora": self.error = 0 QtCore.QTimer.singleShot(200, self.leerBotones)
def leerBotones(self): global boleto_previo, espera, limite_impresiones, red, green, blue, rrr, cont if (red < 50): rrr = 1 if (red > 150): rrr = 0 if (rrr == 0): red = red - 20 green = green - 20 blue = blue - 20 else: red = red + 20 green = green + 20 blue = blue + 20 self.lboleto.setStyleSheet("color:rgb(" + str(red) + ", " + str(green) + ", " + str(blue) + ");background-color:transparent;") #re.setReset() self.mostrarFechayHora() if self.pantalla == 0: #self.stackedWidget.setCurrentIndex(0) pass elif self.pantalla == 1: if espera == 0: mixer.init() mixer.music.load( '/home/pi/Documents/eum/app/expedidora/sonidos/mensaje2.mp3' ) mixer.music.play() self.stackedWidget.setCurrentIndex(0) espera = espera + 1 if espera == 25: espera = 0 self.pantalla = 0 else: self.stackedWidget.setCurrentIndex(0) espera = espera + 1 if espera == 25: espera = 0 self.pantalla = 0 if self.inicio == 0: self.error = 0 self.inicio = 1 #self.checarFecha() self.limpiarBD() self.inicioImpresion() respuesta = imprimir.footer() self.finImpresion() if respuesta == "No esta conectada la impresora": mensaje = str(noEquipo) + "," + str(4) + "," + str("iniciada") #####validacion = clientes.configSocket("log expedidora") #####clientes.logExpedidora(validacion,"log expedidora",mensaje) self.error = 3 self.pantalla = 1 if botones.leerAyuda() == 1: self.pantalla = 2 if self.error == 0: if boleto_previo == True and self.f1 == False: #self.inicioImpresion() #respuesta = imprimir.imprimirHeader() #self.finImpresion() respuesta = 1 if respuesta == "No esta conectada la impresora": mensaje = str(noEquipo) + "," + str(4) + "," + str( "iniciada") #####validacion = clientes.configSocket("log expedidora") #####clientes.logExpedidora(validacion,"log expedidora",mensaje) self.error = 3 self.pantalla = 1 else: boleto_previo = False else: if botones.leerMasa() == 1: if self.f1 == False: print("------Preguntar Botones --------") self.f1 = botones.leerBotonesEntrada() if self.f1 == True and self.f2 == False and self.f3 == False and self.f4 == False and self.f5 == False: if boleto_previo == False: noBolF = folio.saberFolio() folioBD = noBolF fechaIn = fechaUTC.fechaConFormato() horaEnt = fechaUTC.tiempoConFormato() fechatimestamp = str(fechaIn) + " " + str(horaEnt) #self.insertarBoleto(plaza,noEquipo,noBolF,fechatimestamp,'DEFAULT-ESCOM') ''' Operacion 1.- Registro de boleto''' #mensaje = (idBoleto,idExpedidora,FechaExpedicion, idestado, idtipodescuento, idSalida) mensaje = noBolF + "," + str( noEquipo) + "," + fechatimestamp + "," + str( 1) + "," + str(1) + "," + str(0) #####validacion = clientes.configSocket("registro boleto") validacion = 1 if validacion == "error": self.f1 = self.f2 = self.f3 = self.f4 = self.f5 = False self.pantalla = 1 else: #####valor = clientes.enviarMensaje(validacion,mensaje) valor = 1 if valor == "error": self.f1 = self.f2 = self.f3 = self.f4 = self.f5 = False self.pantalla = 1 else: self.insertarBoleto( plaza, noEquipo, noBolF, fechatimestamp, 'DEFAULT-ESCOM') folio.escribirArchivoFolios(noBolF) self.inicioImpresion() #respuesta = imprimir.imprimirHeader() respuesta = imprimir.imprimirQR2( noBolF, str(noEquipo), str(fechaIn), str(horaEnt)) self.finImpresion() if respuesta == "No esta conectada la impresora": mensaje = str(noEquipo) + "," + str( 4) + "," + str("iniciada") #####validacion = clientes.configSocket("log expedidora") #####clientes.logExpedidora(validacion,"log expedidora",mensaje) self.error = 3 self.pantalla = 1 else: if (respuesta == "ack"): papel_cont = self.conteoBoletos() if papel_cont == limite_impresiones: #MANDAR MENSAJE AL SERVIDOR DE PAPEL CASI AGOTADO mensaje = str( noEquipo) + "," + str( 3) + "," + str( "iniciada") #####validacion = clientes.configSocket("log expedidora") #####clientes.logExpedidora(validacion,"log expedidora",mensaje) papel_cont = papel_cont + 1 self.aumentoConteo(papel_cont) mixer.init() mixer.music.load( '/home/pi/Documents/eum/app/expedidora/sonidos/mensaje1.mp3' ) mixer.music.play() boleto_previo = True self.f2 = True else: print("PRESIONE NUEVAMENTE") if self.f2 == True and self.f3 == False and self.f4 == False and self.f5 == False: if self.f6 == False: time.sleep(0.5) botones.abrir() print("ABRIENDO....................") cont = cont + 1 print("////////Boletos: ", cont) self.f6 = True self.f3 = botones.leerBobina2Subida() #self.f3 = True; if self.f3 == True: self.f2 = False if self.f2 == False and self.f3 == True and self.f5 == False: self.f4 = botones.abrirBarrera() if self.f4 == True: self.f3 = False if self.f2 == False and self.f3 == False and self.f4 == True: self.f5 = botones.CerrarBarrera() if self.f5 == True: self.f4 = False if self.f2 == False and self.f3 == False and self.f4 == False and self.f5 == True: self.f1 = self.f2 = self.f3 = self.f4 = self.f5 = self.f6 = False elif self.error == 2: #respuesta = imprimir.imprimirHeader() if respuesta == "ack": boleto_previo = False self.error = 0 elif self.error == 3: respuesta = imprimir.instanciarImpresora() if respuesta != "No esta conectada la impresora": self.error = 0 QtCore.QTimer.singleShot(100, self.leerBotones)