(19 revisões intermediárias por 3 usuários não estão sendo mostradas)
Linha 8: Linha 8:
** eHouse
** eHouse
* '''2.  Qual o objetivo deste projeto?'''
* '''2.  Qual o objetivo deste projeto?'''
** Criar um meio de automação residencial visando à criação de um software que monitorará o consumo energético das tomadas gerando relatórios, gráficos, comparações e gerenciará metas de consumo estabelecidas pelo usuário. Além disso, o software proporcionará controles de intensidade luminosa das lâmpadas e evitará desperdício de energia por equipamentos em stand by.
** Criar um meio de automação residencial visando à criação de um software que monitorará o consumo energético das tomadas e lâmpadas gerando relatórios, gráficos, comparações e gerenciará metas de consumo estabelecidas pelo usuário. Além disso, o software proporcionará controles de intensidade luminosa das lâmpadas e evitará desperdício de energia por equipamentos em stand by.
* '''3.  Quais os maiores desafios, na sua opinião, para se realizar este trabalho?'''
* '''3.  Quais os maiores desafios, na sua opinião, para se realizar este trabalho?'''
** Programação orientada ao objeto apresenta uma dificuldade, pelo fato de nos levar a ter de conhecer melhor nossos hardwares e como eles interagem com o software .
** Programação orientada ao objeto apresenta uma dificuldade, pelo fato de nos levar a ter de conhecer melhor nossos hardwares e como eles interagem com o software .
** Transmissão dos dados coletados e armazenados no servidor para o aplicativo no smartphone.
** Transmissão dos dados coletados e armazenados no banco de dados para o aplicativo no smartphone.
** Levantar os dados de forma geral sobre o que representa as fontes de consumo de uma casa e os principais fatores de desperdício a serem atacados .
** Levantar os dados de forma geral sobre o que representa as fontes de consumo de uma casa e os principais fatores de desperdício a serem atacados .
* '''4.  Quais os conhecimentos básicos que devemos ter para se implementar este projeto?'''
* '''4.  Quais os conhecimentos básicos que devemos ter para se implementar este projeto?'''
** Deve-se ter conhecimentos na área de programação voltada ao objeto, de hardwares como o Arduíno, que realizarão todo o controle do sistema e a comunicação com as interfaces gráficas.
** Deve-se ter conhecimentos na área de programação voltada ao objeto, de hardwares como o Arduíno, que realizarão todo o controle do sistema e a comunicação com as interfaces gráficas.
** Conhecimento de desenvolvimento de aplicativos para Android  para criar um ambiente de interação com o usuário que poderá controlar os equipamentos elétricos bem como obter os dados de consumo energético da residência.
** Conhecimento de desenvolvimento de aplicativos para Android  para criar um ambiente de interação com o usuário que poderá controlar os equipamentos elétricos bem como obter os dados de consumo energético da residência.
** Eletrônica devido a vasta utilização de sensores e atuadores que devem ser implementados previamente.
** Eletrônica devido a vasta utilização de sensores e atuadores que devem ser implementados previamente.
Linha 29: Linha 29:
** Acreditamos que a tecnologia poderá  resultar em economias consideráveis na conta de energia, tendo em vista que a partir dos dados sobre o consumo poderão ser traçadas estratégias para otimizar a utilização de energia. Além da economia, também há os benefícios na praticidade, pois apenas utilizando o celular poderemos controlar a luminosidade das lâmpadas e o gasto de energia de equipamentos em stand by, além de ser acessível, fácil uso e portátil.
** Acreditamos que a tecnologia poderá  resultar em economias consideráveis na conta de energia, tendo em vista que a partir dos dados sobre o consumo poderão ser traçadas estratégias para otimizar a utilização de energia. Além da economia, também há os benefícios na praticidade, pois apenas utilizando o celular poderemos controlar a luminosidade das lâmpadas e o gasto de energia de equipamentos em stand by, além de ser acessível, fácil uso e portátil.
* '''3. Porque usar o hardware específico?'''
* '''3. Porque usar o hardware específico?'''
** Com a intenção de que o produto final seja atraente para qualquer consumidor, optamos por um hardware de baixo custo, com boa eficiência e fácil manutenção. Além de que o mesmo proporciona uma fácil programação e integração do software com todos periféricos necessários, desde os sensores para entrada de dados até as informações exibidas na tela de um smartphone como saída.
** Com a intenção de que o produto final seja atraente para qualquer consumidor, optamos por um hardware de baixo custo, com boa eficiência e fácil manutenção como é o arduino. Além de que o mesmo proporciona uma fácil programação e integração do software com todos periféricos necessários, desde os sensores para entrada de dados até as informações exibidas na tela de um smartphone como saída.
*''' 4. Porque usar o sistema específico?'''
*''' 4. Porque usar o sistema específico?'''
** Os aparelhos celulares hoje em dia são bastante acessíveis, por isso acreditamos que a interface gráfica do eHouse deverá ser desenvolvida para ser utilizada nestes aparelhos. Já o Hardware utilizado apresenta um bom custo benefício, pois para realizar as funcionalidades do projeto não é necessário o uso de um micro controlador mais sofisticado, consequentemente,  a economia gerada pela escolha do hardware contribuirá para a facilidade de adquirir o sistema.
** Os smartphones, hoje em, dia são bastante acessíveis, por isso acreditamos que a interface gráfica do eHouse deverá ser desenvolvida para ser utilizada nestes aparelhos. Já o Hardware utilizado apresenta um bom custo benefício, pois para realizar as funcionalidades do projeto não é necessário o uso de um micro controlador mais sofisticado, consequentemente,  a economia gerada pela escolha do hardware contribuirá para a facilidade de adquirir o sistema.
<br>
<br>


Linha 87: Linha 87:


* '''1. Como será dividido o desenvolvimento do sistema?'''
* '''1. Como será dividido o desenvolvimento do sistema?'''
** O sistema será desenvolvido a partir de três segmentos:  
** O sistema será desenvolvido a partir de:
*** especificações e desenvolvimento dos hardwares (sensores, atuadores, periféricos de comunicação);
*** pesquisa, levantamento de dados utilizados, implementação dos softwares e do aplicativo para smartphone;  
*** desenvolvimento dos softwares (aplicativo para smatphones e a programação do arduíno);
*** estabelecer a comunicação entre o sistema e o banco de dados;
*** implementação, visando possíveis correções de erros, melhorias e adaptações do sistema.
*** período de testes e aprimoramento do sistema.
* '''2. Como será feita a entrada de dados? '''
* '''2. Como será feita a entrada de dados? '''
** As entradas de dados estão relacionadas aos sinais do ambiente (temperatura, potência elétrica e luminosidade), obtidos a partir dos sensores e enviados para o arduino, e de dados referentes a comandos inseridos pelo usuário pelo smartphone, para o controle de determinado equipamento elétrico residencial ou obter o relatório de consumo energético do ambiente.  
** A entrada de dados será feita a partir dos sensores de corrente elétrica nas tomadas e lâmpadas e também pelo aplicativo, quando o usuário desejar fazer algum controle.
* '''3. Como será feita a saída de dados? '''
* '''3. Como será feita a saída de dados? '''
** Os sinais de saída serão feitas nos smatphones, para o usuário observar o consumo energético residencial e o estado atual dos equipamentos elétricos da casa, e nos dispositivos atuadores, para gerirem uma modificação no estado desses equipamentos, através do controle proporcionado pelo arduino.
** A saída de dados será feitas por meio de relatórios gerados pelo sistema.  
* '''4. Descreva a 1a. funcionalidade? '''
* '''4. Descreva a 1a. funcionalidade? '''
** Opções de controle manual via smartphone dos equipamentos elétricos residenciais pelo usuário.
** Cadastro de usuários.
* '''5. Descreva a 2a. funcionalidade?'''
* '''5. Descreva a 2a. funcionalidade?'''
** Controle das tomadas da residência, evitando desperdícios de energia por equipamentos em stand-by.
** Cadastro de cômodos da residência.
*''' 6. Descreva a 3a. funcionalidade?'''
*''' 6. Descreva a 3a. funcionalidade?'''
** Controle do brilho das lâmpadas proporcional à luminosidade do ambiente.
** Cadastro de tomadas.
* '''7. Descreva a 4a. funcionalidade?'''
* '''7. Descreva a 4a. funcionalidade?'''
** Ligar e apagar as luzes por sensores de presença.
** Cadastro de lâmpadas.
* '''8. Descreva a 5a. funcionalidade?'''
* '''8. Descreva a 5a. funcionalidade?'''
** Controle da temperatura do ar condicionado.
** Cadastro de equipamentos eletrodomésticos (por tomada ).
* '''9. Descreva a 6a. funcionalidade?'''
* '''9. Descreva a 6a. funcionalidade?'''
** Obter informações sobre consumo energético residencial. <br>
** Pesquisa de equipamentos, de lâmpadas e tomadas.
* '''10. Descreva a 7a. funcionalidade?'''
** Controle das tomadas da residência, evitando desperdícios de energia por equipamentos em stand by.
* '''11. Descreva a 8a. funcionalidade?'''
** Controle do brilho das lâmpadas.
* '''12. Descreva a 9a. funcionalidade?'''
** Gerar relatório de consumo da casa por período desejado (dia,mês,semestre,ano).
* '''13. Descreva a 10a. funcionalidade?'''
** Gerar gráfico de consumo da casa.
* '''14. Descreva a 11a. funcionalidade?'''
** Inserir meta de consumo pelo usuário.
* '''15. Descreva a 12a. funcionalidade?'''
** Comparar meta de consumo do usuário com o consumo real.
* '''16. Descreva a 13a. funcionalidade?'''
** Comparar períodos diferentes de consumo.
* '''17. Descreva a 14a. funcionalidade?'''
** Cálculo da redução de consumo de energia com a redução da luminosidade das lâmpadas.
* '''18. Descreva a 15a. funcionalidade?'''
** Suporte e ajuda, no aplicativo, para auxilio ao usuário. <br>


