C.3 Cronograma parte 3
6.2 Sistema Central
6.2.1 Software
A arquitetura do software do Computador Central segue o modelo de orienta¸c˜ao a objetos, assim como o firmware do Sistema de Sensoriamento. A linguagem python permite, assim como outras linguagens de alto n´ıvel, a utiliza¸c˜ao de classes e threads. A arquitetura de software que roda no Computador Central ´e representada atrav´es do diagrama de classes da figura 6.10.
A abordagem adotada foi desenvolver classes espec´ıficas para interfacear com alguns componentes acoplados ao Computador Central, como o r´adio RF e o GPRS e classes para representar macro tarefas, como de acesso ao banco de dados, thread para verifica¸c˜ao da conex˜ao com a Internet e classe para configura¸c˜ao e envio de email. O tratamento de falhas na rede el´etrica s˜ao tratadas dentro da Main com uma rotina de tratamento de interrup¸c˜ao.
Figura 6.10: Diagrama de Classes do software do Computador Central.
dades do sistema e sua sequˆencia de opera¸c˜oes. O diagrama ´e composto de duas tarefas principais, sendo uma delas respons´avel pela intera¸c˜ao com o Sistema de Sensoriamento e com o usu´ario remoto e a outra encarregada de monitorar queda na rede Internet.
• Configura¸c˜ao: Na configura¸c˜ao, o Sistema Central inicializa todas a vari´aveis utilizadas ao longo do processo. Tamb´em realiza a configura¸c˜ao dos pinos I/O e instˆancias de classes importadas. Nesa etapa, o banco de dados do sistema ´e configurado e a tarefa respons´avel por monitorar oscila¸c˜ao na rede ´e inicializada. A Central tamb´em configura o pino de interrup¸c˜ao para o sistema de queda de energia. Finalmente, na etapa de configura¸c˜ao o Sistema Central dever´a enviar um comando de in´ıcio para o Sistema de Sensoriamento indicando para o mesmo que ele deve iniciar suas opera¸c˜oes. Esse comando auxilia na sincroniza¸c˜ao dos dois sistemas e ´e essencial para a execu¸c˜ao do protocolo de comunica¸c˜ao.
• Requisitar leitura: Essa atividade tem como objetivo se comunicar com o Sistema de Sensoriamento e executar o protocolo para requisi¸c˜ao da leitura dos sensores. Ela ser´a descrita com mais detalhes na sess˜ao 6.4 e seu funcionamento simplificado consiste em enviar uma mensagem de requisi¸c˜ao para o Sistema de Sensoriamento e aguardar a resposta contendo os valores da leitura.
Figura 6.11: Diagrama de atividades do Sistema Central.
sistema executa o algoritmo de decis˜ao analisando os n´ıveis de cada sensor e gera na sua sa´ıda o n´ıvel de vazamento de g´as e se est´a ocorrendo incˆendio.
• Atualizar banco de dados: Essa etapa servir´a para o Sistema Central atualizar o banco de dados com as medidas obtidas e salvar as ocorrˆencias.
• Notificar usu´ario para alarme: Caso o algoritmo gere em sua sa´ıda um status de incˆendio e/ou de vazamento de g´as, o sistema ir´a notificar os usu´arios cadastrados em seu banco de dados. As notifica¸c˜oes funcionar˜ao enviando e-mails e mensagens de texto, onde o sistema ir´a informar a causa do alarme.
• Conferir vari´avel de falha na rede: Essa atividade ´e executada apenas para conferir se a rede Internet est´a funcionando, conferindo uma vari´avel atualizada por outra tarefa.
• Alternar configura¸c˜ao GPRS: Em caso de queda na rede Internet ou retorno da Internet, essa atividade se conecta ou desconecta da rede GPRS, respectivamente.
• Notificar usu´ario para falha na rede: Se o status da rede Internet for alterado (seja para queda ou para retorno), o sistema ir´a notificar os usu´arios cadastrados enviando mensagens de texto e e-mails, contendo a informa¸c˜ao do status da rede. • Atualizar contatos: A atividade de atualizar contatos consiste em conferir se
existem novos usu´arios cadastrados, ou se algum dado dos usu´arios j´a cadastrados foram modificados. Ent˜ao, o sistema atualiza em sua lista as devidas modifica¸c˜oes. • Monitorar oscila¸c˜ao na rede: Essa atividade ´e executada pela segunda tarefa. Ela confere se ocorreu alguma modifica¸c˜ao no status da rede Internet, ou seja, se a rede sofreu uma queda ou se retornou a seu funcionamento. Caso uma oscila¸c˜ao ocorra, a vari´avel de falhaRede ´e configurada.
• Configurar vari´avel de status da rede: Essa atividade somente configura a vari´avel respons´avel por identificar o status na rede, sendo ela quedaInternet em caso de queda na rede ou voltaInternet em caso de retorno da rede.
Durante a configura¸c˜ao, o Sistema Central inicializa uma interrup¸c˜ao respons´avel por detectar queda de energia. Essa interrup¸c˜ao foi representada no diagrama de ativida- des na figura 6.12. Caso ela seja ativada, qualquer atividade realizada pelas duas tarefas da figura 6.11 ´e suspensa para tratamento da interrup¸c˜ao e voltam a ser executadas ap´os a rotina de interrup¸c˜ao ser finalizada.
Figura 6.12: Diagrama de atividades da interrup¸c˜ao gerada pelo Sistema Central.
• Monitorar oscila¸c˜ao na rede el´etrica: Essa atividade representa exatamente quando a interrup¸c˜ao ´e tratada, ou seja, a interrup¸c˜ao ´e gerada quando ocorre alguma oscila¸c˜ao de energia, queda na rede el´etrica ou retorno da rede el´etrica.
• Notificar usu´ario para oscila¸c˜ao de energia A rotina da interrup¸c˜ao consiste em notificar o usu´ario de queda ou retorno na rede el´etrica enviando uma mensagem de texto para os usu´arios cadastrados no banco de dados do sistema.