def LerUsuario(tag):
    bd_rpi = ConectarBDRpi()
    if bd_rpi != None:
        cursor_rpi = bd_rpi.cursor()
        try:
            validacao = cursor_rpi.execute(
                "SELECT id, nome, desativado FROM usuario WHERE rfid = %s",
                tag)
        except:
            user_id, user_nome = (0, ) * 2
        cursor_rpi.close()
        bd_rpi.close()
        if validacao == 1:
            # Tag encontrada na tabela usuário
            user_id, user_nome, user_desativado = cursor_rpi.fetchone()
            if user_desativado == 1:
                # O usuário está desativado do sistema
                user_id, user_nome = (-1, ) * 2
        else:
            # Tag não foi encontrada na tabela usuário
            user_id, user_nome = (0, ) * 2
    else:
        # Não foi possível conectar ao banco de dados do Raspberry Pi
        user_id, user_nome = (-2, ) * 2
    return user_id, user_nome
def LerSituacaoEquipamento(equipamento_id):
    bd_rpi = ConectarBDRpi()
    if bd_rpi != None:
        cursor_rpi = bd_rpi.cursor()
        try:
            sql_ler = "SELECT id, data_devolucao FROM equipamento_log WHERE equipamento_id = %s ORDER BY id DESC"
            validacao = cursor_rpi.execute(sql_ler, equipamento_id)
        except:
            id, data_devolucao = (-1, ) * 2
        cursor_rpi.close()
        bd_rpi.close()
        if validacao == 0:
            # Equipamento não foi encontrado na tabela equipamento_log
            id, data_devolucao = (-1, ) * 2
        else:
            # Equipamento encontrado na tabela equipamento_log
            id, data_devolucao = cursor_rpi.fetchone()
    else:
        # Não foi possível conectar ao banco de dados do Raspberry Pi
        id, data_devolucao = (-1, ) * 2
    return id, data_devolucao
def LerConfig():
    import socket
    from os import popen
    ip = ""
    try:
        # Obter o endereço de IP do Raspberry Pi
        gw = popen("ip -4 route show default").read().split()
        s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
        s.connect((gw[2], 0))
        ip = s.getsockname()[0]
        s.close()
        # /Obter o endereço de IP do Raspberry Pi
        bd_rpi = ConectarBDRpi()
        if bd_rpi != None:
            cursor_rpi = bd_rpi.cursor()
            try:
                sql_importar = "SELECT sala_id, dht, luminosidade, rfid, porta1, porta2, porta3, porta4, porta5, porta6, porta7, porta8, porta9, porta10, porta11, porta12, porta13, porta14, porta15, porta16, porta17 FROM configuracao_rpi WHERE ip = %s"
                validacao = cursor_rpi.execute(sql_importar, ip)
            except:
                sala_id, dht, luminosidade, rfid, porta1, porta2, porta3, porta4, porta5, porta6, porta7, porta8, porta9, porta10, porta11, porta12, porta13, porta14, porta15, porta16, porta17 = (
                    0, ) * 21
            cursor_rpi.close()
            bd_rpi.close()
            if validacao == 1:
                sala_id, dht, luminosidade, rfid, porta1, porta2, porta3, porta4, porta5, porta6, porta7, porta8, porta9, porta10, porta11, porta12, porta13, porta14, porta15, porta16, porta17 = cursor_rpi.fetchone(
                )
            else:
                # O IP não foi encontrado na tabela configuracao_rpi
                sala_id, dht, luminosidade, rfid, porta1, porta2, porta3, porta4, porta5, porta6, porta7, porta8, porta9, porta10, porta11, porta12, porta13, porta14, porta15, porta16, porta17 = (
                    0, ) * 21
        else:
            # Não foi possível conectar ao banco de dados do Servidor
            sala_id, dht, luminosidade, rfid, porta1, porta2, porta3, porta4, porta5, porta6, porta7, porta8, porta9, porta10, porta11, porta12, porta13, porta14, porta15, porta16, porta17 = (
                -2, ) * 21
    except:
        # Equipamento não conectado à rede
        sala_id, dht, luminosidade, rfid, porta1, porta2, porta3, porta4, porta5, porta6, porta7, porta8, porta9, porta10, porta11, porta12, porta13, porta14, porta15, porta16, porta17 = (
            -1, ) * 21
    return sala_id, dht, luminosidade, rfid, porta1, porta2, porta3, porta4, porta5, porta6, porta7, porta8, porta9, porta10, porta11, porta12, porta13, porta14, porta15, porta16, porta17