== How much ==
== How much ==
Linha 115: Linha 133:
*** Arduino: em torno de R$80;
*** Arduino: em torno de R$80;
*** Ethernet Shield: em torno de R$150;
*** Ethernet Shield: em torno de R$150;
*** Dispositivos de saída: em torno de R$200;
*** Dispositivos de saída: em torno de R$100;
* '''2. Quanto deverá custar todo o sistema? '''
* '''2. Quanto deverá custar todo o sistema? '''
** O preço total do projeto varia de acordo com a residência (número de tomadas, lâmpadas e ar condicionados). Mas para um único sistema, todos os componentes chegarão a custar aproximadamente 144 reais.
** O preço total do projeto varia de acordo com a residência (número de tomadas e lâmpadas). Mas para três sistemas, todos os componentes chegarão a custar aproximadamente 330 reais.
* '''3. Quantas pessoas deverão ser usadas (Equipe) ? '''
* '''3. Quantas pessoas deverão ser usadas (Equipe) ? '''
** Um programador para a implementação do aplicativo para o smatphone.
** Um programador para implementação do aplicativo
** Um engenheiro para as especificações e implementações dos hardwares além da codificação do programa para o arduino.
** Outro programados para a implementação do software no arduino e implementação da comunicação do mesmo com o banco de dados.
** Um engenheiro para integrar o software e o hardware, que foi especificado e desenvolvido pelo mesmo.
** Dois técnicos para a manutenção e instalação do sistema.
** Dois técnicos para a manutenção e instalação do sistema.
* '''4. Quanto custa cada profissional?'''
* '''4. Quanto custa cada profissional?'''
** Engenheiro: R$5000/mês;
** Engenheiro: R$5000/mês;
** Programador: R$3000/mês ;
** Programador: R$3000/mês;
** Técnico: R$1200/mês;
** Técnico: R$1200/mês;
* '''5. Qual deverá ser o preço de aquisição do seu software para o usuário final (Valor de mercado)?  '''
* '''5. Qual deverá ser o preço de aquisição do seu software para o usuário final (Valor de mercado)?  '''
** O preço para a aquisição do software será a partir de 10000 reais.
** O preço para a aquisição do software será a partir de 1500 reais.
<br>
<br>


Linha 141: Linha 160:
== DER ==
== DER ==


[[Arquivo:DER_eHouse1.PDF]]
* Entidades  
* Entidades  
* Relacionamentos
* Relacionamentos
Linha 148: Linha 168:
== DD ==
== DD ==


* Descritivos de cada item
== A - Processos ==
** Significado
 
** Conteúdo (Dados compostos)
 
** Restrições de integridade
'''00. Menu Inicial (Usuário)'''
** Chave primária (Depósitos de Dados)
 
*Mostrar as opções:
**Autenticar usuário;
**Cadastros:
***Cadastrar Lâmpadas;
***Cadastrar Tomadas;
***Atualizar Cadastros;
***Excluir Cadastro;
**Pesquisar Lâmpadas, tomadas e cômodos;
**Controles:
***Controlar a intensidade luminosa;
****Mostrar alteração do consumo com a alteração da intensidade luminosa;
***Controlar tomada;
**Inserir meta de consumo;
**Gerar relatório:
***Gerar gráfico de consumo;
***Comparar períodos de consumo;
***Comparar meta e dados de consumo;
 
 
'''01. Menu Inicial (Administrador)'''
 
*Mostrar as opções:
**Autenticar usuário;
***Cadastros:
***Cadastrar Lâmpadas;
***Cadastrar Tomadas;
***Cadastrar Cômodo;
***Cadastrar Usuário;
***Atualizar Cadastros;
***Excluir Cadastro;
**Definir acessos;
**Pesquisar
**Controles:
***Controlar a intensidade luminosa;
****Mostrar alteração do consumo com a alteração da intensidade luminosa;
***Controlar tomada;
**Inserir meta de consumo;
**Gerar relatório:
***Gerar gráfico de consumo;
***Comparar períodos de consumo;
***Comparar meta e dados de consumo;
 
 
'''02. Autenticação de Usuário'''
*Mostrar os campos para preenchimento:
**Nome de usuário;
**Senha;
*Depois de inseridos os campos e confirmados pelo usuário, o sistema buscaria no depósito Usuário o respectivo usuário e a senha correspondente;       
*Permitirá o acesso caso os dados inseridos correspondam aos dados do depósito Usuário. 
 
 
'''03. Cadastrar Cômodo'''
 
*Apenas o administrador poderá cadastrar os cômodos.
*Para cada cômodo a ser cadastrado o administrador poderá cadastrar as identificações das lâmpadas e das tomadas referentes ao cômodo.
*O sistema irá mostrar os campos para preenchimento:
**Local (armazenado no depósito Cômodo);
**Identificações das lâmpadas (armazenado no depósito Lâmpada)
**Identificações das tomadas (armazenado no depósito Tomada);
*Para cada identificação inserida haverá um novo campo (referente ao mesmo equipamento) para que se possa inserir outra identificação.
*Cada identificação estará relacionada a um cadastro futuro de lâmpadas e tomadas;
*Após inseridos e confirmados os dados, estes serão armazenados nos depósitos especificados em cada campo anteriormente.
 
 
'''04. Cadastrar Lâmpadas'''
 
*O sistema mostrará um campo mostrando todos os cômodos já cadastrados pelo administrador.
*Primeiramente, o usuário deve selecionar o cômodo, que é obtido no depósito Cômodo, aonde se encontra a lâmpada a ser cadastrada;
*Após selecionar um cômodo, o sistema mostraria todas as identificações das lâmpadas, que são obtidas no depósito Lâmpadas, do local;
*Selecionando a lâmpada ele mostraria os campos para preenchimento:  
**Potência;
**Tensão;
**Modelo
**Marca;
**Tipo;
**Preço;
**Tempo de vida;
*Os dados inseridos e confirmados serão armazenados no depósito Lâmpadas.
 
 
'''05. Cadastrar Tomadas'''
 
*O sistema mostrará um campo mostrando todos os cômodos já cadastrados pelo administrador.
*Primeiramente, o usuário deve selecionar o cômodo, que é obtido no depósito Cômodo, aonde se encontra a tomada a ser cadastrada;
*Após selecionar um cômodo, o sistema mostraria todas as identificações das tomadas, que são obtidas no depósito Tomadas, do local;
*Selecionando a tomada ele mostraria os campos para preenchimento:
**Tensão;
**Equipamento conectado;
*Os dados inseridos e confirmados serão armazenados no depósito Tomadas.
 
 
'''06. Inserir meta de consumo'''
*O sistema irá mostrar um campo para preenchimento relacionado à meta de consumo do usuário em relação ao consumo geral da residência.
*Inserido o valor (relacionado ao consumo desejado no mês) e confirmado, o sistema irá guardar o valor no depósito do usuário, pois cada usuário poderá estabelecer uma meta de consumo.
 
 
'''07. Pesquisar '''
 
*O sistema mostra o campo buscar, a ser preenchido pelo usuário.
*O usuário insere alguma palavra e o sistema irá buscar por lâmpadas, tomadas e cômodos cadastrados a partir da busca por:
**Identificações de lâmpadas e tomadas;
**Cômodos;
**Marca de lâmpadas;
**Modelo de lâmpadas;
**Tensão;
**Potência;
**Preço;
**Tempo de vida;
*Inserido uma palavra, o sistema irá buscar a correspondente nos depósitos Cômodo, Lâmpada, Tomada e Histórico.
*Caso o sistema encontre a correspondente, mostrará na tela o nome do cômodo e/ou a identificação da lâmpada e/ou a identificação da tomada.
*A lista formada pelo resultado da pesquisa permite que o usuário possa selecionar algum elemento da mesma e obter todas as informações referentes ao elemento, buscadas nos respectivos depósitos, além do seu consumo, buscada no depósito Consumo.
 
 
'''08. Controlar a intensidade luminosa'''
 
