Beispiel #1
0
def main ():
    
    
    puerto = PuertoSerie("Puerto Serie")
    print ("Imprimiendo Arduino", PuertoSerie.ARDUINO_MICRO)
    puerto.modificarConfiguracion(dispositivo = PuertoSerie.ARDUINO_MICRO)
    #puerto.start()
    puerto.abrirPuerto()
    
    comunicacion = Comunicacion ()
    variablesMicro = VariablesMicro()
    
    # Se crea y se configura el dispositivo
    monedero1 = Monedero("Monedero 1", "MON-001", "En cajero")
    monedero1.establecerPuerto (puerto)
    monedero1.establecerComunicacion (comunicacion)

    
    time.sleep(4)
    

    
    
    time.sleep(4)
    
    puerto.cerrarPuerto()
    puerto.detenerHilo()
Beispiel #2
0
def main ():
    
    
    puerto = PuertoSerie("Puerto Serie")
    print ("Imprimiendo Arduino", PuertoSerie.ARDUINO_MICRO)
    puerto.modificarConfiguracion(dispositivo = PuertoSerie.ARDUINO_MICRO)
    #puerto.start()
    puerto.abrirPuerto()
    
    comunicacion = Comunicacion ()
    
    
    # Se crea y se configura el dispositivo
    billeteroJCM = BilleteroJCM("BilleteroJCM 1", "BIL-006", "billeteroJCM")
    billeteroJCM.establecerPuerto (puerto)
    billeteroJCM.establecerComunicacion (comunicacion)
    
    
    time.sleep(0.5)



    
    puerto.cerrarPuerto()
    puerto.detenerHilo()
Beispiel #3
0
def main():

    puerto = PuertoSerie("Puerto Serie")
    print("Imprimiendo Arduino", PuertoSerie.ARDUINO_MICRO)
    puerto.modificarConfiguracion(dispositivo=PuertoSerie.ARDUINO_MICRO)
    #puerto.start()
    puerto.abrirPuerto()

    comunicacion = Comunicacion()
    variablesMicro = VariablesMicro()

    # Se crea y se configura el dispositivo
    hopper1 = Hopper("Hopper 1",
                     "HOP-003",
                     "para monedas de 5 pesos",
                     direccion=3,
                     valorDeMoneda=5)
    hopper1.establecerPuerto(puerto)
    hopper1.establecerComunicacion(comunicacion)

    #hopper1.establecerVariablesMicro(variablesMicro)

    time.sleep(4)

    #hopper1.inicializar()

    #print ("Imprimiendo el dispositivo >>", hopper1)

    #print (hopper1.variables[2], hopper1.variables[2].obtenerValor())

    #time.sleep(4)

    hopper1.ejecutarInstruccion(Hopper.HOPPER_POLL)

    time.sleep(4)

    puerto.cerrarPuerto()
    puerto.detenerHilo()