def LerEquipamento(tag):
    bd_rpi = ConectarBDRpi()
    if bd_rpi != None:
        cursor_rpi = bd_rpi.cursor()
        try:
            validacao = cursor_rpi.execute(
                "SELECT gepoc_id, equipamento FROM equipamento WHERE rfid = %s",
                tag)
        except:
            equip_id, equip_nome = (0, ) * 2
        cursor_rpi.close()
        bd_rpi.close()
        if validacao == 1:
            # Tag encontrada na tabela equipamento
            equip_id, equip_nome = cursor_rpi.fetchone()
        else:
            # Tag não foi encontrada na tabela equipamento
            equip_id, equip_nome = (0, ) * 2
    else:
        # Não foi possível conectar ao banco de dados do Raspberry Pi
        equip_id, equip_nome = (0, ) * 2
    return equip_id, equip_nome
Esempio n. 5
0
def SalvarAlarme(parametro_sala_id, parametro_motivo):
        bd_rpi = ConectarBDRpi()
        if bd_rpi != None:
                cursor_rpi = bd_rpi.cursor()
                try:
                        cursor_rpi.execute("INSERT INTO alarme (sala_id, motivo) VALUES (%s, %s)", (parametro_sala_id, parametro_motivo))
                        bd_rpi.commit()
                except:
                        Painel.NotificaErro()
                        Painel.Mensagem(" Erro ao salvar ","   (erro 20)    ", 10)
                cursor_rpi.close()
                bd_rpi.close()
        else:
                Painel.NotificaErro()
                Painel.Mensagem(" Erro ao salvar ","   (erro 20)    ", 10)
        SincronizarTabelas.SincronizarAlarme(0)
Esempio n. 6
0
def SalvarEquipamentosLogDevolucao(parametro_id):
        bd_rpi = ConectarBDRpi()
        if bd_rpi != None:
                cursor_rpi = bd_rpi.cursor()
                try:
                        cursor_rpi.execute("UPDATE equipamento_log SET data_devolucao=NOW() WHERE id = %s", parametro_id)
                        bd_rpi.commit()
                except:
                        Painel.NotificaErro()
                        Painel.Mensagem(" Erro ao salvar ","   (erro 12)    ", 10)
                cursor_rpi.close()
                bd_rpi.close()
        else:
                Painel.NotificaErro()
                Painel.Mensagem(" Erro ao salvar ","   (erro 12)    ", 10)
        SincronizarTabelas.SincronizarEquipamentoLog(0)
Esempio n. 7
0
def SalvarEquipamentosLog(parametro_equipamento_id, parametro_usuario_id, parametro_sala_id):
        bd_rpi = ConectarBDRpi()
        if bd_rpi != None:
                cursor_rpi = bd_rpi.cursor()
                try:
                        cursor_rpi.execute("INSERT INTO equipamento_log (equipamento_id, usuario_id, sala_id) VALUES (%s, %s, %s)", (parametro_equipamento_id, parametro_usuario_id, parametro_sala_id))
                        bd_rpi.commit()
                except:
                        Painel.NotificaErro()
                        Painel.Mensagem(" Erro ao salvar ","    (erro 9)    ", 10)
                cursor_rpi.close()
                bd_rpi.close()
        else:
                Painel.NotificaErro()
                Painel.Mensagem(" Erro ao salvar ","    (erro 9)    ", 10)
        SincronizarTabelas.SincronizarEquipamentoLog(0)