*O sistema irá mostrar todos os cômodos já cadastrados, buscados no depósito Cômodo, e o usuário selecionará o cômodo onde estará a lâmpada a ser cadastrada.
*O sistema irá mostrar todas as lâmpadas, buscadas no depósito Lâmpada, referentes àquele cômodo e o usuário irá selecionar a que deseja controlar.
*O sistema irá mostrar a imagem de uma lâmpada qualquer e um scroll bar, aonde o usuário poderá controlar a intensidade luminosa.
*Utilizando o scroll bar, o aplicativo comunicará com o arduíno, que modificará o valor médio da tensão elétrica sob a lâmpada, variando a intensidade luminosa.
 
 
'''09. Controlar as tomadas'''
 
*O sistema irá mostrar todos os cômodos já cadastrados, buscados no depósito Cômodo, e o usuário selecionará o cômodo onde estará o cômodo a ser cadastrada.
*O sistema irá mostrar todas as tomadas, buscadas no depósito Tomada, referentes àquele cômodo e o usuário irá selecionar a que deseja controlar.
*O sistema irá mostrar um Button que indicará o estado On/Off da tomada bem como permitirá o controle da mesma pelo usuário.
 
 
'''10. Coletar dados de consumo'''
 
*O arduíno obterá valores de tensão e corrente instantâneos das lâmpadas e das tomadas a cada segundo através dos sensores instalados em cada parte elétrica da casa.
*Os dados de tensão e corrente serão enviados interruptamente ao banco de dados, aonde serão armazenados nos depósitos Consumo das Lâmpadas e Consumo das Tomadas.
*Associados a cada dado de tensão e corrente, estarão a hora e a data de quando os dados foram obtidos.
 
 
'''11. Gerar gráfico de consumo'''
 
*O sistema irá mostrar todos os cômodos já cadastrados, buscados no depósito Cômodo, e o usuário selecionará o cômodo onde estará a lâmpada ou tomada que deseja obter o relatório de consumo
*O sistema irá mostrar todas as lâmpadas e tomadas, buscadas no depósito Lâmpada e Tomadas, referentes àquele cômodo e o usuário irá selecionar a que deseja obter o relatório.
*Selecionada a tomada, o sistema mostrará períodos de tempo em que o usuário deseja ver o consumo. A seleção será feita a partir da lista com os elementos:
**Hora;
**Dia;
*A partir disso, o sistema irá mostrar três campos a serem preenchidos, relacionados ao intervalo de tempo do consumo:
**Início do intervalo;
**Término do intervalo;
**Data.
*Caso seja selecionado o elemento Hora, o intervalo de tempo será dado em relação a horários.
*Caso seja selecionado o elemento Dia, o intervalo de tempo será dado em relação a datas e o campo Data não necessitará ser preenchido.
*Se todos os dados forem preenchidos corretamente, em relação às datas (datas que já possuem registro de consumo) e horários (horas e minutos existentes), o sistema irá mostrar um gráfico de potência em função do intervalo de tempo especificado pelo usuário.
*Se o intervalo de tempo for em relação à dias, o gráfico mostrará os valores médios de potência consumida em cada dia do intervalo.
*Se o intervalo de tempo for em relação à horas, o gráfico mostrará os valores de potência instantânea consumida ao longo do dia e horário especificado.
*Potência = P = V.I, onde V = (tensão instantânea) e I = (corrente elétrica instantânea).
*Para cada gráfico gerado o sistema irá calcular a média de consumo do intervalo de tempo especificado, somando todas as potências e dividindo pelo mesmo intervalo.
*Caso os campos forem preenchidos inadequadamente, uma mensagem de erro aparecerá na tela do dispositivo.
 
 
'''12. Mostrar alteração do consumo com a alteração da intensidade luminosa'''
 
*Na mesma tela aonde o usuário irá controlar a intensidade luminosa, haverá um campo que mostrará as alterações de consumo com a variação da intensidade luminosa.
*Quando o usuário for ajustar a intensidade luminosa, o sistema irá calcular a diferença de intensidade atual e a final, calculando a alteração de potência (Pf - Pi), onde Pf = potência final e Pi = potência inicial, e multiplicando por 3600, para corresponder a uma alteração definida por Potência/Hora.
*A alteração calculada será mostrada na tela para o usuário.
*O valor será mantido na tela até que o usuário confirme ou cancele a opção de controle da intensidade luminosa da lâmpada especificada.
 
 
'''13. Comparar períodos de consumo'''
 
*O sistema funcionará de forma semelhante a descrita no processo Gerar Gráfico de Consumo.
*O usuário irá especificar dois dispositivos a serem comparadas em relação ao consumo. Para isso o sistema irá mostrar dois campos de seleção, cada campo contendo todos os dispositivos (lâmpadas e tomadas) já cadastradas.
*Após a confirmação dos dispositivos, o sistema irá mostrar o campo para seleção dos intervalos de tempo. Essa etapa é idêntica ao descrita no processo Gerar Gráficos de consumo.
*Caso o usuário insira dados incorretos, uma mensagem de texto será mostrada na tela.
*Caso os dados estejam corretos, o sistema irá plotar, em um mesmo gráfico, os dados de consumo dos respectivos dispositivos selecionados, sendo distinguidos por cores diferentes, pelo intervalo de tempo desejado.
*Os dados são obtidos nos respectivos depósitos de dados.
*Em conjunto aos gráficos o sistema mostrará a média de consumo de cada dispositivo no período. O cálculo é o mesmo descrito anteriormente.
 
 
'''14. Comparar meta e dados de consumo'''
 
*Ao escolher a sub-opção Comparar meta e dados de consumo na opção Gerar relatórios no menu principal, o sistema irá mostrar a lista de cômodos da casa, que selecionados irão mostrar os dispositivos cadastrados nesses locais.
*Selecionando o dispositivo, o sistema irá mostrar uma lista com os anos que já possuem dados de consumo salvos.
*Selecionado um ano, o sistema irá mostrar os meses que já possuem dados de consumo salvos.
*Selecionado o mês, o sistema obterá os dados, no depósito de consumo do respectivo dispositivo e irá calcular o consumo daquele mês, mostrando na tela o valor deste e o valor da meta estabelecida pelo usuário.
*O sistema irá mostrar também o consumo diário do mês selecionado, comparando o valor calculado com a meta diária. Este é obtido através da razão da meta de consumo mensal pelo número de dias do mês selecionado.
 
 
'''15. Atualizar cadastro'''
 
*O sistema irá mostrar um campo de seleção de uma lista, que possui os seguintes campos:
**Cômodos;
**Lâmpadas;
**Tomadas;
*Após a seleção de algum item, o sistema irá buscar no respectivo depósito, todos os elementos cadastrados, sendo mostrados em uma lista para que o usuário possa selecionar algum deles.
*Para tomadas e lâmpadas:
**Selecionado um elemento o usuário poderá alterar os dados do dispositivo, sendo mostrados os mesmos campos do seu cadastro.
**Após confirmar os dados, o sistema irá salvar os dados do antigo dispositivo no depósito histórico
*Para cômodos:
**Selecionado um elemento o usuário poderá alterar os dados do cômodo, sendo mostrados os mesmos campos do seu cadastro. Os dados alterados serão salvos no depósito de cômodo.
*A interface do administrador poderá também alterar os cadastros de usuários
**Selecionado um usuário o administrador poderá alterar os dados do usuário, sendo mostrados os mesmos campos do seu cadastro. Os dados alterados serão salvos no depósito de usuário.
 
 
'''16. Excluir'''
 
*O sistema irá mostrar um campo de seleção de uma lista, que possui os seguintes campos:
**Cômodos;
**Lâmpadas;
**Tomadas;
*Após a seleção de algum item, o sistema irá buscar no respectivo depósito, todos os elementos cadastrados, sendo mostrados em uma lista para que o usuário possa selecionar algum deles.
*Selecionado um elemento, o usuário poderá excluí-lo, mostrando na tela uma mensagem de confirmação.
*Excluir um usuário poderá ser feita apenas pelo administrador. Na tela irá mostrar a opção usuário e se selecionado, irá mostrar todos os elementos cadastrados e armazenado no depósito Usuário.
*Selecionando um usuário, aparecerá uma mensagem de confirmação para exclusão.
 
 
== B - Depósitos ==
 
