Inatel - SmartHome - SH2Y - Sistema De Monitoramento E Segurança Física De Ambiente
by NelsonG44 in Circuits > Tools
452 Views, 1 Favorites, 0 Comments
Inatel - SmartHome - SH2Y - Sistema De Monitoramento E Segurança Física De Ambiente
![Unknown.jpg](/proxy/?url=https://content.instructables.com/FP8/ZCV8/JAMU0CUQ/FP8ZCV8JAMU0CUQ.jpg&filename=Unknown.jpg)
Foi desenvolvido um "Sistema de Monitoramento e Segurança Física de Ambiente" para Smart Homes, com o intuito de monitorar o status de variáveis como "Temperatura", "Luminosidade" e "Sensor de Abertura de Portas/Janelas", bem como "disparar" ações em caso de violações quando o "Sistema de Segurança Física" estiver ativado.
Tal sistema pode ser controlado fisicamente ou através de aplicativo desenvolvido, sendo suportado automaticamente por iOS, Android ou outra plataforma.
Nosso sistema possui a capacidade de se comunicar com um servidor cloud, neste caso o Dweet.io, e assim, possibilitar a comunicação entre o equipamento local, o aplicativo e poder visualizar o status do sistema em qualquer lugar do mundo.
Requisitos
![51C6rjtSXwL._SX300_.jpg](/proxy/?url=https://content.instructables.com/FYO/RBUU/JAMU0CLM/FYORBUUJAMU0CLM.jpg&filename=51C6rjtSXwL._SX300_.jpg)
Para executar tal sistema, é necessário:
Hardware utilizado:
- Placa Dragonboard 410C e fonte de alimentação;
- Placa de expansão Linker Base Mezzanine Card;
- Kit de sensores e atuadores da Linker Mezzanine:
- Sensor de temperatura – Linker Temperature;
- Sensor de Tilt - Linker Tilt;
- Sensor de Luminosidade - Light Sensor;
- Relé – Linker Relay;
- Potenciômetro - Sliding Potentiometer;
Software utilizado na Placa Dragonboard 410C:
- Sistema Operacional Linaro;
- Bibliotecas adicionais necessárias:
- LIBSOC;
- SPIDEV;
- 96BoardsGPIO;
- Requests;
Software utilizado no computador pessoal do desenvolvedor:
- NODE JS
- Ionic
- Visual Studio Code
Conexões
![WhatsApp Image 2017-12-03 at 18.31.40.jpeg](/proxy/?url=https://content.instructables.com/F2Y/OV6Y/JAMU04Y4/F2YOV6YJAMU04Y4.jpg&filename=WhatsApp Image 2017-12-03 at 18.31.40.jpeg)
Abaixo detalhamento das conexões a serem realizadas nas portas da DragonBoard:
- ADC1: Sensor de temperatura – Linker Temperature;
- Objetivo: Monitorar a temperatura do ambiente;
- ADC2: Sensor de Luminosidade - Light Sensor;
- Objetivo: Monitorar a intensidade luminosa do ambiente;
- D1: Relé – Linker Relay;
- Objetivo: Acionar o Sistema Sonoro (Alarme) caso ocorra um evento indevido quando o Sistema de Seguranca estiver ativado
- D2: Sensor de Tilt - Linker Tilt;
- Objetivo: Simular se ocorreu a abertura de Porta/Janela do ambiente;
- D3: Potenciômetro - Sliding Potentiometer;
- Objetivo: Simular uma chave fisica, na casa do usuario, para Ativar/Desativar o Sistema de Seguranca;
Configurações Na Nuvem - Dweet.io
![FIFRI7IJAMTSLDC.MEDIUM.jpg](/proxy/?url=https://content.instructables.com/FJV/MMW3/JAMU06W4/FJVMMW3JAMU06W4.jpg&filename=FIFRI7IJAMTSLDC.MEDIUM.jpg)
Uma das etapas principais do sistema, é possuir comunicação com um servidor externo (cloud), desta forma podendo verificar o status do sistema e bem como efetuar "alterações" de forma remota no sistema.
Para isso, foi escolhido o provedor Dweet.io (www.dweet.io).
Configurado o seguinte item:
- https://dweet.io:443/dweet/for/Smart_Home_SH2Y_1
- Thing: Smart_Home_SH2Y_1
- Content:
- {"Sistema_Seguranca": 0, "Temperatura": 0, "Luminosidade": 0, "Sensor_PJ": 0, "Sistema_Aviso_Sonoro":0, "Sistema_Seg_APP": 0, "Numero_Alertas":0 }
Configuração Local - Ionic
![Captura de Tela 2017-12-03 às 19.23.40.png](/proxy/?url=https://content.instructables.com/FPF/MWCM/JAMU09N0/FPFMWCMJAMU09N0.png&filename=Captura de Tela 2017-12-03 às 19.23.40.png)
Foi desenvolvido um APP em através da plataforma Ionic, no computador do desenvolver, no qual todo o código fonte encontra-se em anexo.
Após descompactar, executar na linha de comando (cmd) o seguinte comando:
ionic serve
Nos próximos capítulos, mostraremos o funcionamento.
Downloads
Configuração DragonBoard - Sistema Desenvolvido
O Sistema foi desenvolvido em Python, no qual os arquivos encontram-se em Anexo.
Na pasta escolhida pelo usuário, onde os arquivos foram salvos, deve-se executar o seguinte comando (cmd):
sudo python smart_home.py
Com este comando executado, o sistema se iniciará através da seguinte mensagem:
- ####################################################################################
- # Iniciando sistema de Monitoramento e Segurança Física de Ambiente, composto por: #
- # 1. Interruptor para Ligar/Desligar o Sistema de Segurança Física #
- # 2. Temperatura; #
- # 3. Luminosidade; #
- # 4. Sensor de Abertura de Porta/Janela; #
- # 5. Relé para acionamento do sistema de aviso sonoro - Alarme # ####################################################################################
No próximo capítulo mostraremos o funcionamento completo do sistema.
Funcionamento Do Sistema De Monitoramento E Segurança Física De Ambiente
![Captura de Tela 2017-12-03 às 19.30.33.png](/proxy/?url=https://content.instructables.com/F4Y/CNUW/JAMU0BGX/F4YCNUWJAMU0BGX.png&filename=Captura de Tela 2017-12-03 às 19.30.33.png)
![Captura de Tela 2017-12-03 às 19.30.04.png](/proxy/?url=https://content.instructables.com/F8B/Y4UJ/JAMU0BH4/F8BY4UJJAMU0BH4.png&filename=Captura de Tela 2017-12-03 às 19.30.04.png)
![Captura de Tela 2017-12-03 às 19.29.53.png](/proxy/?url=https://content.instructables.com/FWV/YC0M/JAMU0BHD/FWVYC0MJAMU0BHD.png&filename=Captura de Tela 2017-12-03 às 19.29.53.png)
![Captura de Tela 2017-12-03 às 19.29.04.png](/proxy/?url=https://content.instructables.com/FNP/SOP5/JAMU0BHE/FNPSOP5JAMU0BHE.png&filename=Captura de Tela 2017-12-03 às 19.29.04.png)
![Captura de Tela 2017-12-03 às 19.28.19.png](/proxy/?url=https://content.instructables.com/F0W/B8AU/JAMU0BHJ/F0WB8AUJAMU0BHJ.png&filename=Captura de Tela 2017-12-03 às 19.28.19.png)
![Captura de Tela 2017-12-03 às 19.31.29.png](/proxy/?url=https://content.instructables.com/F9B/1KFE/JAMU0BKE/F9B1KFEJAMU0BKE.png&filename=Captura de Tela 2017-12-03 às 19.31.29.png)
![Captura de Tela 2017-12-03 às 19.31.02.png](/proxy/?url=https://content.instructables.com/FD2/6CMK/JAMU0BKH/FD26CMKJAMU0BKH.png&filename=Captura de Tela 2017-12-03 às 19.31.02.png)
Após a execução dos Step 3, 4 e 5, o Sistema de Monitoramento e Segurança Física de Ambiente estará em funcionamento. Agora iremos demonstrar o seu funcionamento:
O sistema inicia e passa na tela (Dragonboard) as seguintes informações:
- 1. Sistema de Segurança Física:
- ARMADO e PROTEGENDO: Habilitado pelo APP ou pelo acionamento fisico do "potenciômetro";
- DESARMADO e SEM PROTEÇÃO: Desabilitado pelo APP ou pelo acionamento fisico do "potenciômetro"
- 2. Temperatura:
- Medição: em °C da temperatura ambiente
- 3. Luminosidade:
Medição: em lumens da intensidade luminosa do ambiente
- 4. Sensor de Porta/Janela: (Simulado através do sensor de tilt)
- ALERTA - Abertura indevida detectada!: Caso o Sistema esteja em "ARMADO e PROTEGENDO" e ocorra identificação de abertura indevida de Porta/Janela;
- Abertura identificada!: Caso o Sistema esteja em "DESARMADO e SEM PROTEÇÃO" e ocorra identificação de abertura de Porta/Janela;
- OK: Independente do estado do Sistema e não ocorra abertura de Porta/Janela;
- 5. Sistema de Aviso Sonoro:
- ATIVADO: Caso o Sensor de Porta/Janela identifique "ALERTA - Abertura indevida detectada!", o sistema sonoro (alarme) é acionado;
- DESATIVADO: Caso o Sensor de Porta/Janela identifique "Abertura identificada!" ou "OK" , o sistema sonoro (alarme) nao é acionado;
- 6. Número de Alertas:
- Alertas: Número de vezes (cumulativo) desde o acionamento do Sistema, que o Sistema de Aviso Sonoro foi acionado.
Todas as informações acima, são enviadas periodicamente para a nuvem (em média de 13s em 13s) e podem ser visualizadas pelo aplicativo desenvolvido em Ionic.
No aplicativo, as mesmas informações são disponibilizadas (em uma disposição mais amigável) e com a possibilidade de ATIVAR/DESATIVAR o sistema com o simples toque de um botão. O aplicativo pode ser acessado:
- Local: http://localhost:8111 (importante sempre checar a porta na execução do Ionic)
- External: http://<<local_ip_ionic>>:8111 (importante sempre checar a porta na execução do Ionic)