Esempio n. 8
0
def SalvarSalasLog(par_sala_id, par_umidade, par_temperatura, par_luminosidade, par_porta1, par_porta2, par_porta3, par_porta4, par_porta5, par_porta6, par_porta7, par_porta8, par_porta9, par_porta10, par_porta11, par_porta12, par_porta13, par_porta14, par_porta15, par_porta16, par_porta17):
        bd_rpi = ConectarBDRpi()
        if bd_rpi != None:
                cursor_rpi = bd_rpi.cursor()
                try:
                        sql_inserir = "INSERT INTO sala_log (sala_id, umidade, temperatura, luminosidade, porta1, porta2, porta3, porta4, porta5, porta6, porta7, porta8, porta9, porta10, porta11, porta12, porta13, porta14, porta15, porta16, porta17) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)"
                        cursor_rpi.execute(sql_inserir, (par_sala_id, par_umidade, par_temperatura, par_luminosidade, par_porta1, par_porta2, par_porta3, par_porta4, par_porta5, par_porta6, par_porta7, par_porta8, par_porta9, par_porta10, par_porta11, par_porta12, par_porta13, par_porta14, par_porta15, par_porta16, par_porta17))
                        bd_rpi.commit()
                except:
                        Painel.NotificaErro()
                        Painel.Mensagem(" Erro ao salvar ","   (erro 10)    ", 10)
                cursor_rpi.close()
                bd_rpi.close()
        else:
                Painel.NotificaErro()
                Painel.Mensagem(" Erro ao salvar ","   (erro 10)    ", 10)
        SincronizarTabelas.SincronizarSalaLog(par_sala_id, 0)
def SincronizarEquipamentoLog(display = 1):
        # SincronizarEquipamentoLog(0) executa a função sem exibir mensagem no display
        # SincronizarEquipamentoLog() executa a função exibindo mensagens no display
        bd_server=ConectarBDServidor()
        EquipamentoLog_server = 0
        EquipamentoLog_rpi = 0
        if bd_server != None:
                if display == 1:
                        Painel.Mensagem("  Sincronizando ","equipamento log ")
                cursor_server = bd_server .cursor()
                try:
                        cursor_server.execute("SELECT id, data_retirada, data_devolucao, equipamento_id, usuario_id, sala_id FROM equipamento_log ORDER BY id")
                        EquipamentoLog_server = cursor_server.fetchall()
                except:
                        if display == 1:
                                Painel.NotificaErro()
                                Painel.Mensagem("Erro ao sincron.","equi.log(erro16)", 15)
                bd_rpi = ConectarBDRpi()
                if bd_rpi != None:
                        cursor_rpi = bd_rpi .cursor()
                        try:
                                cursor_rpi.execute("SELECT id, data_retirada, data_devolucao, equipamento_id, usuario_id, sala_id FROM equipamento_log ORDER BY id")
                                EquipamentoLog_rpi = cursor_rpi.fetchall()
                        except:
                                if display == 1:
                                        Painel.NotificaErro()
                                        Painel.Mensagem("Erro ao sincron.","equi.log(erro15)", 15)
                else:
                        if display == 1:
                                Painel.NotificaErro()
                                Painel.Mensagem("Erro ao sincron.","equi.log(erro15)", 15)
        else:
                if display == 1:
                        Painel.NotificaErro()
                        Painel.Mensagem("Erro ao sincron.","equi.log(erro16)", 15)

        flag_novo_registro = 0
        if EquipamentoLog_server != 0:
                # Sincronizar banco de dados no Servidor (envia novos dados do raspberry pi para o servidor)
                if len(EquipamentoLog_rpi) != 0:
                        for dado_rpi in EquipamentoLog_rpi:
                                for dado_server in EquipamentoLog_server:
                                        flag_novo_registro = 0
                                        if dado_rpi[0] == dado_server[0]:
                                                flag_novo_registro = 1
                                                if dado_rpi[2] != dado_server[2] and dado_rpi[2] != None:
                                                        try:
                                                                cursor_server.execute("UPDATE equipamento_log SET data_devolucao=%s WHERE id = %s", (dado_rpi[2], dado_rpi[0]))
                                                                bd_server.commit()
                                                        except:
                                                                continue
                                                break
                                if flag_novo_registro == 0:
                                        try:
                                                cursor_server.execute("INSERT INTO equipamento_log (id, data_retirada, data_devolucao, equipamento_id, usuario_id, sala_id) VALUE (%s, %s, %s, %s, %s, %s)", (dado_rpi[0], dado_rpi[1], dado_rpi[2], dado_rpi[3], dado_rpi[4], dado_rpi[5]))
                                                bd_server.commit()
                                        except:
                                                continue
                # /Sincronizar banco de dados no Servidor

                # Sincronizar banco de dados no Raspberry Pi (envia novos dados do servidor para o raspberry pi)
                for dado_server in EquipamentoLog_server:
                        if len(EquipamentoLog_rpi) != 0:
                                for dado_rpi in EquipamentoLog_rpi:
                                        flag_novo_registro = 0
                                        if dado_server[0] == dado_rpi[0]:
                                                flag_novo_registro = 1
                                                if dado_server[2] != dado_rpi[2] and dado_server[2] != None:
                                                        try:
                                                                cursor_rpi.execute("UPDATE equipamento_log SET data_devolucao=%s WHERE id = %s", (dado_server[2], dado_rpi[0]))
                                                                bd_rpi.commit()
                                                        except:
                                                                continue
                                                break
                        if flag_novo_registro == 0:
                                try:
                                        cursor_rpi.execute("INSERT INTO equipamento_log (id, data_retirada, data_devolucao, equipamento_id, usuario_id, sala_id) VALUE (%s, %s, %s, %s, %s, %s)", (dado_server[0], dado_server[1], dado_server[2], dado_server[3], dado_server[4], dado_server[5]))
                                        bd_rpi.commit()
                                except:
                                        continue
                # /Sincronizar banco de dados no Raspberry Pi
                
                # Finaliza conexão com o servidor
                cursor_server.close()
                bd_server.close()

                # Finaliza conexão com o Raspberry Pi
                cursor_rpi.close()
                bd_rpi.close()

                if display == 1:
                        Painel.NotificaOK()
                        Painel.Mensagem("Equipamento log ","  sincronizada  ", 5)