'''Deposito: Usuário'''
 
*NomeUsuario:Uma string de caracteres com o nome do usuário para login. (Chave Primária)
*Nome Pessoa: Uma string contendo o nome completo do usuário.
*Senha: Uma string contendo a chave de acesso do usuário.
*Meta: Um numero inteiro indicando o que deve ser gasto no mês.
 
 
'''Deposito: Acesso'''
 
*NomeUsuario: Uma string obtida a partir do deposito Usuário para indicar de quem se trata. (Chave Primária)
*IdComodo:Um numero inteiro que é o código de um cômodo específico. (Chave Primária)
 
 
'''Deposito: Cômodo'''
 
*IdComodo: Um número inteiro indicando um cômodo específico. (Chave Primária)
*NomeComodo:Uma string indicando o nome do comodo utilizado (sala,quarto).
 
 
'''Deposito: Lâmpadas'''
 
*IdLampadas: Um número inteiro que indica qual lâmpada é (numero único para cada lâmpada já usada). (Chave Primária)
*Modelo: Uma string com o modelo da lâmpada específica.
*Marca: Uma string com a marca da lâmpada específica.
*Potência: Um inteiro que guarda a potência nominal da lâmpada específica (60W,40W e etc).
*DuraEspHoras: Um número inteiro com o esperado de durabilidade para a  lâmpada.
 
 
'''Deposito: Tomadas'''
*IdTomada: Número inteiro que indica de qual tomada se trata.
*Comodo: Campo recebe as infos do depósito Comodo.
*Tensao: Inteiro que mostra a tensão nominal da  tomada referida[127,220].
*Equipamento:String que contém o equipamento ligado na tomada específica.
 
 
'''Deposito: LocalTomadaLamp'''
 
*IdLocalLamp:Número inteiro exclusivo que indica de qual "boquilha" se trata. (Chave primária)
*Comodo: Campo aponta para o depósito Comodo.
*Tensão: Valor inteiro [127,220] indicando a tensão da "boquilha".
 
 
'''Deposito: ConsumoLamp'''
 
*IdLamp: Número inteiro que recebe do deposito LocalTomadaLamp indicando a  boquilha. (Chave Primária)
*Data: Número inteiro que indica a data da coleta dos dados. (Chave Primária)
*Hora: Número inteiro que indica a hora exata da coleta dos dados. (Chave Primária)
*Tensão:Dado float da tensão na lâmpada no dado estante.
*Corrente: Dado float da corrente na lâmpada no dado estante.
 
 
'''Deposito: ConsumoTomada'''
 
*IdTomada: Número inteiro que recebe do deposito tomdas o campo Idtomada. (Chave Primária)
*Data: Número inteiro que indica a data da coleta dos dados. (Chave Primária)
*Hora: Número inteiro que indica a hora exata da coleta dos dados. (Chave Primária)
*Tensão:Dado float da tensão na tomada no dado estante.
*Corrente: Dado float da corrente na tomada no dado estante.
 
 
'''Deposito: Histórico'''
 
*IdLocalLamp: Indica  o deposito que contém as informações  da lâmpada referida. (Chave Primária)
*IdTomada:Indica o deposito que contém as informações da tomada referita. (Chave Primária)
*Data:Numero inteiro contendo a data em o dado foi gravado no histórico.
*DurabilidadeHoras: Numero inteiro que guarda a informação da durabilidade de determinado equipamento em horas de uso.
 
 
== C - Entidades Externas ==
 
 
'''Entidade externa: Usuário'''
 
*Interface Gráfica composta de um menu com as seguintes opções:
**Autenticar usuário;
**Cadastros:
***Cadastrar Lâmpadas;
***Cadastrar Tomadas;
***Atualizar Cadastros;
***Excluir Cadastro;
**Pesquisar Lâmpadas, tomadas e cômodos;
**Controles:
***Controlar a intensidade luminosa;
****Mostrar alteração do consumo com a alteração da intensidade luminosa;
***Controlar tomada;
**Inserir meta de consumo;
**Gerar relatório:
***Gerar gráfico de consumo;
***Comparar períodos de consumo;
***Comparar meta e dados de consumo;
 
 
'''Entidade externa: Administrador:'''
 
*Possui as mesmas opções de menu que o usuário, incluindo:
**Cadastrar Cômodo;
**Cadastrar Usuário;
**Excluir Cadastro;
**Definir acessos;
 
 
'''Entidade externa: Lâmpada e tomada'''
 
*Dispositivos aos quais o arduino fará leitura de corrente e tensão elétrica sob os mesmo, enviando as informações para o banco de dados.
*A lâmpada poderá ser controlada pelo usuário, variando sua intensidade luminosa.
*A tomada poderá ser controlada pelo usuário, inativando ou ativando seu estado.
 
 
'''Equipamentos'''
 
*Arduino
*Conexões
*Sensores de corrente e tensão
*Resistores
*Ethernet Shield
 
 
'''Sistemas'''
 
*Meios de comunicação com outros softwares
*Aplicativo para smartphone
*Conectores
*Domínios
 
 
== D - Requisitos não funcionais ==
 
 
*Não poderá parar o armazenamento de dados dos sensores por mais de 2min.
*Tem que ser restaurado imediatamente caso haja corrupção dos dados.
*Gravar dados na memória física para precaver possíveis falhas de comunicação com o banco de dados.
*Obter possíveis dados perdidos na memória física.
*Bloqueio do acesso ao sistema com mais de 3 tentativas com falha.
*Necessita de um banco de dados
*Deve ter baixo tempo de resposta
*Requer utilização de sensores de corrente e tensão elétricas.
*Necessita de um Banco de Dados
*Necessita ter segurança contra acessos indevidos
*Deve rodar em smartphones
*Deverá estar hospedado na Play Store e em um website.
*Deverá ter interface intuitiva
 
 
 
<br>
<br>


Linha 159: Linha 539:
== Diagrama de Classes ==
== Diagrama de Classes ==


== Diagrama de Estado ==
[[Arquivo:Diagrama de Classes - eHouse.pdf]]


== Diagrama de  Casos de Uso ==
== Diagrama de  Casos de Uso ==
[[Arquivo:Diagrama Caso de Uso  eHouse.pdf]]


== Diagrama de Sequência ==
[[Arquivo:Detalhamento_Caso_de_Uso_eHouse.pdf]]
 
== Diagrama de Objetos ==


== Diagrama de Colaboração ==
== Diagrama de Colaboração ==
 
[[Arquivo:DiagramaColaboração.pdf]]
== Diagrama de  Interfaces ==
 
== Diagrama de Atividades ==
 
== Diagrama de Componentes ==
 
== Diagrama de Pacotes ==


= Protótipo =
= Protótipo =


* Objetivo
* Objetivo
**O Protótipo tem por objetivo a demonstração de algumas das funções do sistema completo, serão demonstradas as funções de controle da luminosidade de uma lâmpada a partir de um dimmer controlado por blueetoth por meio de uma interface gráfica, e o acionamento da lâmpada também pelo módulo blueetooth. Utilizando uma interface gráfica web é feito um escopo do que será o sistema completo a ser utilizado pelo consumidor final.
* Recursos utilizados
* Recursos utilizados
**Dimer:
***CIs:
****Moc3021
****4n25
***Resistores:
****22k ohms
****220 ohms
****2,2k ohms
****33k ohms
****150 ohms
****16k ohms
***Triac BTA12-600
**Comunicação:
****Módulo  bluetooth hc-05
**** 2 resistores de 1k
**** 1 resistor de 1,3k
**Arduino UNO
* Funcionamento
* Funcionamento
**O arduino controla uma lâmpada, à partir de um dimmer e um módulo bluetooth,que é responsável com a comunicação com a interface no computador.A interface feita utilizando o programa QT  possibilita controlar por meio de um scroll bar a porcentagem de potência entregue a lâmpada ,desligar ou ligar ela por meio de botões,controle esse que seria feito pelo relé no sistema completo, para haver total abertura do circuito.Para simplificação da comunicação serial da interface com o programa do arduino o dimmer faz essa função no protótipo, quando o botão on é ligado ele funciona como uma chave aberta e quando o botão off é pressionado como uma chave fechada.
**A interface gráfica para o usuário, onde o mesmo no sistema completo poderá utilizar de todas as funções em apenas um local foi desenvolvida por meio de um website, trazendo um escopo do que será e como será  feita a interação com o usuário.
***Possíveis falhas na apresentação do projeto :
**** falha na cominucação bluetooth
**** falha ao tentar entrar no web site do projeto
**** falha na atuação do dimmer
**** falha na execução das funções de controle de luminosidade
* Detalhamento (Imagens, vídeos, ...)
* Detalhamento (Imagens, vídeos, ...)
**Interface Gráfica de Controle:
[[Arquivo:interfacegrafica.jpg]]
**InerfaceGraficaweb
[[Arquivo:interfacegraficaweb.jpg]]
**Funcionamento do controle de luminosidade
[[Arquivo:ehouse1.jpg]]
[[Arquivo:ehouse2.jpg]]
[[Arquivo:ehouse3.jpg]]
* Resultados obtidos
* Resultados obtidos
**O controle de luminosidade e o on/ff com o arduino são relativamente simples e não apresentaram grandes desafios, além de serem relativamente baratos. O grande desafio foi a integração da comunicação serial via bluetooth com a interface criada no QT que apresentou grandes problemas para ser criada,conflitos no uso de duas janelas de interface com a serial foi um problema e nos fez utilizar apenas o dimmer e não o relé. No geral foi um grande desafio conseguir que ela funcionasse perfeitamente devido a ser algo totalmente novo ao grupo.
**A funcionalidade de medir o consumo se apresentou muito problemática quando se trata de consumo real.Porque devido ao modo de funcionamento de um dimmer, a forma de onda da corrente e da tensão na lâmpada fica extremamente distorcida, o que torna a medida de valores médios, e médios quadráticos extremamente complexa.
**A interface gráfica na  web não foi muito complexa, entretanto gerar gráficos automaticamente com dados recebidos é algo que se demonstrou extremamente complexo.


