Índice:

IOT CA2 Secure Smart Home / Room: 8 etapas
IOT CA2 Secure Smart Home / Room: 8 etapas

Vídeo: IOT CA2 Secure Smart Home / Room: 8 etapas

Vídeo: IOT CA2 Secure Smart Home / Room: 8 etapas
Vídeo: Smart Home Security Basics! | #NextUpgrade 2024, Novembro
Anonim
IOT CA2 Secure Smart Home / Room
IOT CA2 Secure Smart Home / Room
IOT CA2 Secure Smart Home / Room
IOT CA2 Secure Smart Home / Room

Índice

1 Visão geral do Smart Secure Home

2 Requisitos de hardware + configuração

3 Requisitos de software + configuração

4 Registre raspberrypi como uma coisa

5 Crie um Balde S3

6 Configuração + Regras do DynamoDB

7 resultado esperado

8 códigos (do Pastebin)

9 referências

Visão geral

Receber! Este projeto Raspberry Pi é um sistema de gerenciamento de "casa inteligente", com certos recursos de segurança. O projeto é capaz de medir diversos valores como temperatura e luz. A seção de segurança consiste em um Buzzer, um sistema de scanner de cartão (Autoriza cartão), uma câmera interna e externa, bem como um sistema de alerta SMS. As instruções a seguir cobrirão a configuração de todo o projeto.

Basicamente, temos um resistor de diodo de luz e um sensor DHT11 para obter os valores de temperatura e luz. Os valores serão então publicados em ‘smartroom / sensores / valores’ e haverá uma assinatura do tópico para verificar se os valores estão sendo publicados. Assim que os valores forem publicados, eles também serão enviados para a nossa tabela do DynamoDB. Os valores armazenados no DynamoDB podem ser extraídos e plotados em um gráfico que exibe os valores em tempo real em nossa interface da web. (Gráfico de luz) Além de usar os sensores para obter valores para traçar nosso gráfico para fins de análise, nosso sensor dht11 também é usado como um potencial detector de “incêndio”. Quando atinge uma determinada temperatura que pode ser um incêndio, temos um script chamado publishHeat.py que publicará a temperatura em um tópico 'smartroom / sensor / fire', o breadboard que simboliza o exterior do apartamento irá então assinar isso tópico e um LED aceso para indicar que pode haver um incêndio potencial. O alarme também disparará, assim como um SMS para alertar o dono da casa quando houver um potencial incêndio.

Para entrar na casa / sala, o usuário terá que tocar seu cartão no scanner RFID. Se o cartão tocado estiver incorreto, o alarme soará até que um cartão com as credenciais corretas seja tocado. Além disso, quando um cartão incorreto é tocado, a câmera de vigilância externa tira uma foto do usuário que tocou o cartão e carrega a imagem no balde S3. O dono da casa também receberá um SMS informando que alguém tentou entrar em sua casa. A sala também tem um indicador LED externo para identificar se a porta está destrancada / trancada. Quando a porta está trancada, o LED amarelo acende. Quando desbloqueado, o LED verde ficará aceso. Quando um cartão autorizado é tocado, a porta será destravada por 15 segundos e com o LED verde aceso, em seguida, voltará ao modo destravado com o LED amarelo aceso.

Os usuários podem visualizar os dados coletados por meio de um painel em Node-Red que mostra os valores de medição atuais, além de uma representação gráfica de um medidor e um gráfico histórico. O Dashboard também inclui recursos adicionais, como um relógio que exibe os dados e a hora atuais e alterna para controlar remotamente vários aparelhos elétricos, que são representados como LEDs e uma campainha.

Por último, também temos um recurso de bot de telegrama. O bot de telegramas é capaz de tirar fotos remotamente de tudo o que está acontecendo dentro da sala e armazená-las no balde S3. Essas imagens serão rotuladas dentro de uma pasta chamada “Homed / User O bot de telegramas também será capaz de controlar remotamente a luz LED na sala.

Etapa 1: Requisitos de hardware + configuração