Beispiel #4
0
class TestSum(unittest.TestCase):
    global Mei
    ser = PuertoSerie("PuertoSerie", dispositivo=PuertoSerie.ARDUINO_MICRO)
    ser.abrirPuerto()
    Mei = Mei(ser)

    def test_valores_en_tubos_diferentes(self):
        """
        Comprobar que los valores en los tubos no cambian
        """
        #for i in range(0, 10):
        cassete_antes = Mei.estatusTubos()
        time.sleep(1)

        self.assertEqual(cassete_antes, [0, 5, 2, 3])

    def test_dispensar_un_peso(self):
        """
        Test that it can sum a list of integers
        """
        #for i in range(5):
        #Mei = Mei(ser)
        Mei.inicializar()
        Mei.disable_coin()
        cassete_antes = Mei.estatusTubos()
        for i in range(0, 5):
            print("TEST:", i)
            Mei.darCambio(3)
            Mei.poll()
            #time.sleep(1)
        time.sleep(1)
        cassete_despues = Mei.estatusTubos()

        self.assertEqual(cassete_antes[0] - 5, cassete_despues[0])

    '''def test_cambioNoCompletado(self):
Beispiel #5
0
def main ():
    
    
    puerto = PuertoSerie("Puerto Serie")
    print ("Imprimiendo Arduino", PuertoSerie.ARDUINO_UNO)
    puerto.modificarConfiguracion(dispositivo = PuertoSerie.ARDUINO_UNO)
    puerto.modificarConfiguracion(baudrate = "115200")
    #puerto.start()
    puerto.abrirPuerto()
    while(1):
        time.sleep(.5)
        print(puerto.leer_2(10))
        
    """
    comunicacion = Comunicacion ()
    variablesMicro = VariablesMicro()
    
    # Se crea y se configura el dispositivo
    monedero1 = Monedero("Monedero 1", "MON-001", "En cajero")
    monedero1.establecerPuerto (puerto)
    monedero1.establecerComunicacion (comunicacion)

    """
    time.sleep(4)
    

    
    
    time.sleep(4)
    
    puerto.cerrarPuerto()
    puerto.detenerHilo()
Beispiel #6
0
    def __init__ (self):
        print ("Inicio")

        self.root = Tk()
        
        #self.root.option_readfile (ruta + "/" + "../../Opciones/optionDB")
        self.root.title ('Software de monitoreo')

        
        #self.root = tkinter.Tk()
        """
        img = Image.open ("../Imagenes/Icono-01.png")
        imgicon = ImageTk.PhotoImage(img)
        self.root.call('wm','iconphoto',self.root._w,imgicon)
        """
        
        
        self.protocoloMDB = ProtocoloMDB ("protocolo MDB")
        self.protocoloMDBInterfaz = ProtocoloMDBInterfaz(self.protocoloMDB)
        
        self.protocoloCCTALK = ProtocoloCCTALK ("protocolo CCTALK")
        self.protocoloCCTALKInterfaz = ProtocoloCCTALKInterfaz(self.protocoloCCTALK)

        self.protocoloIPRO = IPRO ("protocolo IPRO")
        self.protocoloIPROInterfaz = ProtocoloIPROInterfaz(self.protocoloIPRO)
        
        
        self.comunicacion = Comunicacion ()
        
        
        self.listadePuertos = []
        
        self.listadePuertos.append(PuertoSerie("Puerto Serie"))
        self.puertoInterfazGrafica = PuertoInterfazGrafica (self.listadePuertos[0])
        self.listadePuertos[0].establecerComunicacion (self.comunicacion)
        self.listadePuertos[0].establecerProtocoloDeComunicacion (self.protocoloMDB)
        self.listadePuertos[0].establecerProtocoloDeComunicacion_02 (self.protocoloCCTALK)
        self.listadePuertos[0].establecerProtocoloDeComunicacion_03 (self.protocoloIPRO)
        
        #self.protocoloCCTALK.establecerPuerto(self.listadePuertos[0])
        self.listadePuertos[0].start()
        
        self.listadePuertos.append(PuertoSerie("Puerto Serie2"))
        self.puertoInterfazGrafica = PuertoInterfazGrafica (self.listadePuertos[1])
        self.listadePuertos[1].start()

        self.interfaz = Interfaz (self.root, self)
        self.listadePuertos[0].establecerMensajero1 (self.interfaz.escribirMensajero1)
        self.listadePuertos[0].establecerMensajero2 (self.interfaz.escribirMensajero2)
        
        self.listadePuertos[1].establecerMensajero1 (self.interfaz.escribirMensajero1)
        self.listadePuertos[1].establecerMensajero2 (self.interfaz.escribirMensajero2)
        



        
        

        #self.__puerto = self.PUERTO_ETHERNET
        #self.__protocolo = ProtocoloMDB ()
        #self.puertoSerie.establecerProtocolo (self.__protocolo)


        
        self.variableMicro = VariablesMicro()
        self.actualizarVariables = ActualizarVariables (nombre = "Actualizar Variables", objeto =self.variableMicro, controlador = self)
        self.actualizarVariables.start()
        

        self.interfaz.mainloop()
Beispiel #7
0
import unittest
import pytest
import os, sys, time
from Dispensador import Dispensador
from Mei import Mei

raiz = os.path.join(os.path.dirname(os.path.abspath(__file__)), "..")
sys.path.append(raiz)

from PuertoSerie import PuertoSerie

ser = PuertoSerie("PuertoSerie", dispositivo=PuertoSerie.ARDUINO_MICRO)
ser.abrirPuerto()
Mei = Mei(ser)


@pytest.mark.repeat(0)
def test_vuelve_intentar_dar_cambio():
    """
        Test that it can sum a list of integers
        """
    #for i in range(5):
    #Mei = Mei(ser)
    cassete_antes = Mei.estatusTubos()

    cambio_a_dispensar = 3

    cambio_dispensado, intentos = Mei.dispensarCambio(cambio_a_dispensar)

    assert cambio_dispensado == cambio_a_dispensar
    def levantarPuertos(self):
        # Se cierran las conexiones anteriores

        # Se abren nuevas conexiones

        if self.TipoDeControladora == Controladora.CONTROLADORA_PARA_EXPEDIDORA_VALIDADORA:

            if self.dispositivos == Controladora.TARJETA_DE_PULSO:
                # puede funcionar con tarjeta madre y raspberry
                # se abre un puerto de comunicación para manejar la comunicación RS-232
                # se utiliza la otra entrada por medio del teclado modificado

                self.listaDePuertos.append(PuertoSerie("Puerto Serie"))
                self.listaDePuertos[0].modificarConfiguracion(
                    dispositivo=PuertoSerie.CABLE_USB)
                self.listaDePuertos[0].abrirPuerto()

                tarea1 = threading.Thread(target=self.keyloggerIniciar)
                tarea1.start()

                self.aux = 0
                tarea2 = threading.Thread(target=self.keyloggerleerArchivo)
                tarea2.start()

                #TODO:Agregar funcion para modificar la salida de la tarjeta de pulso, admite una sola salida

                self.listaDeVariables.Y[3].establecerFuncion(self.funcion_1)

            if self.dispositivos == Controladora.TARJETA_DE_INTERFAZ_BLANCA:
                # unicamente para raspberry
                # se establecen los pines de comunicación GPIO

                # de forma aficional se utilizan los pines de comunicacion RX, TX

                if version != "raspberrypi":
                    self.sistemaFuncionandoCorrectamente = False
                    raise Exception(
                        'Solamente puede funcionar la tarjeta de interfaz blanca en Raspberry'
                    )

                if self.sistemaFuncionandoCorrectamente:

                    GPIO.setmode(GPIO.BCM)
                    GPIO.setwarnings(False)

                    self.DI_00 = 27
                    self.DI_01 = 22
                    self.DI_02 = 10

                    self.DO_03 = 9

                    GPIO.setup(self.DI_00, GPIO.IN)
                    GPIO.setup(self.DI_01, GPIO.IN)
                    GPIO.setup(self.DI_02, GPIO.IN)

                    GPIO.setup(self.DO_03, GPIO.OUT)

                    for i in range(4):
                        self.raspberry_X.append(0)
                        self.raspberry_Y.append(0)

                    self.listaDeVariables.Y[3].establecerFuncion(
                        self.funcion_2)

            if self.dispositivos == Controladora.TARJETA_DE_INTERFAZ_NEGRA:
                # unicamente para raspberry
                # se establecen los pines de comunicación GPIO

                # de forma aficional se utilizan los pines de comunicacion RX, TX

                if version != "raspberrypi":
                    self.sistemaFuncionandoCorrectamente = False
                    raise Exception(
                        'Solamente puede funcionar la tarjeta de interfaz blanca en Raspberry'
                    )

                if self.sistemaFuncionandoCorrectamente:

                    GPIO.setmode(GPIO.BCM)
                    GPIO.setwarnings(False)

                    self.DI_03 = 27
                    self.DI_01 = 22
                    self.DI_02 = 10

                    self.DO_03 = 9

                    GPIO.setup(self.DI_03, GPIO.IN)
                    GPIO.setup(self.DI_01, GPIO.IN)
                    GPIO.setup(self.DI_02, GPIO.IN)

                    GPIO.setup(self.DO_03, GPIO.OUT)

                    for i in range(4):
                        self.raspberry_X.append(0)
                        self.raspberry_Y.append(0)

                    self.listaDeVariables.Y[3].establecerFuncion(
                        self.funcion_4)

            if self.dispositivos == Controladora.TARJETA_DE_INTERFAZ_ARDUINO:
                # Se abre un solo puerto de comunicación

                self.listaDePuertos.append(PuertoSerie("Puerto Serie"))

                self.listaDePuertos[0].modificarConfiguracion(
                    dispositivo=PuertoSerie.ARDUINO_MICRO)

                self.contadorDeInstruccion_Arduino = 0
                self.lock = threading.Lock()
                #puerto.start()
                #print("", end="\t")
                self.listaDePuertos[0].abrirPuerto()

                self.listaDeVariables.Y[3].establecerFuncion(self.funcion_3)
Beispiel #9
0
def main():

    puerto = PuertoSerie("Puerto Serie")
    print("Imprimiendo Arduino", PuertoSerie.ARDUINO_MICRO)
    puerto.modificarConfiguracion(dispositivo=PuertoSerie.ARDUINO_MICRO)
    #puerto.start()
    puerto.abrirPuerto()

    comunicacion = Comunicacion()
    variablesMicro = VariablesMicro()

    # Se crea y se configura el dispositivo
    validador = Validador("Validador 1", "VAL-001", "validador", direccion=2)
    validador.establecerPuerto(puerto)
    validador.establecerComunicacion(comunicacion)

    time.sleep(0.5)

    validador.ejecutarInstruccion(Validador.REQUEST_STATUS)
    validador.desencolarInstruccion()

    time.sleep(0.5)

    validador.ejecutarInstruccion(Validador.RESET_DEVICE)
    validador.desencolarInstruccion()

    time.sleep(0.5)

    validador.ejecutarInstruccion(Validador.SIMPLE_POLL)
    validador.desencolarInstruccion()

    time.sleep(0.5)

    validador.ejecutarInstruccion(Validador.REQUEST_MANUFACTURER_ID)
    validador.desencolarInstruccion()

    time.sleep(0.5)

    validador.ejecutarInstruccion(Validador.REQUEST_PRODUCT_CODE)
    validador.desencolarInstruccion()

    time.sleep(0.5)

    validador.ejecutarInstruccion(Validador.REQUEST_SERIAL_NUMBER)
    validador.desencolarInstruccion()

    time.sleep(1)

    validador.ejecutarInstruccion(Validador.MODIFY_INHIBIT_STATUS)
    validador.desencolarInstruccion()

    time.sleep(1)

    for i in range(0, 15):

        validador.ejecutarInstruccion(Validador.REQUEST_COIN_ID, i)
        validador.desencolarInstruccion()
        print("Numero ->", i, end=" ")
        time.sleep(1)

    time.sleep(100)

    validador.ejecutarInstruccion(Validador.MODIFY_SORTER_PATHS, 1, 4, 3, 2, 1)
    validador.desencolarInstruccion()

    validador.ejecutarInstruccion(Validador.MODIFY_SORTER_PATHS, 2, 4, 3, 2, 1)
    validador.desencolarInstruccion()

    validador.ejecutarInstruccion(Validador.MODIFY_SORTER_PATHS, 3, 4, 3, 2, 1)
    validador.desencolarInstruccion()

    validador.ejecutarInstruccion(Validador.MODIFY_SORTER_PATHS, 4, 4, 3, 2, 1)
    validador.desencolarInstruccion()

    validador.ejecutarInstruccion(Validador.MODIFY_SORTER_PATHS, 5, 4, 3, 2, 1)
    validador.desencolarInstruccion()

    validador.ejecutarInstruccion(Validador.MODIFY_SORTER_PATHS, 6, 4, 3, 2, 1)
    validador.desencolarInstruccion()

    validador.ejecutarInstruccion(Validador.MODIFY_SORTER_PATHS, 7, 4, 3, 2, 1)
    validador.desencolarInstruccion()

    validador.ejecutarInstruccion(Validador.MODIFY_SORTER_PATHS, 8, 4, 3, 2, 1)
    validador.desencolarInstruccion()

    validador.ejecutarInstruccion(Validador.MODIFY_SORTER_PATHS, 9, 4, 3, 2, 1)
    validador.desencolarInstruccion()

    validador.ejecutarInstruccion(Validador.MODIFY_SORTER_PATHS, 10, 4, 3, 2,
                                  1)
    validador.desencolarInstruccion()

    validador.ejecutarInstruccion(Validador.MODIFY_SORTER_PATHS, 11, 4, 3, 2,
                                  1)
    validador.desencolarInstruccion()

    validador.ejecutarInstruccion(Validador.MODIFY_SORTER_PATHS, 12, 4, 3, 2,
                                  1)
    validador.desencolarInstruccion()

    validador.ejecutarInstruccion(Validador.MODIFY_SORTER_PATHS, 13, 4, 3, 2,
                                  1)
    validador.desencolarInstruccion()

    validador.ejecutarInstruccion(Validador.MODIFY_SORTER_PATHS, 14, 4, 3, 2,
                                  1)
    validador.desencolarInstruccion()

    validador.ejecutarInstruccion(Validador.MODIFY_SORTER_PATHS, 15, 5)
    validador.desencolarInstruccion()

    time.sleep(1)

    print("*********")

    validador.ejecutarInstruccion(Validador.MODIFY_MASTER_INHIBIT_STATUS, 1)
    validador.desencolarInstruccion()

    time.sleep(1)

    validador.ejecutarInstruccion(Validador.ENTREGAR_MONEDAS, 2)
    validador.desencolarInstruccion()

    while (True):
        validador.ejecutarInstruccion(
            Validador.READ_BUFFERED_CREDIT_OR_ERROR_CODES)
        validador.desencolarInstruccion()
        time.sleep(0.1)

    time.sleep(2)

    #validador.ejecutarInstruccion (Validador.ENTREGAR_MONEDAS, 2)
    #validador.desencolarInstruccion()
    """

    

    validador.ejecutarInstruccion (Validador.REQUEST_COIN_ID, 1)
    validador.desencolarInstruccion()
    validador.ejecutarInstruccion (Validador.REQUEST_COIN_ID, 2)
    validador.desencolarInstruccion()
    validador.ejecutarInstruccion (Validador.REQUEST_COIN_ID, 3)
    validador.desencolarInstruccion()
    validador.ejecutarInstruccion (Validador.REQUEST_COIN_ID, 4)
    validador.desencolarInstruccion()
    validador.ejecutarInstruccion (Validador.REQUEST_COIN_ID, 5)
    validador.desencolarInstruccion()
    validador.ejecutarInstruccion (Validador.REQUEST_COIN_ID, 6)
    validador.desencolarInstruccion()
    validador.ejecutarInstruccion (Validador.REQUEST_COIN_ID, 7)
    validador.desencolarInstruccion()
    validador.ejecutarInstruccion (Validador.REQUEST_COIN_ID, 8)
    validador.desencolarInstruccion()
    validador.ejecutarInstruccion (Validador.REQUEST_COIN_ID, 9)
    validador.desencolarInstruccion()
    validador.ejecutarInstruccion (Validador.REQUEST_COIN_ID, 10)
    validador.desencolarInstruccion()
    validador.ejecutarInstruccion (Validador.REQUEST_COIN_ID, 11)
    validador.desencolarInstruccion()
    validador.ejecutarInstruccion (Validador.REQUEST_COIN_ID, 12)
    validador.desencolarInstruccion()
    validador.ejecutarInstruccion (Validador.REQUEST_COIN_ID, 13)
    validador.desencolarInstruccion()
    validador.ejecutarInstruccion (Validador.REQUEST_COIN_ID, 14)
    validador.desencolarInstruccion()
    validador.ejecutarInstruccion (Validador.REQUEST_COIN_ID, 15)
    validador.desencolarInstruccion()
    validador.ejecutarInstruccion (Validador.REQUEST_COIN_ID, 16)
    validador.desencolarInstruccion()



    
    #validador.ejecutarInstruccion (Validador.TEACH_MODE_CONTROL, 15)
    #validador.desencolarInstruccion()
    
    
    while (True) :

        validador.ejecutarInstruccion (Validador.REQUEST_TEACH_STATUS)
        validador.desencolarInstruccion()

        time.sleep(1)
    """

    puerto.cerrarPuerto()
    puerto.detenerHilo()