示例#1
0
def calibrar_temp(dato):
    global temp_set
    #se reciben los parametros para calibracion
    setting = [dato['temp'], dato['itemp'], dato['medx']]

    #ORDEN DE: od_set:
    #ph_set = [od1_set, iod1_set, od2_set, iod2_set]
    try:
        if setting[2] == 'med1':
            temp_set[0] = float(dato['temp'])
            temp_set[1] = float(dato['itemp'])

        elif setting[2] == 'med2':
            temp_set[2] = float(dato['temp'])
            temp_set[3] = float(dato['itemp'])

    except:
        temp_set = [0, 0, 0, 0]

    if (temp_set[3] -
            temp_set[1]) != 0 and temp_set[0] != 0 and temp_set[1] != 0:
        m_temp = float(
            format((temp_set[2] - temp_set[0]) / (temp_set[3] - temp_set[1]),
                   '.2f'))
        n_temp = float(format(temp_set[0] - temp_set[1] * (m_temp), '.2f'))

    else:
        m_temp = 0
        n_temp = 0

    if temp_set[0] != 0 and temp_set[1] != 0 and temp_set[2] != 0 and temp_set[
            3] != 0 and m_temp != 0 and n_temp != 0:
        try:
            coef_temp_set = [m_temp, n_temp]
            f = open(DIR + "coef_temp_set.txt", "w")
            f.write(str(coef_temp_set) + '\n')
            f.close()

            communication.calibrate(2, coef_temp_set)

        except:
            pass
            #logging.info("no se pudo guardar en coef_ph_set en coef_od_set.txt")

    #Con cada cambio en los parametros, se vuelven a emitir a todos los clientes.
    socketio.emit('temp_calibrar', {'set': temp_set},
                  namespace='/biocl',
                  broadcast=True)

    #guardo set_data en un archivo para depurar
    try:
        temp_set_txt = str(temp_set)
        f = open(DIR + "temp_set.txt", "w")
        f.write(temp_set_txt + '\n')
        f.close()

    except:
        pass
示例#2
0
def calibrar_ph(dato):
    global ph_set
    #se reciben los parametros para calibracion
    setting = [dato['ph'], dato['iph'], dato['medx']]

    #ORDEN DE: ph_set:
    #ph_set = [ph1_set, iph1_set, ph2_set, iph2_set]
    try:
        if setting[2] == 'med1':
            ph_set[0] = float(dato['ph'])  #y1
            ph_set[1] = float(dato['iph'])  #x1

        elif setting[2] == 'med2':
            ph_set[2] = float(dato['ph'])  #y2
            ph_set[3] = float(dato['iph'])  #x2

    except:
        ph_set = [0, 0, 0, 0]

    if (ph_set[3] - ph_set[1]) != 0 and ph_set[0] != 0 and ph_set[1] != 0:
        m_ph = float(
            format((ph_set[2] - ph_set[0]) / (ph_set[3] - ph_set[1]), '.2f'))
        n_ph = float(format(ph_set[0] - ph_set[1] * (m_ph), '.2f'))

    else:
        m_ph = 0
        n_ph = 0

    if ph_set[0] != 0 and ph_set[1] != 0 and ph_set[2] != 0 and ph_set[
            3] != 0 and m_ph != 0 and n_ph != 0:
        try:
            coef_ph_set = [m_ph, n_ph]
            f = open(DIR + "coef_ph_set.txt", "w")
            f.write(str(coef_ph_set) + '\n')
            f.close()
            #aca va el codigo que formatea el comando de calibracion.
            communication.calibrate(0, coef_ph_set)

        except:
            pass
            #logging.info("no se pudo guardar en coef_ph_set.txt. Tampoco actualizar los coef_ph_set al uc.")

    #Con cada cambio en los parametros, se vuelven a emitir a todos los clientes.
    socketio.emit('ph_calibrar', {'set': ph_set},
                  namespace='/biocl',
                  broadcast=True)

    #guardo set_data en un archivo para depurar
    try:
        ph_set_txt = str(ph_set)
        f = open(DIR + "ph_set.txt", "w")
        f.write(ph_set_txt + '\n')
        f.close()

    except:
        pass
示例#3
0
def calibrar_od(dato):
    global od_set
    #se reciben los parametros para calibración
    setting = [ dato['od'], dato['iod'], dato['medx'] ]

    #ORDEN DE: od_set:
    #ph_set = [od1_set, iod1_set, od2_set, iod2_set]
    try:
        if setting[2] == 'med1':
            od_set[0] = float(dato['od'])
            od_set[1] = float(dato['iod'])

        elif setting[2] == 'med2':
            od_set[2] = float(dato['od'])
            od_set[3] = float(dato['iod'])

    except:
        od_set = [0,0,0,0]


    if (od_set[3] - od_set[1])!=0 and od_set[1]!=0:
        m_od = float(format(( od_set[2] - od_set[0] )/( od_set[3] - od_set[1] ), '.2f'))
        n_od = float(format(  od_set[0] - od_set[1]*(m_od), '.2f'))

    else:
        m_od = 0
        n_od = 0

    if od_set[1]!=0 and od_set[3]!=0 and m_od!=0 and n_od!=0:
        try:
            coef_od_set = [m_od, n_od]
            f = open(DIR + "coef_od_set.txt","w")
            f.write(str(coef_od_set) + time.strftime("__Hora__%H_%M_%S__Fecha__%d-%m-%y") + '\n')
            f.close()

            communication.calibrate(1,coef_od_set)


        except:
            pass
            #logging.info("no se pudo guardar en coef_ph_set en coef_od_set.txt")


    #Con cada cambio en los parametros, se vuelven a emitir a todos los clientes.
    socketio.emit('od_calibrar', {'set': od_set}, namespace='/biocl', broadcast=True)

    #guardo set_data en un archivo para depurar
    try:
        od_set_txt = str(od_set)
        f = open(DIR + "od_set.txt","w")
        f.write(od_set_txt + '\n')
        f.close()

    except:
        pass