Requisitos de hardware + configuração
Requisitos de hardware + configuração
Requisitos de hardware + configuração
Requisitos de hardware + configuração

Conecte os seguintes componentes com seu 2 raspberry pis como mostrado nos diagramas fritzing acima.

2 x Raspberry Pi

3 x tábua de pão

1 x MCP3008 ADC

1 x sensor DhT 11

1 x LDR

1 x leitor de cartão RFID / NFC MFRC522

4 x LED

1 x tela LCD

3 x 10k resistor

4 x 220/330 resistor

1 x botão

1 x campainha

34 x cabos macho para macho

11 x cabos macho para fêmea

Etapa 2: Requisitos de software + configuração

Requisitos de software + configuração
Requisitos de software + configuração
Requisitos de software + configuração
Requisitos de software + configuração
Requisitos de software + configuração
Requisitos de software + configuração

Digite os seguintes comandos em seu terminal raspberry pi para garantir que eles sejam instalados.

Se algum dos softwares a seguir já tiver sido baixado em seu pi, sudo pip install (nome do software) --upgrade fará o truque para atualizá-lo.

- sudo pip install gevent

- frasco de instalação sudo pip

- sudo pip install nexmo

- sudo pip install --upgrade --force-reinstalar pip == 9.0.3

- sudo pip install AWSIoTPythonSDK --upgrade --disable-pip-version-check

- instalar sudo pip - atualizar pip

- sudo apt-get install python-dev

- sudo pip install boto3

- sudo pip install botocore

- sudo pip install numpy

- cd ~

git clone

cd ~ / SPI-Py

sudo python setup.py install"

- cd ~

git clone

cd ~ / MFRC522-python

sudo python setup.py install"

- sudo nano /boot/config.txt, verifique se as linhas device_tree_param = spi = on

dtoverlay = spi-bcm2835 estão dentro, caso contrário, adicione.

Etapa 3: registrando uma coisa

Registrando uma coisa
Registrando uma coisa
Registrando uma coisa
Registrando uma coisa
Registrando uma coisa
Registrando uma coisa
Registrando uma coisa
Registrando uma coisa

a) Primeiro, navegue até IoT Core no site da AWS clicando em serviços e, em seguida, IoT Core.

b) Na barra de navegação abaixo de gerenciar, selecione coisas e escolha registrar uma coisa.

c) Escolha Criar uma única coisa.

d) Digite um nome para o seu produto, por exemplo, MyRaspberryPi2. Deixe o restante dos campos com seus valores padrão. Clique em Avançar na parte inferior da página.

e) Clique em criar certificado. Baixe todos os quatro arquivos. Para o arquivo raiz CA, baixe o Amazon Root CA 1 e salve-o em um bloco de notas.

f) Uma vez feito isso, mova os quatro arquivos para um diretório no raspberry pi.

g) Clique em ativar.

h) Depois de clicar em anexar política, você será levado à página seguinte. Clique em registrar, a política será criada mais tarde.

i) No painel iot, navegue até as políticas na seção segura. Clique em criar uma política.

j) Digite um nome para sua política, para este exemplo será MyRaspberryPiSecurityPolicy e digite o seguinte em Adicionar instruções. Em seguida, clique em Criar.

k) No painel do iot, navegue até os certificados na seção segura. Selecione o certificado que você criou anteriormente e clique em anexar política no menu suspenso de ações. Anexe a política que você criou anteriormente.

l) Selecione novamente o certificado que você criou anteriormente e clique em anexar. Anexe a política que você criou anteriormente. Anexe o que você criou anteriormente.

Etapa 4: Criando um Bucket S3

Criando um Bucket S3
Criando um Bucket S3
Criando um Bucket S3
Criando um Bucket S3
Criando um Bucket S3
Criando um Bucket S3
Criando um Bucket S3
Criando um Bucket S3

a) Começaremos usando a função de pesquisa no console de gerenciamento da AWS e pesquisaremos “s3”.

b) Clique em criar depósito.

