Equipe-3
Integrantes
- Andreza
- Alline
- Cristian Ritter
- Evander
Descrição do Trabalho
Aplicativo desenvolvido em plataforma C integrado a circuito de sensores e de controle externos para estações refrigeradoras de ar. O sistema gerenciará os equipamentos, ligando e desligando de acordo com as configurações programadas no sistema.
O sistema permitirá por meio de sensores a monitoração e o controle da temperatura de uma (ou até um limite de 10) salas. Permitirá também a programação (individualmente por sala) de horários de funcionamento automatizado do sistema.
Definições basicas do sistema
Configurações do sistema
- Sala ID;
- Descrição da sala (somente texto descritivo)
- ID do módulo de controle do refrigerador
- Setpoints de temperatura máximo e mínimo que serão monitorados e controlados pelo gerenciador (individualizados por sala.
- Horários para ligar e desligar o sistema (individualizados por sala).
Funcionalidades
- Visualização das salas cadastradas;
- Controle remoto das salas em três modalidades: LIGADO, DESLIGADO ou AUTOMÁTICO (que opera conforme configuração de setpoint e programação de horário).
- Configuração das salas:
-> inserir sala;
-> remover sala;
-> editar dados de uma sala;
-> reinicializar todas as configurações apagando o arquivo de dados;
- Log completo composto de:
-> Horário dos eventos de POWER ON e POWER OFF dos equipamentos;
-> Registros da leitura de temperatura das salas realizados a cada evento e em certos intervalos de tempo pré-definidos;
-> Registro do modo de operação (automático ou manual) na ocorrência dos eventos;
===Obs:=== Todas as configurações ficaram armazenadas no arquivo salas.cfg na pasta em que o aplicativo estiver rodando.
Obs2: O log fica registrado no arquivo 'arquivo.log', e será visualizado por um editor do sistema operacional startado pelo próprio gerenciador.
Cronograma de atividades desenvolvidas:
-Avaliação de modelos de aplicativos.
Optamos por um aplicativo único que faça tanto a gerência quanto a configuração do sistema, sendo internamente independente no entanto integrado em um único executável. A execução será feita com a opção de configuração ou execução.
Ex:
root@linux: ./sistema /run
root@linux: ./sistema /config
Apesar destas opções, o sistema permitirá a navegação entre estes dois modos pelo menu interno.
-Desenvolver interface do aplicativo:
Foi desenvolvida uma interface simples e amigável que permite a inclusão e alteração de configurações com facilidade mesmo em uma interface de modo texto.
-Desenvolver sistemas logicos relacionados ao arquivo de configuração:
Foram desenvolvidas subrotinas que contemplam as operações de visualização da configuração das salas, adição de novas configurações, e também remoção de salas.
-Integração das subrotinas no código principal:
Estão sendo integradas as subrotinas de modo a deixar semi-pronto o sistema de gerencia de configurações para então concentrar tempo e energia na programação relacionada a sensores e integração com dispositivos de hardware, conversores A/D etc.
-Adição de funcionalidade
Verificando viabilidade de programar o sistema com horário de operação, com hora para ligar e desligar, discutindo necessidade de programar multiplos horários. (atualização -> adicionados dados de horário para ligar e desligar ao código-fonte);
19/11/14 - Atualização da wiki
Atividades delegadas
A divisão primária das tarefas ficou assim fracionada:
As integrantes da equipe Andressa e Alline priorizarão a elaboração dos códigos de funções especificas solicitadas de acordo com a necessidade e atualização da WiKi com o andamento do projeto.
Os integrantes Evander e Cristian irão trabalhar em assuntos relacionados a interface e criação do código principal, encaminhando para a equipe de desenvolvimento (Andressa / Alline) as requisições de funções a serem utiizadas de acordo com a necessidade, além de executar testes no código em busca de erros.
Questões alheias ao que está estabelecido acima, serão resolvidas pelo grupo, ou delegadas conforme a necessidade.
Abaixo seguem algumas tarefas que serão (ou foram) desenvolvidas no decorrer da timeline de desenvolvimento do projeto pelas equipes:
Andreza e Alline
Implementar o codigo para as funções de:
-criação do arquivo de log;
-reinicialização do arquivo de log (reset)
Conforme a descrição de modelo abaixo...
Usaremos como base o cabeçalho de funções abaixo:
log_add(char sala_id, int evento, int modo_operacao, int temp){ // evento(0->desl 1->liga) modo_operacao(0->manual 1->auto)
//programacao....
} reinicializar_log(){
//programacao....
}
Cristian / Evander
-Teste da interface do programa;
-Ajustes na interface para correção de erros encontrados;
-Elaborar tratamento de entradas no código para evitar que dados fora do range operacional sejam inseridos durante a configuração;
Em princípio, a interface de configuração ficou assim definida:
╔════════════════════════════════════════════════════════════════════════════════════════════════════════════╗ ║ ║ ║ SISTEMA DE GERENCIAMENTO DE REFRIGERAÇÃO ║ ║ UTILITARIO DE CONFIGURAÇÃO ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ Digite o numero da opção referente a tarefa que você deseja realizar: ║ ║ ║ ║ 1 - Visualizar salas cadastradas ║ ║ 2 - Adicionar sala ║ ║ 3 - Editar sala ║ ║ 4 - Remover sala ║ ║ 5 - Remover todas as salas e configurações atuais ║ ║ 6 - Alterar para modo operacional ║ ║ 7 - Fechar o aplicativo ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ╚════════════════════════════════════════════════════════════════════════════════════════════════════════════╝
╔════════════════════════════════════════════════════════════════════════════════════════════════════════════╗ ║ ║ ║ SISTEMA DE GERENCIAMENTO DE REFRIGERAÇÃO ║ ║ SALAS CADASTRADAS NO SISTEMA ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ Sala_ID | Descrição | Temp_máx | Temp_min | Sensor ID | Funcionamento ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ╚════════════════════════════════════════════════════════════════════════════════════════════════════════════╝
Pressione ENTER para continuar
╔════════════════════════════════════════════════════════════════════════════════════════════════════════════╗ ║ ║ ║ SISTEMA DE GERENCIAMENTO DE REFRIGERAÇÃO ║ ║ SALAS CADASTRADAS NO SISTEMA ║ ║ ║ ║ Digite o ID da sala que deseja editar ou 'cancelar': Sala02 ║ ║ ║ ║ O que você deseja alterar? 1-Descrição | 2-Temp_max | 3-Temp_min | 4-Sensor_ID: 5-Hora ON 6-Hora OFF 5 ║ ║ ║ ║ Sala_ID | Descrição | Temp_máx | Temp_min | Sensor ID | Funcionamento ║ ║ ║ ║ ║ ║ Sala02 | Sala_dois | 25 | 22 | 6b | 07:30 - 11:30 ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ╚════════════════════════════════════════════════════════════════════════════════════════════════════════════╝
╔════════════════════════════════════════════════════════════════════════════════════════════════════════════╗ ║ ║ ║ SISTEMA DE GERENCIAMENTO DE REFRIGERAÇÃO ║ ║ MODO OPERACIONAL ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ Digite o numero da opção referente a tarefa que você deseja realizar: ║ ║ ║ ║ 1 - Visualizar status atual do sistema ║ ║ 2 - Visualizar registro de log ║ ║ 3 - Reinicializar registro de log (todos os registros serão perdidos) ║ ║ 4 - Ir para modo de configuração ║ ║ 5 - Encerrar a execução e sair ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ╚════════════════════════════════════════════════════════════════════════════════════════════════════════════╝
- Verificar possibilidade de aprimoramento na interface de Modo operacional
--Permitir a visualização em tempo real de status, enquanto aguarda o pressionamento de alguma tecla de seleção de menu (?)