def SincronizarAlarme(display = 1):
        bd_server=ConectarBDServidor()
        Alarme_server = 0
        Alarme_rpi = 0
        if bd_server != None:
                if display == 1:
                        Painel.Mensagem("  Sincronizando ","  tabela alarme ")
                cursor_server = bd_server .cursor()
                try:
                        cursor_server.execute("SELECT id, data, sala_id, motivo FROM alarme ORDER BY id")
                        Alarme_server = cursor_server.fetchall()
                except:
                        if display == 1:
                                Painel.NotificaErro()
                                Painel.Mensagem("Erro ao sincron.","alarme (erro23) ", 15)
                bd_rpi = ConectarBDRpi()
                if bd_rpi != None:
                        cursor_rpi = bd_rpi .cursor()
                        try:
                                cursor_rpi.execute("SELECT id, data, sala_id, motivo FROM alarme ORDER BY id")
                                Alarme_rpi = cursor_rpi.fetchall()
                        except:
                                if display == 1:
                                        Painel.NotificaErro()
                                        Painel.Mensagem("Erro ao sincron.","alarme (erro22) ", 15)
                else:
                        if display == 1:
                                Painel.NotificaErro()
                                Painel.Mensagem("Erro ao sincron.","alarme (erro22) ", 15)
        else:
                if display == 1:
                        Painel.NotificaErro()
                        Painel.Mensagem("Erro ao sincron.","alarme (erro23) ", 15)

        flag_novo_registro = 0
        if Alarme_server != 0 or Alarme_rpi != 0:
                # Sincronizar banco de dados no Raspberry Pi (envia novos dados do servidor para o raspberry pi)
                for dado_server in Alarme_server:
                        if Alarme_rpi != 0:
                                for dado_rpi in Alarme_rpi:
                                        flag_novo_registro = 0
                                        if dado_server[0] == dado_rpi[0]:
                                                flag_novo_registro = 1
                                                if dado_server[1] != dado_rpi[1]:
                                                        try:
                                                                cursor_server.execute("UPDATE alarme SET data=%s, sala_id=%s, motivo=%s WHERE id = %s", (dado_server[1], dado_server[2], dado_server[3], dado_server[0]))
                                                                bd_rpi.commit()
                                                        except:
                                                                continue
                                                break
                        if flag_novo_registro == 0:
                                try:
                                        cursor_rpi.execute("INSERT INTO alarme (id, data, sala_id, motivo) VALUE (%s, %s, %s, %s)", (dado_server[0], dado_server[1], dado_server[2], dado_server[3]))
                                        bd_rpi.commit()
                                except:
                                        continue
                # /Sincronizar banco de dados no Raspberry Pi

                # Sincronizar banco de dados no Servidor (envia novos dados do raspberry pi para o servidor)
                if Alarme_rpi != 0:
                        for dado_rpi in Alarme_rpi:
                                for dado_server in Alarme_server:
                                        flag_novo_registro = 0
                                        if dado_rpi[0] == dado_server[0]:
                                                flag_novo_registro = 1
                                                break
                                if flag_novo_registro == 0:
                                        try:
                                                cursor_server.execute("INSERT INTO alarme (id, data, sala_id, motivo) VALUE (%s, %s, %s, %s)", (dado_rpi[0], dado_rpi[1], dado_rpi[2], dado_rpi[3]))
                                                bd_server.commit()
                                        except:
                                                continue
                # /Sincronizar banco de dados no Servidor

                # Finaliza conexão com o servidor
                cursor_server.close()
                bd_server.close()

                # Finaliza conexão com o Raspberry Pi
                cursor_rpi.close()
                bd_rpi.close()

                if display == 1:
                        Painel.NotificaOK()
                        Painel.Mensagem("  Tabela alarme ","  sincronizada  ", 5)
def SincronizarSalaLog(parametro_sala_id, display = 1):
        bd_server=ConectarBDServidor()
        SalaLog_server = 0
        SalaLog_rpi = 0
        if bd_server != None:
                if display == 1:
                        Painel.Mensagem("  Sincronizando ","    sala log    ")
                cursor_server = bd_server .cursor()
                try:
                        sql_importar = "SELECT id, data, sala_id, umidade, temperatura, luminosidade, porta1, porta2, porta3, porta4, porta5, porta6, porta7, porta8, porta9, porta10, porta11, porta12, porta13, porta14, porta15, porta16, porta17 FROM sala_log WHERE sala_id = %s ORDER BY id"
                        cursor_server.execute(sql_importar, parametro_sala_id)
                        SalaLog_server = cursor_server.fetchall()
                except:
                        if display == 1:
                                Painel.NotificaErro()
                                Painel.Mensagem("Erro ao sincron.","sala log(erro14)", 15)
                bd_rpi = ConectarBDRpi()
                if bd_rpi != None:
                        cursor_rpi = bd_rpi .cursor()
                        try:
                                cursor_rpi.execute("SELECT id, data, sala_id, umidade, temperatura, luminosidade, porta1, porta2, porta3, porta4, porta5, porta6, porta7, porta8, porta9, porta10, porta11, porta12, porta13, porta14, porta15, porta16, porta17 FROM sala_log ORDER BY id")
                                SalaLog_rpi = cursor_rpi.fetchall()
                        except:
                                if display == 1:
                                        Painel.NotificaErro()
                                        Painel.Mensagem("Erro ao sincron.","sala log(erro13)", 15)
                else:
                        if display == 1:
                                Painel.NotificaErro()
                                Painel.Mensagem("Erro ao sincron.","sala log(erro13)", 15)
        else:
                if display == 1:
                        Painel.NotificaErro()
                        Painel.Mensagem("Erro ao sincron.","sala log(erro14)", 15)

        flag_novo_registro = 0
        if SalaLog_server != 0:
                # Sincronizar banco de dados no Servidor (envia novos dados do raspberry pi para o servidor)
                if len(SalaLog_rpi) != 0:
                        for dado_rpi in SalaLog_rpi:
                                for dado_server in SalaLog_server:
                                        flag_novo_registro = 0
                                        if dado_rpi[0] == dado_server[0]:
                                                flag_novo_registro = 1
                                                break
                                if flag_novo_registro == 0:
                                        try:
                                                cursor_server.execute("INSERT INTO sala_log (id, data, sala_id, umidade, temperatura, luminosidade, porta1, porta2, porta3, porta4, porta5, porta6, porta7, porta8, porta9, porta10, porta11, porta12, porta13, porta14, porta15, porta16, porta17) VALUE (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)", (dado_rpi[0], dado_rpi[1], dado_rpi[2], dado_rpi[3], dado_rpi[4], dado_rpi[5], dado_rpi[6], dado_rpi[7], dado_rpi[8], dado_rpi[9], dado_rpi[10], dado_rpi[11], dado_rpi[12], dado_rpi[13], dado_rpi[14], dado_rpi[15], dado_rpi[16], dado_rpi[17], dado_rpi[18], dado_rpi[19], dado_rpi[20], dado_rpi[21], dado_rpi[22]))
                                                bd_server.commit()
                                        except:
                                                continue
                # /Sincronizar banco de dados no Servidor

                # Sincronizar banco de dados no Raspberry Pi (envia novos dados do servidor para o raspberry pi)
                for dado_server in SalaLog_server:
                        if len(SalaLog_rpi) != 0:
                                for dado_rpi in SalaLog_rpi:
                                        flag_novo_registro = 0
                                        if dado_server[0] == dado_rpi[0]:
                                                flag_novo_registro = 1
                                                break
                        if flag_novo_registro == 0:
                                try:
                                        cursor_rpi.execute("INSERT INTO sala_log (id, data, sala_id, umidade, temperatura, luminosidade, porta1, porta2, porta3, porta4, porta5, porta6, porta7, porta8, porta9, porta10, porta11, porta12, porta13, porta14, porta15, porta16, porta17) VALUE (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)", (dado_server[0], dado_server[1], parametro_sala_id, dado_server[2], dado_server[3], dado_server[4], dado_server[5], dado_server[6], dado_server[7], dado_server[8], dado_server[9], dado_server[10], dado_server[11], dado_server[12], dado_server[13], dado_server[14], dado_server[15], dado_server[16], dado_server[17], dado_server[18], dado_server[19], dado_server[20], dado_server[21]))
                                        bd_rpi.commit()
                                except:
                                        continue
                # /Sincronizar banco de dados no Raspberry Pi

                # Finaliza conexão com o servidor
                cursor_server.close()
                bd_server.close()

                # Finaliza conexão com o Raspberry Pi
                cursor_rpi.close()
                bd_rpi.close()

                if display == 1:
                        Painel.NotificaOK()
                        Painel.Mensagem("    Sala log    ","  sincronizada  ", 5)
Esempio n. 12
0
def ImportarUsuarios():
        bd_server=ConectarBDServidor()
        Usuario_server = 0
        Usuario_rpi = 0
        if bd_server != None:
                Painel.Mensagem("   Importando   ","    usuários    ")
                cursor_server = bd_server .cursor()
                try:
                        cursor_server.execute("SELECT id, nome, rfid, desativado FROM usuario")
                        Usuario_server = cursor_server.fetchall()
                except:
                        Painel.NotificaErro()
                        Painel.Mensagem("Erro ao importar","usuarios (erro4)", 15)
                cursor_server.close()
                bd_server.close()
                bd_rpi = ConectarBDRpi()
                if bd_rpi != None:
                        cursor_rpi = bd_rpi .cursor()
                        try:
                                cursor_rpi.execute("SELECT id, nome, rfid, desativado FROM usuario")
                                Usuario_rpi = cursor_rpi.fetchall()
                        except:
                                Painel.NotificaErro()
                                Painel.Mensagem("Erro ao importar","usuários (erro3)", 15)
                else:
                        Painel.NotificaErro()
                        Painel.Mensagem("Erro ao importar","usuários (erro3)", 15)
        else:
                Painel.NotificaErro()
                Painel.Mensagem("Erro ao importar","usuários (erro4)", 15)

        # Sincronizar banco de dados no Raspberry Pi (envia novos dados e atualiza dados do servidor para o raspberry pi)
        flag_novo_registro = 0
        if Usuario_server != 0:
                for dado_server in Usuario_server:
                        if Usuario_rpi != 0:
                                for dado_rpi in Usuario_rpi:
                                        flag_novo_registro = 0
                                        if dado_server[0] == dado_rpi[0]:
                                                flag_novo_registro = 1
                                                if dado_server[1] != dado_rpi[1]:
                                                        try:
                                                                cursor_rpi.execute("UPDATE usuario SET nome=%s WHERE id = %s", (dado_server[1], dado_rpi[0]))
                                                                bd_rpi.commit()
                                                        except:
                                                                continue
                                                if dado_server[2] != dado_rpi[2]:
                                                        try:
                                                                cursor_rpi.execute("UPDATE usuario SET rfid=%s WHERE id = %s", (dado_server[2], dado_rpi[0]))
                                                                bd_rpi.commit()
                                                        except:
                                                                continue
                                                if dado_server[3] != dado_rpi[3]:
                                                        try:
                                                                cursor_rpi.execute("UPDATE usuario SET desativado=%s WHERE id = %s", (dado_server[3], dado_rpi[0]))
                                                                bd_rpi.commit()
                                                        except:
                                                                continue
                                                break
                        if flag_novo_registro == 0:
                                try:
                                        cursor_rpi.execute("INSERT INTO usuario (id, nome, rfid, desativado) VALUE (%s, %s, %s, %s)", (dado_server[0], dado_server[1], dado_server[2], dado_server[3]))
                                        bd_rpi.commit()
                                except:
                                        continue
        # /Sincronizar banco de dados no Raspberry Pi

        if Usuario_rpi != 0:
                # Finaliza conexão com o Raspberry Pi
                cursor_rpi.close()
                bd_rpi.close()

                Painel.NotificaOK()
                Painel.Mensagem("    Usuários    ", "   importados   ",5)
Esempio n. 13
0
def ImportarConfig():
        bd_server=ConectarBDServidor()
        Config_server = 0
        Config_rpi = 0
        if bd_server != None:
                Painel.Mensagem("   Importando   "," configurações  ")
                cursor_server = bd_server .cursor()
                try:
                        cursor_server.execute("SELECT id, data_modificacao, ip, sala_id, dht, luminosidade, rfid, porta1, porta2, porta3, porta4, porta5, porta6, porta7, porta8, porta9, porta10, porta11, porta12, porta13, porta14, porta15, porta16, porta17 FROM configuracao_rpi")
                        Config_server = cursor_server.fetchall()
                except:
                        Painel.NotificaErro()
                        Painel.Mensagem("Erro ao importar","config. (erro8) ", 15)
                cursor_server.close()
                bd_server.close()
                bd_rpi = ConectarBDRpi()
                if bd_rpi != None:
                        cursor_rpi = bd_rpi .cursor()
                        try:
                                cursor_rpi.execute("SELECT id, data_modificacao, ip, sala_id, dht, luminosidade, rfid, porta1, porta2, porta3, porta4, porta5, porta6, porta7, porta8, porta9, porta10, porta11, porta12, porta13, porta14, porta15, porta16, porta17 FROM configuracao_rpi")
                                Config_rpi = cursor_rpi.fetchall()
                        except:
                                Painel.NotificaErro()
                                Painel.Mensagem("Erro ao importar","config. (erro7) ", 15)
                else:
                        Painel.NotificaErro()
                        Painel.Mensagem("Erro ao importar","config. (erro7) ", 15)
        else:
                Painel.NotificaErro()
                Painel.Mensagem("Erro ao importar","config. (erro8) ", 15)

        # Sincronizar banco de dados no Raspberry Pi (envia novos dados e atualiza dados do servidor para o raspberry pi)
        flag_novo_registro = 0
        if Config_server != 0:
                for dado_server in Config_server:
                        if Config_rpi != 0:
                                for dado_rpi in Config_rpi:
                                        flag_novo_registro = 0
                                        if dado_server[0] == dado_rpi[0]:
                                                flag_novo_registro = 1
                                                if dado_server[1] != dado_rpi[1]:
                                                        try:
                                                                sql_update = ("UPDATE configuracao_rpi SET data_modificacao=%s, ip=%s, sala_id=%s, dht=%s, luminosidade=%s, rfid=%s, porta1=%s, porta2=%s, porta3=%s, porta4=%s, porta5=%s, porta6=%s, porta7=%s, porta8=%s, porta9=%s, porta10=%s, porta11=%s, porta12=%s, porta13=%s, porta14=%s, porta15=%s, porta16=%s, porta17=%s WHERE id = %s")
                                                                valor_update = (dado_server[1], dado_server[2], dado_server[3], dado_server[4], dado_server[5], dado_server[6], dado_server[7], dado_server[8], dado_server[9], dado_server[10], dado_server[11], dado_server[12], dado_server[13], dado_server[14], dado_server[15], dado_server[16], dado_server[17], dado_server[18], dado_server[19], dado_server[20], dado_server[21], dado_server[22], dado_server[23], dado_server[0])
                                                                cursor_rpi.execute(sql_update, valor_update)
                                                                bd_rpi.commit()
                                                        except:
                                                                continue
                                                break
                        if flag_novo_registro == 0:
                                try:
                                        sql_salvar = "INSERT INTO configuracao_rpi (id, data_modificacao, ip, sala_id, dht, luminosidade, rfid, porta1, porta2, porta3, porta4, porta5, porta6, porta7, porta8, porta9, porta10, porta11, porta12, porta13, porta14, porta15, porta16, porta17) VALUE (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)"
                                        valor_salvar = (dado_server[0], dado_server[1], dado_server[2], dado_server[3], dado_server[4], dado_server[5], dado_server[6], dado_server[7], dado_server[8], dado_server[9], dado_server[10], dado_server[11], dado_server[12], dado_server[13], dado_server[14], dado_server[15], dado_server[16], dado_server[17], dado_server[18], dado_server[19], dado_server[20], dado_server[21], dado_server[22], dado_server[23])
                                        cursor_rpi.execute(sql_salvar, valor_salvar)
                                        bd_rpi.commit()
                                except:
                                        continue
        # /Sincronizar banco de dados no Raspberry Pi

        if Config_rpi != 0:
                # Finaliza conexão com o Raspberry Pi
                cursor_rpi.close()
                bd_rpi.close()

                Painel.NotificaOK()
                Painel.Mensagem(" Configurações  ","   importadas   ", 5)
Esempio n. 14
0
def ImportarEquipamentos():
        bd_server=ConectarBDServidor()
        Equipamento_server = 0
        Equipamento_rpi = 0
        if bd_server != None:
                Painel.Mensagem("   Importando   ","  equipamentos  ")
                cursor_server = bd_server .cursor()
                try:
                        cursor_server.execute("SELECT gepoc_id, equipamento, rfid FROM equipamento")
                        Equipamento_server = cursor_server.fetchall()
                except:
                        Painel.NotificaErro()
                        Painel.Mensagem("Erro ao importar"," equip. (erro6) ", 15)
                cursor_server.close()
                bd_server.close()
                bd_rpi = ConectarBDRpi()
                if bd_rpi != None:
                        cursor_rpi = bd_rpi .cursor()
                        try:
                                cursor_rpi.execute("SELECT gepoc_id, equipamento, rfid FROM equipamento")
                                Equipamento_rpi = cursor_rpi.fetchall()
                        except:
                                Painel.NotificaErro()
                                Painel.Mensagem("Erro ao importar"," equip. (erro5) ", 15)
                else:
                        Painel.NotificaErro()
                        Painel.Mensagem("Erro ao importar"," equip. (erro5) ", 15)
        else:
                Painel.NotificaErro()
                Painel.Mensagem("Erro ao importar"," equip. (erro6) ", 15)

        # Sincronizar banco de dados no Raspberry Pi (envia novos dados e atualiza dados do servidor para o raspberry pi)
        flag_novo_registro = 0
        if Equipamento_server != 0:
                for dado_server in Equipamento_server:
                        if Equipamento_rpi != 0:
                                for dado_rpi in Equipamento_rpi:
                                        flag_novo_registro = 0
                                        if dado_server[0] == dado_rpi[0]:
                                                flag_novo_registro = 1
                                                if dado_server[1] != dado_rpi[1]:
                                                        try:
                                                                cursor_rpi.execute("UPDATE equipamento SET equipamento=%s WHERE gepoc_id = %s", (dado_server[1], dado_rpi[0]))
                                                                bd_rpi.commit()
                                                        except:
                                                                continue
                                                if dado_server[2] != dado_rpi[2]:
                                                        try:
                                                                cursor_rpi.execute("UPDATE equipamento SET rfid=%s WHERE gepoc_id = %s", (dado_server[2], dado_rpi[0]))
                                                                bd_rpi.commit()
                                                        except:
                                                                continue
                                                break
                        if flag_novo_registro == 0:
                                try:
                                        cursor_rpi.execute("INSERT INTO equipamento (gepoc_id, equipamento, rfid) VALUE (%s, %s, %s)", (dado_server[0], dado_server[1], dado_server[2]))
                                        bd_rpi.commit()
                                except:
                                        continue
        # /Sincronizar banco de dados no Raspberry Pi

        if Equipamento_rpi != 0:
                # Finaliza conexão com o Raspberry Pi
                cursor_rpi.close()
                bd_rpi.close()

                Painel.NotificaOK()
                Painel.Mensagem("  Equipamentos  ","   importados   ", 5)