c) Digite um nome para o balde. Neste exemplo, usaremos o nome “sp-p1703263”. Estaremos escolhendo a região “US EAST (N. VIRGINIA)” que é us-east-1. Feito isso, clique em Criar.

d) O novo bucket criado aparecerá no painel.

Etapa 5: Criação de tabelas e regras do DynamoDB

Criação de tabelas e regras definidas no DynamoDB
Criação de tabelas e regras definidas no DynamoDB
Criação de tabelas e regras definidas no DynamoDB
Criação de tabelas e regras definidas no DynamoDB
Criação de tabelas e regras definidas no DynamoDB
Criação de tabelas e regras definidas no DynamoDB
Criação de tabelas e regras definidas no DynamoDB
Criação de tabelas e regras definidas no DynamoDB

a) Primeiro, navegue até os serviços AWS clicando em

serviços e, em seguida, DynamoDB. Clique em criar tabela.

b) Digite o nome da tabela “iotdata” e a chave primária “deviceid” com uma chave de classificação “datetimeid” e clique em criar na parte inferior da página.

c) Depois disso, navegue de volta para a página IoT Core. Clique em Agir e em criar uma nova regra.

d) Crie uma regra com o nome “MyDynamoDBRule”. No tópico de instrução de consulta de regra, insira “sensores / luz”.

e) Na seção Definir uma ou mais ações, clique em adicionar ação, clique em “dividir a mensagem em várias colunas de uma tabela do banco de dados”. Clique em configurar ação. No nome da tabela, escolha o iotdata. No nome da função IAM, selecione a função que você criou anteriormente, que é “dynamodb_role”. Clique em adicionar ação e, em seguida, em criar regra.

f) Clique em criar regra.

Etapa 6: Resultado Esperado

Resultado esperado
Resultado esperado
Resultado esperado
Resultado esperado

Exterior

para o pi que representa o exterior da sala, os scripts heatdetector.py e AccessDoor.py serão executados. Se um cartão incorreto tocar no scanner RFID, o alarme disparará, com o LED amarelo ainda aceso. Um SMS será enviado ao telefone do dono da casa para notificar sobre uma possível intrusão. O alarme também soará. Uma foto também será tirada e carregada instantaneamente no S3 Bucket. Se o cartão tocado for autorizado, o LED verde acenderá e o usuário poderá entrar. A porta será trancada novamente após 15 segundos (o LED verde apagará e o LED amarelo acenderá novamente). Se a temperatura dentro da sala / casa ficar muito alta (para uma temperatura que consideramos casa / sala potencialmente em chamas), enviaremos um alerta por SMS para o proprietário da casa. O alarme também soará com o LED vermelho aceso na parte externa.

Interior

para o pi que representa o interior da sala, os scripts publishHeat.py, server.py, pubsub.py, telegrambot.py serão executados. Pubsub.py armazenará os valores em tempo real no DynamoDB. quando o server.py for executado, digite o endereço ip do rpi: 5000 no navegador, você será direcionado para a nossa interface da web. Temos um gráfico que exibe os valores de luz em tempo real obtidos de nossos sensores em pubsub.py no DynamoDB. Além disso, os valores históricos de luz também serão exibidos em nossa interface da web. publishHeat.py publicará os valores de temperatura na placa de ensaio externa para fins de sensor de incêndio. telegrambot.py permitirá ao usuário controlar remotamente o ligar / desligar da luz LED na sala / casa, bem como tirar uma foto do que está acontecendo lá dentro e enviar a imagem para o balde S3.

Para uma melhor visualização de como o resultado esperado deve ser:

Etapa 7: códigos fonte (Pastebin)

Códigos-fonte (Pastebin)
Códigos-fonte (Pastebin)

Clique no link. Consiste em todos os códigos-fonte necessários:

Etapa 8: Referências

Referências
Referências

Iotguider. (2019). Envie SMS do Raspberry Pi usando Python. [online] Disponível em: https://iotguider.in/raspberrypi/send-sms-from-raspberry-pi-python/ [Acessado em 21 de agosto de 2019].

Recomendado: