SmartHome_ProjetoFinal
A ideia deste projeto é a criação de uma aplicação para SmartHome utilizando como base a DragonBoard e o kit da link Mezzanine. Então, para este projeto foram utilizados:
- O sensor de temperatura para efetuar a leitura de temperatura no ambiente de 5 em 5 segundos;
- O sensor de luminosidade para efetuar a leitura da luminosidade do ambiente de 5 em 5 segundos e caso, a luminosidade esteja abaixo de 100, o módulo Led deve ser ativado (como fosse a luz do ambiente).
- Também foi simulado nesta aplicação, o módulo relé como o portão da casa, abertura e fechando do portão ao acionar o sensor de toque;
- Como também foi utilizado o sensor Tilt, como uma "trava" de segurança para indicar que o portão está totalmente fechado.
Todas as informações serão disponibilizadas na nuvem pela utilização do Dweet, como também pelo aplicativo no celular utilizando como base de desenvolvimento do app o framework Ionic. No app, o usuário final pode analisar as condições do ambiente simulado e efetuar comandos, tais como acionar o led ou o relé.
E agora, vamos ao passo a passo do projeto!!!!
Montagem Do Hardware
Para o desenvolvimento deste projeto, foi utilizado de hardware:
- 1 DragonBoard;
- 1 kit Link Mezannine;
- 1 módulo de sensor de toque;
- 1 módulo sensor de temperatura;
- 1 módulo sensor de luminosidade;
- 1 módulo do Led;
- 1 Módulo Relé;
- 1 módulo Tilt
- 6 cabos de expansão para a instalação dos módulos do DragonBoard.
Passo a passo - Montagem do Hardware
- Conectar o Lado dos Cabos de Expansão aos Módulos e o Lado do Cabo no kit Link Mezannine, seguindo as especificações abaixo
-Módulo sensor de luminosidade na entrada ADC1;
-Módulo sensor de temperatura na entrada ADC2;
-Módulo sensor de toque na entrada D1;
-Módulo relé na entrada D2;
-Módulo Led na entrada D3;
-Módulo Tilt entrada D4.
Segue imagem da montagem e vídeo explicativo
Após tudo conectado, o seguinte é um código de programação em Python.
Programação Em Python
Após tudo conectado e ligado, testar o software. Alinguagem de programação será usada para esta aplicação será o Python.
Para isso, inicialmente, todas as definições são feitas (especificação de bibliotecas, definição de pinos, comunicação SPI e dweet)
O funcionamento do software é da seguinte maneira, o código possui 4 funções:
Função 1: readTemp(gpio) :
Efetua leitura do sensor de temperatura. As configurações da leitura SPI pro sensor de temperatura são feitas (configurações padrões para a entrada ADC2). Depois, o valor da temperatura é calculado em Celsius pelo adc_temp e este valor é apresentado ao usuário
Função 2: readLumi(gpio):
Efetua leitura do sensor de luminosidade. As configurações da leitura SPI pro sensor de luminosidade são feitas (configurações padrões para a entrada ADC1). Neste caso, não precisa efetuar cálculo nenhum, apenas efetuar a leitura do sensor e este valor é apresentado ao usuário. Caso o valor da luminosidade seja menor que 100, o módulo Led (Luz do Ambiente) é acionado e apresentado ao usuário a mensagem: "Sistema de Iluminação Ativado". Caso o valor da luminosidade seja maior 100, o Led é desligado.
Função 3: ReadToque(gpio):
Esta função é referente ao acionamento do módulo relé (que neste projeto está como o portão de abertura da casa). Caso o sensor de toque seja acionado a primeira vez, o relé é desligado e aparece a mensagem ao usuário "Portão Fechando...". Para acionar o relé (abrir o portão), basta acionar o sensor de toque mais uma vez e uma mensagem é apresentada "Portão Abrindo..."
Função 4: envia_dweet():
Envia as leituras do sensor de temperatura e luminosidade para o Dweet, como também o status do Led e do Relé. Este envio é efetuado de 5 em 5 segundos. Para esta função funcionar, precisa-se criar uma aplicação no site do Dweet (um post) e depois para receber o valor da temperatura no dweet, precisa-se criar um get.
Na função principal do programa está apenas o loop while chamando as funções e existe uma condição if que relacioana o sensor Tilt (que neste projeto está funcionando como um sensor de segurança de trava do portão). Ou seja, quando o nível lógico do sensor for de 1 para 0, o relé é desligado, pois assume que o portão já fechou a ativou a trava de segurança (sensor Tilt), após ser ativado é apresentado uma mensagem "Trava de segurança ativada do portão --- portão fechado".
Segue o arquivo do código, fotos e vídeos explicativos.
Downloads
Aplicativo Celular
Para o desenvolvimento do aplicativo deste projeto, foi utilizado o Ionic e o Cordova, utilizando como base do projeto o Visual Studio.
Para isso, precisamos criar os arquivos .ts e .html. Segue em anexo, os arquivos necessários para desenvolvimento da aplicação para o celular, seja Android ou IoS, pois o Ionic é um framework para desenvolvimento de aplicações para dispositivos móveis que visa o desenvolvimento de apps híbridas.
Todos os arquivos para desenvolvimento do aplicativo seguem em anexo.