= Pesquisador =
= Pesquisador =

Edição atual tal como às 14h55min de 9 de dezembro de 2015

5W2H


What


  • 1. Qual o nome do seu projeto?
    • eHouse
  • 2. Qual o objetivo deste projeto?
    • Criar um meio de automação residencial visando à criação de um software que monitorará o consumo energético das tomadas e lâmpadas gerando relatórios, gráficos, comparações e gerenciará metas de consumo estabelecidas pelo usuário. Além disso, o software proporcionará controles de intensidade luminosa das lâmpadas e evitará desperdício de energia por equipamentos em stand by.
  • 3. Quais os maiores desafios, na sua opinião, para se realizar este trabalho?
    • Programação orientada ao objeto apresenta uma dificuldade, pelo fato de nos levar a ter de conhecer melhor nossos hardwares e como eles interagem com o software .
    • Transmissão dos dados coletados e armazenados no banco de dados para o aplicativo no smartphone.
    • Levantar os dados de forma geral sobre o que representa as fontes de consumo de uma casa e os principais fatores de desperdício a serem atacados .
  • 4. Quais os conhecimentos básicos que devemos ter para se implementar este projeto?
    • Deve-se ter conhecimentos na área de programação voltada ao objeto, de hardwares como o Arduíno, que realizarão todo o controle do sistema e a comunicação com as interfaces gráficas.
    • Conhecimento de desenvolvimento de aplicativos para Android para criar um ambiente de interação com o usuário que poderá controlar os equipamentos elétricos bem como obter os dados de consumo energético da residência.
    • Eletrônica devido a vasta utilização de sensores e atuadores que devem ser implementados previamente.
  • 5. Quais soluções similares existem no mercado?
    • A domótica em geral é um tema que já é bastante pesquisado,entretanto existem poucas saídas e projetos voltados para se diminuir o consumo de energia.Uma alternativa que se assemelha a esse projeto é o Z-Wave da Schneider Eletric, que consiste em um medidor de consumo elétrico de até 5 sistemas e elimina o consumo de equipamentos stand-by.


Why


  • 1. Porque é interessante desenvolver este projeto?
    • Com a realidade em que vivemos hoje, o consumo de energia se tornou algo crítico, de forma que conseguir gerir melhor a eletricidade que usamos, evitando desperdícios se tornou algo extremamente válido. Além do fato de proporcionar uma maior interação do indivíduo com sua residência, proporciona maior bem estar e economia na conta de energia elétrica.
  • 2. Porque deve usar a tecnologia escolhida?
    • Acreditamos que a tecnologia poderá resultar em economias consideráveis na conta de energia, tendo em vista que a partir dos dados sobre o consumo poderão ser traçadas estratégias para otimizar a utilização de energia. Além da economia, também há os benefícios na praticidade, pois apenas utilizando o celular poderemos controlar a luminosidade das lâmpadas e o gasto de energia de equipamentos em stand by, além de ser acessível, fácil uso e portátil.
  • 3. Porque usar o hardware específico?
    • Com a intenção de que o produto final seja atraente para qualquer consumidor, optamos por um hardware de baixo custo, com boa eficiência e fácil manutenção como é o arduino. Além de que o mesmo proporciona uma fácil programação e integração do software com todos periféricos necessários, desde os sensores para entrada de dados até as informações exibidas na tela de um smartphone como saída.
  • 4. Porque usar o sistema específico?
    • Os smartphones, hoje em, dia são bastante acessíveis, por isso acreditamos que a interface gráfica do eHouse deverá ser desenvolvida para ser utilizada nestes aparelhos. Já o Hardware utilizado apresenta um bom custo benefício, pois para realizar as funcionalidades do projeto não é necessário o uso de um micro controlador mais sofisticado, consequentemente, a economia gerada pela escolha do hardware contribuirá para a facilidade de adquirir o sistema.


Who


  • 1. Quem pode se beneficiar deste projeto?
    • Qualquer pessoa que esteja no ambiente que usufrua dessa automação e principalmente quem arca com os custos energéticos da casa.
  • 2. Quem poderá operar o sistema?
    • Moradores da casa com seus devidos níveis de acesso estabelecidos por um administrador e técnicos que prestam serviços de instalação e manutenção do sistema.
  • 3. Quem deverá participar do desenvolvimento do sistema?
    • Programadores para a implementação do aplicativo para smartphones.
    • Engenheiros que definirão as especificações dos hardwares, desde os sensores, atuadores e periféricos de comunicação (roteadores wi-fi e ethernet shield).
    • Técnicos para a montagem e manutenção do sistema nas residências.


Where


  • 1. Onde os dados serão inseridos?
    • Os dados referentes ao consumo energético serão inseridos em todos smartphones que possuam o aplicativo do eHouse.
  • 2. Onde os dados serão externalizados, publicados?
    • Os dados referentes ao consumo energético serão publicados nos smartphones nas formas de gráficos e relatórios.
  • 3. Onde esta aplicação poderá ser usada?
    • O software poderá ser utilizado unicamente em qualquer dispositivo smartphone.
  • 4. Onde os dados serão armazenadas?
    • Prioritariamente os dados serão armazenados diretamente em um banco de dados, com um backup em um memória física, para evitar perda de dados no caso de uma eventual falta de conexão com esse servidor.
  • 5. Onde o software deverá ser hospedado?
    • O aplicativo do smartphone será hospedado na Play Store ou em um site específico do projeto que disponibiliza o aplicativo para download.


When


  • 1. Em quanto tempo pretende desenvolver o sistema?
    • Avaliando cada fase do projeto separadamente julgamos que ele deverá demorar por volta de 4 meses.
  • 2. Quais serão as fases e em quanto tempo cada uma?
    • 1ª fase : Levantamento de dados e requisitos para a implementação do sistema, bem como definição de prioridades e metas a serem cumpridas: 2 semanas;
    • 2ª fase : Pesquisa e seleção de hardwares a serem utilizados: 2 semanas ;
    • 3ª fase : Desenvolvimento dos softwares, programação do arduino visando a interação dos dispositivos de entrada e saída, criação do aplicativo para Android responsável pela manipulação dos dados , criação de relatórios e funções de interação com os dispositivos da residência: 2 meses;
    • 4ª fase: Teste do sistema como um todo, já sendo utilizado em uma residência: 2 semanas;
    • 5ª fase: Análise dos dados obtidos no teste: 2 semanas;
    • 6ª fase: Melhorias: 1 mês;
  • 3. Qual o tempo de resposta do dispositivo ou do sistema?
    • O sistema deve responder a uma entrada da maneira mais rápida possível, dependendo apenas do tempo de processamento dos dados e da comunicação com o microcontrolador.
  • 4. Quanto tempo para responder a uma entrada?
    • O tempo de resposta será dependente da comunicação com o arduino, que está na casa dos milisegundos.
  • 5. Quanto tempo para gerar a saída?
    • Para que o sistema gere uma saída dependerá apenas do tempo que ele leva para processar uma entrada de dados, o que deve ocorrer na casa dos milissegundos.


How


  • 1. Como será dividido o desenvolvimento do sistema?
    • O sistema será desenvolvido a partir de:
      • pesquisa, levantamento de dados utilizados, implementação dos softwares e do aplicativo para smartphone;
      • estabelecer a comunicação entre o sistema e o banco de dados;
      • período de testes e aprimoramento do sistema.
  • 2. Como será feita a entrada de dados?
    • A entrada de dados será feita a partir dos sensores de corrente elétrica nas tomadas e lâmpadas e também pelo aplicativo, quando o usuário desejar fazer algum controle.
  • 3. Como será feita a saída de dados?
    • A saída de dados será feitas por meio de relatórios gerados pelo sistema.
  • 4. Descreva a 1a. funcionalidade?
    • Cadastro de usuários.
  • 5. Descreva a 2a. funcionalidade?
    • Cadastro de cômodos da residência.
  • 6. Descreva a 3a. funcionalidade?
    • Cadastro de tomadas.
  • 7. Descreva a 4a. funcionalidade?
    • Cadastro de lâmpadas.
  • 8. Descreva a 5a. funcionalidade?
    • Cadastro de equipamentos eletrodomésticos (por tomada ).
  • 9. Descreva a 6a. funcionalidade?
    • Pesquisa de equipamentos, de lâmpadas e tomadas.
  • 10. Descreva a 7a. funcionalidade?
    • Controle das tomadas da residência, evitando desperdícios de energia por equipamentos em stand by.
  • 11. Descreva a 8a. funcionalidade?
    • Controle do brilho das lâmpadas.
  • 12. Descreva a 9a. funcionalidade?
    • Gerar relatório de consumo da casa por período desejado (dia,mês,semestre,ano).
  • 13. Descreva a 10a. funcionalidade?
    • Gerar gráfico de consumo da casa.
  • 14. Descreva a 11a. funcionalidade?
    • Inserir meta de consumo pelo usuário.
  • 15. Descreva a 12a. funcionalidade?
    • Comparar meta de consumo do usuário com o consumo real.
  • 16. Descreva a 13a. funcionalidade?
    • Comparar períodos diferentes de consumo.
  • 17. Descreva a 14a. funcionalidade?
    • Cálculo da redução de consumo de energia com a redução da luminosidade das lâmpadas.
  • 18. Descreva a 15a. funcionalidade?
    • Suporte e ajuda, no aplicativo, para auxilio ao usuário.

How much


  • 1. Quanto custa cada parte do sistema?
    • Para até 3 sistemas, ou seja, controle e obtenção de informação de três equipamentos elétricos residenciais utilizam-se:
      • Arduino: em torno de R$80;
      • Ethernet Shield: em torno de R$150;
      • Dispositivos de saída: em torno de R$100;
  • 2. Quanto deverá custar todo o sistema?
    • O preço total do projeto varia de acordo com a residência (número de tomadas e lâmpadas). Mas para três sistemas, todos os componentes chegarão a custar aproximadamente 330 reais.
  • 3. Quantas pessoas deverão ser usadas (Equipe) ?
    • Um programador para implementação do aplicativo
    • Outro programados para a implementação do software no arduino e implementação da comunicação do mesmo com o banco de dados.
    • Um engenheiro para integrar o software e o hardware, que foi especificado e desenvolvido pelo mesmo.
    • Dois técnicos para a manutenção e instalação do sistema.
  • 4. Quanto custa cada profissional?
    • Engenheiro: R$5000/mês;
    • Programador: R$3000/mês;
    • Técnico: R$1200/mês;
  • 5. Qual deverá ser o preço de aquisição do seu software para o usuário final (Valor de mercado)?
    • O preço para a aquisição do software será a partir de 1500 reais.


Modelo Estruturado

DFD

  • Processso
  • Depósitos
  • Fluxos

DER

Arquivo:DER eHouse1.PDF

  • Entidades
  • Relacionamentos
  • Chaves
  • Domínios

DD

A - Processos

00. Menu Inicial (Usuário)

  • Mostrar as opções:
    • Autenticar usuário;
    • Cadastros:
      • Cadastrar Lâmpadas;
      • Cadastrar Tomadas;
      • Atualizar Cadastros;
      • Excluir Cadastro;
    • Pesquisar Lâmpadas, tomadas e cômodos;
    • Controles:
      • Controlar a intensidade luminosa;
        • Mostrar alteração do consumo com a alteração da intensidade luminosa;
      • Controlar tomada;
    • Inserir meta de consumo;
    • Gerar relatório:
      • Gerar gráfico de consumo;
      • Comparar períodos de consumo;
      • Comparar meta e dados de consumo;


01. Menu Inicial (Administrador)

  • Mostrar as opções:
    • Autenticar usuário;
      • Cadastros:
      • Cadastrar Lâmpadas;
      • Cadastrar Tomadas;
      • Cadastrar Cômodo;
      • Cadastrar Usuário;
      • Atualizar Cadastros;
      • Excluir Cadastro;
    • Definir acessos;
    • Pesquisar
    • Controles:
      • Controlar a intensidade luminosa;
        • Mostrar alteração do consumo com a alteração da intensidade luminosa;
      • Controlar tomada;
    • Inserir meta de consumo;
    • Gerar relatório:
      • Gerar gráfico de consumo;
      • Comparar períodos de consumo;
      • Comparar meta e dados de consumo;


02. Autenticação de Usuário

  • Mostrar os campos para preenchimento:
    • Nome de usuário;
    • Senha;
  • Depois de inseridos os campos e confirmados pelo usuário, o sistema buscaria no depósito Usuário o respectivo usuário e a senha correspondente;
  • Permitirá o acesso caso os dados inseridos correspondam aos dados do depósito Usuário.


03. Cadastrar Cômodo

  • Apenas o administrador poderá cadastrar os cômodos.
  • Para cada cômodo a ser cadastrado o administrador poderá cadastrar as identificações das lâmpadas e das tomadas referentes ao cômodo.
  • O sistema irá mostrar os campos para preenchimento:
    • Local (armazenado no depósito Cômodo);
    • Identificações das lâmpadas (armazenado no depósito Lâmpada)
    • Identificações das tomadas (armazenado no depósito Tomada);
  • Para cada identificação inserida haverá um novo campo (referente ao mesmo equipamento) para que se possa inserir outra identificação.
  • Cada identificação estará relacionada a um cadastro futuro de lâmpadas e tomadas;
  • Após inseridos e confirmados os dados, estes serão armazenados nos depósitos especificados em cada campo anteriormente.


04. Cadastrar Lâmpadas

  • O sistema mostrará um campo mostrando todos os cômodos já cadastrados pelo administrador.
  • Primeiramente, o usuário deve selecionar o cômodo, que é obtido no depósito Cômodo, aonde se encontra a lâmpada a ser cadastrada;
  • Após selecionar um cômodo, o sistema mostraria todas as identificações das lâmpadas, que são obtidas no depósito Lâmpadas, do local;
  • Selecionando a lâmpada ele mostraria os campos para preenchimento:
    • Potência;
    • Tensão;
    • Modelo
    • Marca;
    • Tipo;
    • Preço;
    • Tempo de vida;
  • Os dados inseridos e confirmados serão armazenados no depósito Lâmpadas.


05. Cadastrar Tomadas

  • O sistema mostrará um campo mostrando todos os cômodos já cadastrados pelo administrador.
  • Primeiramente, o usuário deve selecionar o cômodo, que é obtido no depósito Cômodo, aonde se encontra a tomada a ser cadastrada;
  • Após selecionar um cômodo, o sistema mostraria todas as identificações das tomadas, que são obtidas no depósito Tomadas, do local;
  • Selecionando a tomada ele mostraria os campos para preenchimento:
    • Tensão;
    • Equipamento conectado;
  • Os dados inseridos e confirmados serão armazenados no depósito Tomadas.


06. Inserir meta de consumo

  • O sistema irá mostrar um campo para preenchimento relacionado à meta de consumo do usuário em relação ao consumo geral da residência.
  • Inserido o valor (relacionado ao consumo desejado no mês) e confirmado, o sistema irá guardar o valor no depósito do usuário, pois cada usuário poderá estabelecer uma meta de consumo.


07. Pesquisar

  • O sistema mostra o campo buscar, a ser preenchido pelo usuário.
  • O usuário insere alguma palavra e o sistema irá buscar por lâmpadas, tomadas e cômodos cadastrados a partir da busca por:
    • Identificações de lâmpadas e tomadas;
    • Cômodos;
    • Marca de lâmpadas;
    • Modelo de lâmpadas;
    • Tensão;
    • Potência;
    • Preço;
    • Tempo de vida;
  • Inserido uma palavra, o sistema irá buscar a correspondente nos depósitos Cômodo, Lâmpada, Tomada e Histórico.
  • Caso o sistema encontre a correspondente, mostrará na tela o nome do cômodo e/ou a identificação da lâmpada e/ou a identificação da tomada.
  • A lista formada pelo resultado da pesquisa permite que o usuário possa selecionar algum elemento da mesma e obter todas as informações referentes ao elemento, buscadas nos respectivos depósitos, além do seu consumo, buscada no depósito Consumo.