示例#4
0
def calibrar_ph(dato):
    global ph_set, calibrar_ph
    #se reciben los parametros para calibración
    setting = [ dato['ph'], dato['iph'], dato['medx'] ]

    #ORDEN DE: ph_set:
    #ph_set = [ph1_set, iph1_set, ph2_set, iph2_set]
    try:
        if setting[2] == 'med1':
            ph_set[0] = float(dato['ph'])   #y1
            ph_set[1] = float(dato['iph'])  #x1

        elif setting[2] == 'med2':
            ph_set[2] = float(dato['ph'])   #y2
            ph_set[3] = float(dato['iph'])  #x2

    except:
        ph_set = [0,0,0,0]

    if (ph_set[3] - ph_set[1])!=0 and ph_set[0]!=0 and ph_set[1]!=0:
        m_ph = float(format(( ph_set[2] - ph_set[0] )/( ph_set[3] - ph_set[1] ), '.2f'))
        n_ph = float(format(  ph_set[0] - ph_set[1]*(m_ph), '.2f'))

    else:
        m_ph = 0
        n_ph = 0

    if ph_set[0]!=0 and ph_set[1]!=0 and ph_set[2]!=0 and ph_set[3]!=0 and m_ph!=0 and n_ph!=0:
        try:
            coef_ph_set = [m_ph, n_ph]
            f = open(DIR + "/ph_settings.txt","w")
            f.write(str(ph_set) + "__" + str(coef_ph_set) + "__" + calibrar_ph + " " + time.strftime("__Hora__%H_%M_%S__Fecha__%d-%m-%y") +'\n')
            f.close()

            #acá va el codigo que formatea el comando de calibración.
            calibrar_ph = communication.calibrate(0,coef_ph_set)
            #Publisher set_data commands al ZMQ suscriptor de myserial.py
            port = "5556"
            context = zmq.Context()
            socket = context.socket(zmq.PUB)
            socket.bind("tcp://*:%s" % port)
            #Publisher set_data commands
            socket.send_string("%s %s" % (topic, calibrar_ph))


        except:
            pass
            #logging.info("no se pudo guardar en coef_ph_set.txt. Tampoco actualizar los coef_ph_set al uc.")

    #Con cada cambio en los parametros, se vuelven a emitir a todos los clientes.
    socketio.emit('ph_calibrar', {'set': ph_set}, namespace='/biocl', broadcast=True)

    #guardo ph_set en un archivo para depurar
    try:
        ph_set_txt = str(ph_set)
        f = open(DIR + "/ph_set.txt","w")
        f.write(ph_set_txt + '\n')
        f.close()

    except:
        pass
示例#5
0
def calibrar_od(dato):
    global od_set
    #se reciben los parametros para calibración
    setting = [ dato['od'], dato['iod'], dato['medx'] ]

    #ORDEN DE: od_set:
    #ph_set = [od1_set, iod1_set, od2_set, iod2_set]
    try:
        if setting[2] == 'med1':
            od_set[0] = float(dato['od'])
            od_set[1] = float(dato['iod'])

        elif setting[2] == 'med2':
            od_set[2] = float(dato['od'])
            od_set[3] = float(dato['iod'])

    except:
        od_set = [0,0,0,0]


    if (od_set[3] - od_set[1])!=0 and od_set[1]!=0:
        m_od = float(format(( od_set[2] - od_set[0] )/( od_set[3] - od_set[1] ), '.2f'))
        n_od = float(format(  od_set[0] - od_set[1]*(m_od), '.2f'))

    else:
        m_od = 0
        n_od = 0

    if od_set[1]!=0 and od_set[3]!=0 and m_od!=0 and n_od!=0:
        try:
            coef_od_set = [m_od, n_od]
            f = open(DIR + "/coef_od_set.txt","w")
            f.write(str(coef_od_set) + time.strftime("__Hora__%H_%M_%S__Fecha__%d-%m-%y") + '\n')
            f.close()

            #acá va el codigo que formatea el comando de calibración.
            calibrar_od = communication.calibrate(1,coef_od_set)
            #Publisher set_data commands al ZMQ suscriptor de myserial.py
            port = "5556"
            context = zmq.Context()
            socket = context.socket(zmq.PUB)
            socket.bind("tcp://*:%s" % port)
            #Publisher set_data commands
            socket.send_string("%s %s" % (topic, calibrar_od))


        except:
            pass
            #logging.info("no se pudo guardar en coef_ph_set en coef_od_set.txt")


    #Con cada cambio en los parametros, se vuelven a emitir a todos los clientes.
    socketio.emit('od_calibrar', {'set': od_set}, namespace='/biocl', broadcast=True)

    #guardo set_data en un archivo para depurar
    try:
        od_set_txt = str(od_set)
        f = open(DIR + "/od_set.txt","w")
        f.write(od_set_txt + '\n')
        f.close()

    except:
        pass