08. Controlar a intensidade luminosa

  • O sistema irá mostrar todos os cômodos já cadastrados, buscados no depósito Cômodo, e o usuário selecionará o cômodo onde estará a lâmpada a ser cadastrada.
  • O sistema irá mostrar todas as lâmpadas, buscadas no depósito Lâmpada, referentes àquele cômodo e o usuário irá selecionar a que deseja controlar.
  • O sistema irá mostrar a imagem de uma lâmpada qualquer e um scroll bar, aonde o usuário poderá controlar a intensidade luminosa.
  • Utilizando o scroll bar, o aplicativo comunicará com o arduíno, que modificará o valor médio da tensão elétrica sob a lâmpada, variando a intensidade luminosa.


09. Controlar as tomadas

  • O sistema irá mostrar todos os cômodos já cadastrados, buscados no depósito Cômodo, e o usuário selecionará o cômodo onde estará o cômodo a ser cadastrada.
  • O sistema irá mostrar todas as tomadas, buscadas no depósito Tomada, referentes àquele cômodo e o usuário irá selecionar a que deseja controlar.
  • O sistema irá mostrar um Button que indicará o estado On/Off da tomada bem como permitirá o controle da mesma pelo usuário.


10. Coletar dados de consumo

  • O arduíno obterá valores de tensão e corrente instantâneos das lâmpadas e das tomadas a cada segundo através dos sensores instalados em cada parte elétrica da casa.
  • Os dados de tensão e corrente serão enviados interruptamente ao banco de dados, aonde serão armazenados nos depósitos Consumo das Lâmpadas e Consumo das Tomadas.
  • Associados a cada dado de tensão e corrente, estarão a hora e a data de quando os dados foram obtidos.


11. Gerar gráfico de consumo

  • O sistema irá mostrar todos os cômodos já cadastrados, buscados no depósito Cômodo, e o usuário selecionará o cômodo onde estará a lâmpada ou tomada que deseja obter o relatório de consumo
  • O sistema irá mostrar todas as lâmpadas e tomadas, buscadas no depósito Lâmpada e Tomadas, referentes àquele cômodo e o usuário irá selecionar a que deseja obter o relatório.
  • Selecionada a tomada, o sistema mostrará períodos de tempo em que o usuário deseja ver o consumo. A seleção será feita a partir da lista com os elementos:
    • Hora;
    • Dia;
  • A partir disso, o sistema irá mostrar três campos a serem preenchidos, relacionados ao intervalo de tempo do consumo:
    • Início do intervalo;
    • Término do intervalo;
    • Data.
  • Caso seja selecionado o elemento Hora, o intervalo de tempo será dado em relação a horários.
  • Caso seja selecionado o elemento Dia, o intervalo de tempo será dado em relação a datas e o campo Data não necessitará ser preenchido.
  • Se todos os dados forem preenchidos corretamente, em relação às datas (datas que já possuem registro de consumo) e horários (horas e minutos existentes), o sistema irá mostrar um gráfico de potência em função do intervalo de tempo especificado pelo usuário.
  • Se o intervalo de tempo for em relação à dias, o gráfico mostrará os valores médios de potência consumida em cada dia do intervalo.
  • Se o intervalo de tempo for em relação à horas, o gráfico mostrará os valores de potência instantânea consumida ao longo do dia e horário especificado.
  • Potência = P = V.I, onde V = (tensão instantânea) e I = (corrente elétrica instantânea).
  • Para cada gráfico gerado o sistema irá calcular a média de consumo do intervalo de tempo especificado, somando todas as potências e dividindo pelo mesmo intervalo.
  • Caso os campos forem preenchidos inadequadamente, uma mensagem de erro aparecerá na tela do dispositivo.


12. Mostrar alteração do consumo com a alteração da intensidade luminosa

  • Na mesma tela aonde o usuário irá controlar a intensidade luminosa, haverá um campo que mostrará as alterações de consumo com a variação da intensidade luminosa.
  • Quando o usuário for ajustar a intensidade luminosa, o sistema irá calcular a diferença de intensidade atual e a final, calculando a alteração de potência (Pf - Pi), onde Pf = potência final e Pi = potência inicial, e multiplicando por 3600, para corresponder a uma alteração definida por Potência/Hora.
  • A alteração calculada será mostrada na tela para o usuário.
  • O valor será mantido na tela até que o usuário confirme ou cancele a opção de controle da intensidade luminosa da lâmpada especificada.


13. Comparar períodos de consumo

  • O sistema funcionará de forma semelhante a descrita no processo Gerar Gráfico de Consumo.
  • O usuário irá especificar dois dispositivos a serem comparadas em relação ao consumo. Para isso o sistema irá mostrar dois campos de seleção, cada campo contendo todos os dispositivos (lâmpadas e tomadas) já cadastradas.
  • Após a confirmação dos dispositivos, o sistema irá mostrar o campo para seleção dos intervalos de tempo. Essa etapa é idêntica ao descrita no processo Gerar Gráficos de consumo.
  • Caso o usuário insira dados incorretos, uma mensagem de texto será mostrada na tela.
  • Caso os dados estejam corretos, o sistema irá plotar, em um mesmo gráfico, os dados de consumo dos respectivos dispositivos selecionados, sendo distinguidos por cores diferentes, pelo intervalo de tempo desejado.
  • Os dados são obtidos nos respectivos depósitos de dados.
  • Em conjunto aos gráficos o sistema mostrará a média de consumo de cada dispositivo no período. O cálculo é o mesmo descrito anteriormente.


14. Comparar meta e dados de consumo

  • Ao escolher a sub-opção Comparar meta e dados de consumo na opção Gerar relatórios no menu principal, o sistema irá mostrar a lista de cômodos da casa, que selecionados irão mostrar os dispositivos cadastrados nesses locais.
  • Selecionando o dispositivo, o sistema irá mostrar uma lista com os anos que já possuem dados de consumo salvos.
  • Selecionado um ano, o sistema irá mostrar os meses que já possuem dados de consumo salvos.
  • Selecionado o mês, o sistema obterá os dados, no depósito de consumo do respectivo dispositivo e irá calcular o consumo daquele mês, mostrando na tela o valor deste e o valor da meta estabelecida pelo usuário.
  • O sistema irá mostrar também o consumo diário do mês selecionado, comparando o valor calculado com a meta diária. Este é obtido através da razão da meta de consumo mensal pelo número de dias do mês selecionado.


15. Atualizar cadastro

  • O sistema irá mostrar um campo de seleção de uma lista, que possui os seguintes campos:
    • Cômodos;
    • Lâmpadas;
    • Tomadas;
  • Após a seleção de algum item, o sistema irá buscar no respectivo depósito, todos os elementos cadastrados, sendo mostrados em uma lista para que o usuário possa selecionar algum deles.
  • Para tomadas e lâmpadas:
    • Selecionado um elemento o usuário poderá alterar os dados do dispositivo, sendo mostrados os mesmos campos do seu cadastro.
    • Após confirmar os dados, o sistema irá salvar os dados do antigo dispositivo no depósito histórico
  • Para cômodos:
    • Selecionado um elemento o usuário poderá alterar os dados do cômodo, sendo mostrados os mesmos campos do seu cadastro. Os dados alterados serão salvos no depósito de cômodo.
  • A interface do administrador poderá também alterar os cadastros de usuários
    • Selecionado um usuário o administrador poderá alterar os dados do usuário, sendo mostrados os mesmos campos do seu cadastro. Os dados alterados serão salvos no depósito de usuário.


16. Excluir

  • O sistema irá mostrar um campo de seleção de uma lista, que possui os seguintes campos:
    • Cômodos;
    • Lâmpadas;
    • Tomadas;
  • Após a seleção de algum item, o sistema irá buscar no respectivo depósito, todos os elementos cadastrados, sendo mostrados em uma lista para que o usuário possa selecionar algum deles.
  • Selecionado um elemento, o usuário poderá excluí-lo, mostrando na tela uma mensagem de confirmação.
  • Excluir um usuário poderá ser feita apenas pelo administrador. Na tela irá mostrar a opção usuário e se selecionado, irá mostrar todos os elementos cadastrados e armazenado no depósito Usuário.
  • Selecionando um usuário, aparecerá uma mensagem de confirmação para exclusão.


B - Depósitos

Deposito: Usuário

  • NomeUsuario:Uma string de caracteres com o nome do usuário para login. (Chave Primária)
  • Nome Pessoa: Uma string contendo o nome completo do usuário.
  • Senha: Uma string contendo a chave de acesso do usuário.
  • Meta: Um numero inteiro indicando o que deve ser gasto no mês.


Deposito: Acesso

  • NomeUsuario: Uma string obtida a partir do deposito Usuário para indicar de quem se trata. (Chave Primária)
  • IdComodo:Um numero inteiro que é o código de um cômodo específico. (Chave Primária)


Deposito: Cômodo

  • IdComodo: Um número inteiro indicando um cômodo específico. (Chave Primária)
  • NomeComodo:Uma string indicando o nome do comodo utilizado (sala,quarto).


Deposito: Lâmpadas

  • IdLampadas: Um número inteiro que indica qual lâmpada é (numero único para cada lâmpada já usada). (Chave Primária)
  • Modelo: Uma string com o modelo da lâmpada específica.
  • Marca: Uma string com a marca da lâmpada específica.
  • Potência: Um inteiro que guarda a potência nominal da lâmpada específica (60W,40W e etc).
  • DuraEspHoras: Um número inteiro com o esperado de durabilidade para a lâmpada.


Deposito: Tomadas

  • IdTomada: Número inteiro que indica de qual tomada se trata.
  • Comodo: Campo recebe as infos do depósito Comodo.
  • Tensao: Inteiro que mostra a tensão nominal da tomada referida[127,220].
  • Equipamento:String que contém o equipamento ligado na tomada específica.


Deposito: LocalTomadaLamp

  • IdLocalLamp:Número inteiro exclusivo que indica de qual "boquilha" se trata. (Chave primária)
  • Comodo: Campo aponta para o depósito Comodo.
  • Tensão: Valor inteiro [127,220] indicando a tensão da "boquilha".


Deposito: ConsumoLamp

  • IdLamp: Número inteiro que recebe do deposito LocalTomadaLamp indicando a boquilha. (Chave Primária)
  • Data: Número inteiro que indica a data da coleta dos dados. (Chave Primária)
  • Hora: Número inteiro que indica a hora exata da coleta dos dados. (Chave Primária)
  • Tensão:Dado float da tensão na lâmpada no dado estante.
  • Corrente: Dado float da corrente na lâmpada no dado estante.


Deposito: ConsumoTomada

  • IdTomada: Número inteiro que recebe do deposito tomdas o campo Idtomada. (Chave Primária)
  • Data: Número inteiro que indica a data da coleta dos dados. (Chave Primária)
  • Hora: Número inteiro que indica a hora exata da coleta dos dados. (Chave Primária)
  • Tensão:Dado float da tensão na tomada no dado estante.
  • Corrente: Dado float da corrente na tomada no dado estante.


Deposito: Histórico

  • IdLocalLamp: Indica o deposito que contém as informações da lâmpada referida. (Chave Primária)
  • IdTomada:Indica o deposito que contém as informações da tomada referita. (Chave Primária)
  • Data:Numero inteiro contendo a data em o dado foi gravado no histórico.
  • DurabilidadeHoras: Numero inteiro que guarda a informação da durabilidade de determinado equipamento em horas de uso.


C - Entidades Externas

Entidade externa: Usuário

  • Interface Gráfica composta de um menu com as seguintes opções:
    • Autenticar usuário;
    • Cadastros:
      • Cadastrar Lâmpadas;
      • Cadastrar Tomadas;
      • Atualizar Cadastros;
      • Excluir Cadastro;
    • Pesquisar Lâmpadas, tomadas e cômodos;
    • Controles:
      • Controlar a intensidade luminosa;
        • Mostrar alteração do consumo com a alteração da intensidade luminosa;
      • Controlar tomada;
    • Inserir meta de consumo;
    • Gerar relatório:
      • Gerar gráfico de consumo;
      • Comparar períodos de consumo;
      • Comparar meta e dados de consumo;


Entidade externa: Administrador:

  • Possui as mesmas opções de menu que o usuário, incluindo:
    • Cadastrar Cômodo;
    • Cadastrar Usuário;
    • Excluir Cadastro;
    • Definir acessos;


Entidade externa: Lâmpada e tomada

  • Dispositivos aos quais o arduino fará leitura de corrente e tensão elétrica sob os mesmo, enviando as informações para o banco de dados.
  • A lâmpada poderá ser controlada pelo usuário, variando sua intensidade luminosa.
  • A tomada poderá ser controlada pelo usuário, inativando ou ativando seu estado.


Equipamentos

  • Arduino
  • Conexões
  • Sensores de corrente e tensão
  • Resistores
  • Ethernet Shield


Sistemas

  • Meios de comunicação com outros softwares
  • Aplicativo para smartphone
  • Conectores
  • Domínios


D - Requisitos não funcionais

  • Não poderá parar o armazenamento de dados dos sensores por mais de 2min.
  • Tem que ser restaurado imediatamente caso haja corrupção dos dados.
  • Gravar dados na memória física para precaver possíveis falhas de comunicação com o banco de dados.
  • Obter possíveis dados perdidos na memória física.
  • Bloqueio do acesso ao sistema com mais de 3 tentativas com falha.
  • Necessita de um banco de dados
  • Deve ter baixo tempo de resposta
  • Requer utilização de sensores de corrente e tensão elétricas.
  • Necessita de um Banco de Dados
  • Necessita ter segurança contra acessos indevidos
  • Deve rodar em smartphones
  • Deverá estar hospedado na Play Store e em um website.
  • Deverá ter interface intuitiva



Modelo OO

Diagrama de Classes

Arquivo:Diagrama de Classes - eHouse.pdf

Diagrama de Casos de Uso

Arquivo:Diagrama Caso de Uso eHouse.pdf

Arquivo:Detalhamento Caso de Uso eHouse.pdf

Diagrama de Colaboração

Arquivo:DiagramaColaboração.pdf

Protótipo

  • Objetivo
    • O Protótipo tem por objetivo a demonstração de algumas das funções do sistema completo, serão demonstradas as funções de controle da luminosidade de uma lâmpada a partir de um dimmer controlado por blueetoth por meio de uma interface gráfica, e o acionamento da lâmpada também pelo módulo blueetooth. Utilizando uma interface gráfica web é feito um escopo do que será o sistema completo a ser utilizado pelo consumidor final.
  • Recursos utilizados
    • Dimer:
      • CIs:
        • Moc3021
        • 4n25
      • Resistores:
        • 22k ohms
        • 220 ohms
        • 2,2k ohms
        • 33k ohms
        • 150 ohms
        • 16k ohms
      • Triac BTA12-600
    • Comunicação:
        • Módulo bluetooth hc-05
        • 2 resistores de 1k
        • 1 resistor de 1,3k
    • Arduino UNO
  • Funcionamento
    • O arduino controla uma lâmpada, à partir de um dimmer e um módulo bluetooth,que é responsável com a comunicação com a interface no computador.A interface feita utilizando o programa QT possibilita controlar por meio de um scroll bar a porcentagem de potência entregue a lâmpada ,desligar ou ligar ela por meio de botões,controle esse que seria feito pelo relé no sistema completo, para haver total abertura do circuito.Para simplificação da comunicação serial da interface com o programa do arduino o dimmer faz essa função no protótipo, quando o botão on é ligado ele funciona como uma chave aberta e quando o botão off é pressionado como uma chave fechada.
    • A interface gráfica para o usuário, onde o mesmo no sistema completo poderá utilizar de todas as funções em apenas um local foi desenvolvida por meio de um website, trazendo um escopo do que será e como será feita a interação com o usuário.
      • Possíveis falhas na apresentação do projeto :
        • falha na cominucação bluetooth
        • falha ao tentar entrar no web site do projeto
        • falha na atuação do dimmer
        • falha na execução das funções de controle de luminosidade
  • Detalhamento (Imagens, vídeos, ...)
    • Interface Gráfica de Controle:

    • InerfaceGraficaweb

    • Funcionamento do controle de luminosidade

  • Resultados obtidos
    • O controle de luminosidade e o on/ff com o arduino são relativamente simples e não apresentaram grandes desafios, além de serem relativamente baratos. O grande desafio foi a integração da comunicação serial via bluetooth com a interface criada no QT que apresentou grandes problemas para ser criada,conflitos no uso de duas janelas de interface com a serial foi um problema e nos fez utilizar apenas o dimmer e não o relé. No geral foi um grande desafio conseguir que ela funcionasse perfeitamente devido a ser algo totalmente novo ao grupo.
    • A funcionalidade de medir o consumo se apresentou muito problemática quando se trata de consumo real.Porque devido ao modo de funcionamento de um dimmer, a forma de onda da corrente e da tensão na lâmpada fica extremamente distorcida, o que torna a medida de valores médios, e médios quadráticos extremamente complexa.
    • A interface gráfica na web não foi muito complexa, entretanto gerar gráficos automaticamente com dados recebidos é algo que se demonstrou extremamente complexo.

Pesquisador