Índice:

Sistema de segurança doméstica DSC habilitado para Internet: 22 etapas
Sistema de segurança doméstica DSC habilitado para Internet: 22 etapas

Vídeo: Sistema de segurança doméstica DSC habilitado para Internet: 22 etapas

Vídeo: Sistema de segurança doméstica DSC habilitado para Internet: 22 etapas
Vídeo: Como montar seu Sistema INTELIGENTE de Alarme e Monitoramento - Tuya Smart Life 2024, Julho
Anonim

Modifique um sistema DSC Home Security existente para ser habilitado para Internet e auto-monitorado.

Este instrutível pressupõe que você tenha um Raspberry Pi funcionando.

Observe que esta implementação tem as seguintes deficiências:

  • Se um ladrão cortar o cabo DSL de entrada ou o serviço de Internet for perdido, o monitoramento da Internet será desativado

    Futuro: a solução para esse problema é usar um serviço somente de backup LTE de baixo custo

  • Os sensores DSC não indicam se as portas ou janelas estão trancadas, apenas que estão fechadas

    Futuro: adicione um botão de alternância que é ativado pelo ferrolho da fechadura da porta. Isso exigirá um trabalho significativo para executar a fiação sem destruir o batente da porta

  • DSC suporta integração de alarme de incêndio. No entanto, o alarme de incêndio da minha casa não está integrado

    Futuro: integre o alarme de incêndio ao painel de controle DSC

  • O sistema DSC instalado não tem um sensor para a porta superior da garagem

    Anteriormente, criei um abridor de porta de garagem instrutível e posso ler se a porta está aberta ou fechada

Os objetivos deste projeto são:

  • Enviar alertas do sistema de segurança para o meu celular
  • Verifique ou defina o status do sistema de segurança em uma página da web segura
  • Execute a solução em um raspberry pi seguro (https e certs)
  • Use o sistema DSC existente para se automonitorar
  • Adicione EnvisaLink 3 para adicionar suporte Ethernet ao sistema DSC
  • Escreva software de automonitoramento
  • Crie um instrutível para este esforço

Observação: neste documento, o texto entre [colchetes] deve ser substituído por um valor real

Minha família nunca teve nossa casa roubada e vivemos em uma área de baixa criminalidade. Não há nenhuma razão convincente para fazer este projeto, exceto que foi interessante e divertido.

Observe que há um atalho excelente para isso instrutível. Assim que o Envisalink 3 estiver instalado e funcionando, você pode usar a solução de prateleira fornecida pela Eyes-On chamada EnvisAlerts e EnvisAlarm, que envia alertas e monitora sua casa e / ou um aplicativo móvel de telefone celular muito legal chamado DSC Security Server por Mike P. Eu me inscrevi no EnvisAlerts e comprei o Servidor de Segurança DSC de Mike P. Fiquei muito satisfeito com ambos, mas queria minha própria versão.

Etapa 1: solução de problemas e dados exclusivos

Existem certos dados aos quais me refiro com frequência e gosto de incluí-los na frente.

Alarme - ativar e desativar

Certifique-se de que todas as portas e janelas estão fechadas. No painel de controle, digite o código mestre:

[código mestre] = [seu código mestre]

Desativar linha telefônica

Minha casa tem telefone fixo, mas eu não tenho serviço de telefone fixo. Por volta das 23h, todas as noites, o sistema emite um bipe. Se o sistema ficar sem energia, será necessário inseri-lo novamente. Para desativar este bipe, no teclado, digite o seguinte:

  • Desative a linha telefônica: * 8 5555 015 7 ##
  • Desligue as transmissões de teste de linha telefônica * 8 5555 371 9999 ##
  • Desligue o discador do telefone: * 8 5555 380 1 ##

Servidor de alerta Envisalink

Faça login no Envisaiink

Obter servidor Envisalerts: 184.106.215.218

Roteador U-verse aberto: 192.168.1.254

Vá para Configurações, Firewall

Envisalink login

Navegador aberto

Digite o endereço IP do Envisalink:

[nome de usuário prevalink] = usuário

[senha imaglink] = [digite sua senha]

Endereço IP Envisalink

[Endereço IP Envisalink] = 192.168.1.92

Nome de usuário e senha de olho

[nome de usuário olhos no local] = [seu nome de usuário imagalink]

[senha de olhos fixos] = [sua senha do imagalink]

Código do instalador

[Código do instalador] = [Digite o código do instalador]

5555 é o código padrão. Você pode pedir o código ao seu instalador ou fazer uma redefinição de fábrica, que o coloca de volta em 5555. Não recomendo fazer uma redefinição de fábrica porque há uma possibilidade significativa de danificar o sistema.

Código mestre

[MasterCode] = [digite seu código mestre]

Raspberry Pi IP

[Raspberry Pi IP] = [digite seu endereço IP do Raspberry Pi, algo como 192.168.1.57]

Login do Raspberry Pi no Mac Book

No Mac Book, abra o terminal

ssh pi @ [Raspberry Pi IP]

[Senha]

Senha do Raspberry Pi

Senha = [sua senha do Raspberry Pi]

Roteador

Endereço IP do roteador = [digite o endereço IP do roteador]

Definir hora e data DSC

* 611301hhmmMMDDYY #

hh está no horário militar, para pm adicione 12. Então, 16:00 são 16

Programação de Zona

Tipo de Alarme de Zona

01 - Alarme após fornecer um atraso (padrão 60 segundos) no modo Total ou Ausente

03 - Alarme instantaneamente se violado quando estiver no modo Ficar ou Ausente

05 - Sensor de movimento interno. Alarme instantaneamente se violado apenas quando o modo Ausente (ignora quando em Ficar)

No teclado, digite:

* 8 [Código do Instalador] 001 01 03 05 05 87 # #

Explicação da sequência de código acima:

  • * 8 [Código do Instalador]
  • 001 - Isso leva você para a programação de zona para zonas
  • 01 03 05 05 87 - Esta é a minha sequência de tipos de alarme de zona, na ordem de zona de 1 a 5.
  • Todas as zonas devem ser definidas corretamente.
  • # # - Isso salva o que você fez e tira você do modo de programação.

Etapa 2: Encontre os números do modelo do teclado e do painel de controle

Encontre seus números de modelo de teclado e painel de controle
Encontre seus números de modelo de teclado e painel de controle
Encontre seus números de modelo de teclado e painel de controle
Encontre seus números de modelo de teclado e painel de controle
Encontre seus números de modelo de teclado e painel de controle
Encontre seus números de modelo de teclado e painel de controle
Encontre seus números de modelo de teclado e painel de controle
Encontre seus números de modelo de teclado e painel de controle

Encontre o número do modelo do teclado. O teclado DSC está perto de uma porta (imagens 1 e 2). Na minha casa, há um teclado na porta da garagem e outro na porta da frente.

Encontre o número do modelo do painel de controle. O teclado tem um adesivo na parte superior e o número do modelo no meio. O meu é um PK5501 (imagens 3 e 4).

Outra maneira de fazer isso é:

  • Em um computador, abra um navegador
  • Vá para

Meu painel de controle está localizado em uma caixa de metal em um armário (imagem 3). Abra a caixa de metal e no centro do painel de controle há um adesivo com o número do modelo. O número do modelo do meu painel de controle é PC1616 (imagem 4).

Etapa 3: Verifique se o EnvisaLink 3 é compatível com o seu sistema de segurança

Clique no link eyeson.com.

Role para baixo até o painel de compatibilidade e veja se o seu está listado. Caso contrário, verifique com o EyesOn.

Etapa 4: Obtenha a documentação DSC

O DSC oferece um Manual do Usuário, mas a maioria dos outros documentos exige que você seja um instalador

  • Para o painel de controle, encontre o Manual do Instalador, o Manual do Usuário, o Manual de Referência e a Planilha de Programação.
  • Para o teclado, encontre o Manual de Instalação. Os manuais que encontrei eram todos arquivos PDF.

Várias fontes não-DSC de manuais DSC estão disponíveis on-line. Manuais DSC não são necessários para este instrutível. Estas são apenas referências se você deseja estender o instrutível ou se o seu sistema usa partes diferentes.

LiveWatch.com é a melhor fonte de manuais DSC. O LiveWatch também foi muito útil para responder a perguntas e me desvencilhar. Eu não poderia ter concluído este instrutível sem a ajuda do LiveWatch.

Etapa 5: Compre ou reúna peças e ferramentas

A) Sistema de segurança DSC com teclados PK5501, painel de controle PC1616 e vários sensores (janelas, portas e movimento). O sistema de segurança veio com a casa.

B) Peça EnvisaLink 3 - $ 119 + S&H. www.eyezon.com

C) Provedor de internet AT&T U-verse, DSL Gateway

D) Comutador gerenciado NetGear de 24 portas

E) Fio de cerca invisível para cães ou termostato

F) Cabo Ethernet CAT5E

G) Quatro fios AWG de bitola 18-22 com cerca de 6 polegadas de comprimento (vermelho, amarelo preto, verde)

H) Alicate de ponta fina

I) Broca e broca de metal 3/16 e broca muito pequena

J) Fita isolante preta

K) Chave de fenda de cabeça chata muito pequena (tenho uma para consertar meus óculos quando o parafuso cai)

L) SPST Mini Momentary Pushbutton Switch, normalmente fechado

M) Caixa de plástico pequena (fio dental)

N) Faca Exacto

Etapa 6: Instalação do EnvisaLink 3

Instalação do EnvisaLink 3
Instalação do EnvisaLink 3
Instalação do EnvisaLink 3
Instalação do EnvisaLink 3

Eu não deveria ter seguido as instruções que vieram com o EnvisLink 3.

A primeira etapa nas instruções é desconectar a alimentação do PC1616. Presumi que isso significava tanto a alimentação CA quanto a alimentação reserva da bateria. Desconectei os dois e, em seguida, tive que ligar para um técnico para colocar os teclados novamente online. A chamada de serviço foi de $ 135.

  1. Meu PC1616 está contido em uma caixa de metal. Localize a placa PC1616 do seu sistema de segurança.
  2. Use o EV3 para criar um modelo de papel para os furos deslocados. O modelo é usado para marcar orifícios na caixa de metal. Como era mais fácil aparafusar de fora para dentro da caixa, tive que inverter o modelo.
  3. Cole o molde com fita adesiva na parte externa da caixa de metal que contém o PC1616. Escolha um local que tenha espaço suficiente para acomodar o Envisalink 3.
  4. Muito lentamente, usando uma broca de metal de 3/16 "e o gabarito, faça 3 furos na lateral da caixa de metal.
  5. De dentro da caixa de metal, empurre os deslocamentos de plástico nos orifícios
  6. Instale a placa EV3 na caixa de metal nos offsets de plástico.
  7. Desencape 1/4 "de ambas as extremidades dos fios vermelho, preto, verde e amarelo (ou você pode cortar um cabo RJ11 e usar os fios internos). Embora ambos funcionem, o fio do termostato sólido é melhor do que o fio trançado, porque os conectores da placa prendem o fio sólido com mais firmeza. Se estiver usando fio torcido, torça as pontas com força, o que facilitará a instalação.
  8. Desconecte o fio preto de alimentação CA do controlador DSC. Este é o (s) segundo (s) fio (s) da esquerda. Tenha cuidado para não deixar a extremidade exposta do (s) fio (s) preto (s) tocar em nada. Enrolei a ponta em fita isolante até terminar os próximos passos. Se o (s) fio (s) preto (s) tocarem em alguma coisa, o transformador entrará em curto e você terá que ligar para uma empresa de serviço para substituí-lo.
  9. Usando uma chave de fenda bem pequena, instale os fios coloridos nos slots apropriados do EV3.
  10. Um a um, afrouxe os parafusos vermelhos, verdes, amarelos e pretos do controlador DSC, mas SOMENTE o suficiente para inserir os novos fios. Insira o fio da cor apropriada e aperte.
  11. Reinsira a alimentação CA (removida em G) no controlador DSC.
  12. Usando um cabo CAT5e ou CAT6, conecte o EnvisaLink 3 ao roteador.

Etapa 7: instale o botão liga / desliga momentâneo

Instale o botão de alternância de energia momentâneo
Instale o botão de alternância de energia momentâneo

Tive muitos problemas ao programar o Envisalink e o controlador DSC. Descobri que desligar e ligar o sistema fez com que o sistema voltasse a um bom estado conhecido. Mais tarde, adicionei um botão de alternância momentâneo. Existem muitos tipos de alternância. O normalmente fechado é o necessário.

A) Pegue uma pequena caixa de plástico. Usei uma caixa de fio dental, que é o tipo que um dentista pode dar a você depois de uma consulta. Remova o fio dental e os clipes de metal.

B) Faça dois pequenos orifícios para o fio AC

C) Perfure ou corte um orifício para a alternância momentânea. Achei mais fácil usar uma faca exacto do que fazer um furo. Abra a caixa e corte metade do orifício de um lado da abertura e a outra metade do lado adjacente. Portanto, quando a chave momentânea desliza para um lado e quando a caixa é fechada, a chave momentânea está firmemente fixada.

D) Remova a alimentação CA do Envisalink. Passe o fio de alimentação CA por um dos pequenos orifícios e conecte ao cabo na chave de alimentação momentânea. Embrulhe em fita isolante.

E) Desencape as pontas de um pedaço de arame de 3-4 polegadas. Passe uma extremidade pelo outro pequeno orifício na caixa e conecte ao outro cabo na chave momentânea. Enrole em fita isolante.

F) Conecte o segundo fio do interruptor momentâneo ao slot de alimentação CA do Envisalink

G) Use fita adesiva para selar a caixa

H) Verifique se a alternância funciona. O sistema deve estar normalmente ligado. Quando o botão de alternância é pressionado, as luzes do Envisalink se apagam.

Etapa 8: Registre o EnvisaLink 3

Uma vez registrado, você não pode cancelar o registro. EyesOn coleta seus dados e pode atualizar o software de sua placa a qualquer momento, sem qualquer notificação. Se eu fizesse isso de novo, não faria essa etapa.

A) Abra um navegador e vá para www.eyezon.com, menu suspenso Suporte e selecione EnvisaLink 3 Primer Guide

B) Siga as instruções na cartilha (registrar, fazer login, adicionar novo dispositivo, etc,)

C) Nome de usuário = [nome de usuário visível]

D) Senha = [senha de olhos fixos]

Etapa 9: Verifique a instalação do EnvisaLink 3

Abra um navegador e vá para a página inicial do seu roteador.

  1. Abra um navegador
  2. Digite [Endereço IP do roteador]
  3. Na guia inicial, role para baixo até Dispositivos de rede doméstica

Meu U-verse Residenial Gateway (ou roteador) mostra algo como a Imagem 1.

Role para baixo até o dispositivo e deve ser semelhante à imagem 2.

Um status ativo significa que a placa está instalada e operando.

Clique em Detalhes para obter o endereço IP do EnvisaLink. O endereço IP pode mudar de tempos em tempos.

Abra um navegador e digite

[Endereço IP Envisalink]

Digite o nome de usuário e a senha:

[nome de usuário prevalink]

[senha do visionlink]

Digite o nome de usuário e a senha do guia de instalação. O navegador deve mostrar algo como a imagem 3.

Etapa 10: Alterar a senha padrão no Envisalink 3

A) Abra o navegador

B) Vá para [Envisalink IP Address] /: 80

Um exemplo é 192.168.1.34/:80. O /: 80 é a porta.

C) Em Change User Password”altere a senha. Nota: o nome de usuário e a senha padrão é user

D) Registro [senha do visionalink]

Etapa 11: (atalho) Gerar link móvel [opcional]

Você não precisa fazer esta etapa ou a próxima, mas se quiser, esta é uma boa opção.

Eyez-On oferece um serviço completo de monitoramento. É fácil de usar e funciona bem. Se você quiser usar este serviço, siga as instruções nas etapas 10 e 11. Caso contrário, pule para a etapa 12. Observe que eu usei o 10 e o 11 e, em seguida, tive que desativá-los. Ambos os serviços funcionaram bem e eu não tive problemas, eu só queria fazer isso sozinho.

A) Abra o navegador e vá para Eyez-On

B) Login (em uma etapa anterior, você deve ter criado uma conta)

C) Selecione o link do portal móvel

D) Clique em gerar link móvel

www.eyez-on.com/EZMOBILE/index.php?mid=13b7d2f4e95b7d62dbcfb801a835064ee4406c79

E) O link é longo. Envie por email para o seu dispositivo móvel.

F) Abra o link em seu dispositivo móvel

G) Abra outra janela ou guia do navegador e vá para Eyez-On, selecione suporte e selecione EnvisAlarms Monitoring Primer no menu suspenso

H) Siga as instruções para baixar o software de automonitoramento EV3

I) Siga as instruções para configurar como deseja monitorar

Etapa 12: Instale o aplicativo DSC Server em seu smartphone [opcional]

Você não precisa fazer esta etapa ou a anterior, mas se quiser, esta é uma boa opção.

A) Vá para a loja Android ou Apple e compre o aplicativo Servidor de Segurança DSC de Mike P.

Se você executou as duas etapas anteriores, está pronto! Você deve ser capaz de monitorar e controlar seu sistema de segurança remotamente.

Etapa 13: notas importantes sobre Envisalink 3 e PC1616

A comunicação do Envisalink 3 com o EnvisAlerts usa UDP. A comunicação do Envisalink 3 com o script usa TCP / IP.

A porta Ethernet do Envisalink 3 se comunica apenas a 10 Mbps. A maioria dos roteadores e switches Ethernet de 1 Gb ou 100 Mb negociará automaticamente até 10 Mbps.

Na seção 022 do PC1616, a opção 1 não pode ser habilitada. Esta opção requer um código de acesso do usuário para acessar as funções do usuário, como inibir zonas, etc. A opção está desativada por padrão.

A supressão do teclado e a inibição de zona devem estar desligadas para que o Envisalink funcione.

Etapa 14: Desfaça o trabalho nas duas etapas anteriores

Inicialmente, me inscrevi no Envisalerts e no aplicativo de Mike P.

Como não quero enviar minhas informações de segurança para a Internet e não quero que o software Envisalink 3 seja atualizado sem meu consentimento, precisei bloquear o acesso do Envisalink 3 à Internet.

A) Abra o navegador

B) Vá para o gateway AT&T U-verse 3801HGV. Digite na caixa de URL do navegador: 192.168.1.254

C) Faça login no gateway

D) Vá para casa

E) Role para baixo até Envisalink

F) Clique nos detalhes

  • Salvar endereço MAC (também conhecido como endereço de hardware) = [endereço MAC Envisalink]
  • [Endereço MAC Envisalink] = 00: 1c: 2a: 00: 9d: 07

G) Vá para Configurações >> LAN >> Wireless

H) Role para baixo para habilitar a filtragem de MAC

I) Clique em MAC filtering

  • Clique em Editar lista de dispositivos bloqueados / permitidos
  • Clique em Enable MAC filtering
  • Role para baixo para inserir o endereço MAC

J) Cole o endereço MAC do Envisalink

K) Clique em adicionar à lista

L) Clique em >> para mover para Dispositivos Bloqueados

M) Role para cima e certifique-se de que a caixa de seleção MAC Filtering esteja marcada

N) E o Envisalink deve ser bloqueado

Etapa 15: Reúna a documentação necessária e entenda como seu sistema está configurado

Eu queria entender como controlar o sistema de segurança. As melhores fontes são:

Como programar um sistema DSC - um tutorial - necessário para eu entender o documento TPI

Documento do programador EnvisaLink TM TPI, versão 1.04 - descreve o conjunto de comandos TPI

Planilha de programação - um documento horrível e mal nomeado, que descreve a configuração do seu sistema de segurança

O proprietário anterior não deixou uma planilha de programação preenchida. Eu tive que preencher isso sozinho. Basicamente, usei o teclado para inserir comandos até que tudo estivesse resolvido. A planilha é um lugar para registrar a configuração do seu sistema. Ok, eu menti. Use a planilha como um guia, mas registre a configuração do seu sistema em um documento de tamanho normal.

Etapa 16: Documento do Programador de Interface de Terceiros (TPI)

A Interface de Terceiros (TPI) é um conjunto de comandos, respostas e códigos de erro que permitem que aplicativos de terceiros façam interface com o EnvisaLink 3 por meio de uma conexão TCP / IP. Achei este documento muito confuso. Espero que esta explicação ajude a explicar o documento um pouco melhor.

Em geral, todos os comandos, respostas e códigos de erro do TPI têm três dígitos:

  • Os comandos são maiores ou iguais a 500
  • As respostas são menores ou iguais a 200
  • Os códigos de erro estão entre 000 e 027, mas as respostas também estão nesta faixa

Os dados são anexados ao final de um Comando ou Resposta. Por exemplo, um comando de login pode ser:

005pswdCS / n / r

Onde,

pswd = são dados, neste caso, sua senha

O seguinte é obrigatório:

  • CS = checksum
  • n = caractere de nova linha
  • r = caractere de retorno de carro

Na web, encontrei muitas implementações para calcular a soma de verificação. A soma de verificação é necessária e muitas implementações não funcionaram. Não tenho certeza por que tantos não funcionaram para mim. Pode ser um código incorreto ou podem ser versões diferentes da placa ou versões de firmware em execução na placa. Meu código de checksum funciona para minha placa e firmware.

O EnvisaLink atua como um servidor para uma conexão TCP a uma aplicação Cliente. O Cliente só deve ser executado em um servidor seguro que possa se comunicar com o EnvisaLink 3. O servidor do Cliente deve estar na sua rede doméstica, mas não deve estar aberto à internet. Um certificado autoassinado é necessário (veja meu outro instrutível para um abridor de porta de garagem).

O EnvisaLink escuta na porta 4025 e só aceitará uma conexão de cliente. As conexões subsequentes serão negadas. O EnvisaLink fechará a conexão caso o cliente feche seu lado.

Para iniciar uma conexão:

  • O cliente inicia uma sessão TCP estabelecendo um soquete TCP.
  • O cliente envia um comando de login [005]
  • EnvisaLink responde com um ou mais [505]
  • Se [505] os dados do comando forem 3, então, em 10 segundos, responda com um comando de login [005]
  • Se [505] os dados contiverem 1, o login foi bem-sucedido

Os dados do comando de login são uma senha de até seis caracteres, que é a mesma senha para acessar a página local do EnvisaLink.

Consulte a descrição do comando 505 no manual do TPI para obter uma descrição de todos os dados.

Assim que a senha for aceita, a sessão será criada e continuará até que a conexão TCP seja interrompida.

Etapa 17: Script de controle de linha de comando

Usei documentos da etapa anterior para desenvolver um script Python interativo que poderia ser executado a partir de uma linha de comando em uma janela do Mac Book Terminal. Aqui estão alguns comentários esclarecedores:

  • Posso ter exagerado um pouco, mas acho que todos os comandos estão no script.
  • O script python da linha de comando, ev3.py, pode ser baixado deste link: GitHub. Baixe ev3.py.
  • Copie o script para um diretório [diretório].
  • Abra uma janela de terminal (clique no disco do MacBook, Aplicativos, Utilitários, Terminal).
  • Eu uso uma janela de terminal com freqüência. Portanto, tenho o aplicativo do terminal fixado no dock.
  • Se estiver executando a partir de um computador, altere self.file_log = sys.stderr, conforme indicado no script.
  • Na janela do terminal, mude para o diretório e execute o script:

$ cd [diretório]

$ python visionalink.py

  • Digite [return] para ver os comandos válidos.
  • Digite [ctrl-c] para sair do programa.

Etapa 18: Breve explicação

Desejo configurar ou monitorar o sistema de segurança de um smartphone, tablet ou PC. Uma solução simples é desenvolver um site.

O script python da linha de comando monitora o sistema de segurança e pode alterar o estado do sistema. No entanto, não oferece uma boa capacidade de visualização remota.

Um site oferece uma interface excelente para monitorar e alterar o sistema de segurança. No entanto, o site só está “funcionando” quando está sendo visualizado. Considerando que, o script de linha de comando deve estar em execução o tempo todo. Quando o script está em execução, ninguém pode estar visitando o site. Portanto, os dados coletados pelo script devem ser armazenados em um banco de dados até que alguém queira visualizá-los.

Além disso, um usuário deve ser capaz de alterar o estado do sistema de segurança (armar, desarmar). Quando ocorrem mudanças de estado, as mudanças devem ser feitas rapidamente.

Tanto o script quanto o banco de dados são potenciais pontos de falha; outro script é necessário para verificar periodicamente se tudo está funcionando e reiniciar o script, se necessário.

Passos pulados

Você precisará seguir estas etapas (consulte o Abridor de Porta de Garagem instruído para algumas dessas etapas)

A) Configure o Raspberry Pi - na verdade, você pode executá-lo em qualquer servidor

B) Instale o python

C) Crie um certificado autoassinado e instale no Raspberry Pi e em todos os dispositivos que deseja acessar o site

D) Impedir que pessoas sem seu certificado autoassinado acessem seu sistema de segurança

Etapa 19: Instale o SQLite

As opções usuais de banco de dados são MySQL ou postgres. Este aplicativo precisa de algo simples, como um arquivo. Eu sabia que SQLite era a escolha correta quando li,

  • https://sqlite.org/ é menor que MySQL ou postgres
  • SQLite compete com fopen. e
  • O SQLite não é diretamente comparável ao MySQL ou postgres porque está tentando resolver um problema diferente.

Aqui está uma ótima fonte para configurar o SQLite: Instale o SQLite em um Raspberry Pi

Faça login no raspberry e execute o comando:

$ sudo apt-get install sqlite3

$ sudo apt-get install php5-sqlite

Crie o banco de dados:

$ sqlite3 security.db

Crie uma mesa

sqlite> BEGIN;

sqlite> CREATE TABLE status (tdate DATE, ttime TIME, nome TEXT, valor TEXT);

sqlite> COMMIT;

Verifique se a tabela foi criada corretamente:

sqlite>.schema status

O status da tabela conterá:

sistema: armado, desarmado

alarme: nenhum, incêndio, pânico, alerta

zonas [1-6]: aberto, fechado

script: conectado, logado, em execução

Insira alguns dados na tabela

sqlite> BEGIN;

sqlite> INSERT INTO valores de status (data ('agora'), hora ('agora'), "sistema", "desarmado");

sqlite> INSERT INTO valores de status (data ('agora'), hora ('agora'), "alarme", "nenhum");

sqlite> INSERT INTO valores de status (data ('agora'), hora ('agora'), "zona", "fechado");

sqlite> INSERT INTO valores de status (data ('agora'), hora ('agora'), "script", "em execução");

sqlite> INSERT INTO valores de status (data ('agora'), hora ('agora'), "comando", "");

sqlite> COMMIT;

Verifique os valores inseridos corretamente

sqlite> SELECT * FROM status WHERE name = "zona";

2015-06-06 | 17: 39: 52 | zona1 | fechada

Sair do SQLite

sqlite>.quit

Mova o banco de dados e altere o acesso:

$ mv security.db /var/www/db/security.db

$ chmod og + rw / var / www /

$ chmod og + rw /var/www/db/security.db

Etapa 20: Instale o SQLite no MacBook [opcional]

Gosto de desenvolver no Mac e depois mover os resultados para o Raspberry Pi.

Vá para a página de download em sqlite.org e baixe sqlite-autoconf - *. Tar.gz da seção de código-fonte

No MacBook, abra downloads de sua conta

Clique no arquivo tar.gx baixado

Abra a janela do terminal

Downloads de $ cd

$ cd sqlite-autoconf- [número da versão mais recente]

$./configure --prefix = / usr / local

$ make

A fabricação leva alguns minutos, seja paciente.

$ sudo make install

[Senha do MacBook]

Confirme se funciona:

$ sqlite3

sqlite>

Ou tente

$ qual sqlite3

Refaça as etapas da etapa anterior para configurar o banco de dados, a tabela e inserir os dados no MacBook (ou use o script. Se db não existir, ele será criado e preenchido).

Etapa 21: Para comunicar-se entre o EnvisaLink 3 e o Mod_wsgi de carga do Raspberry Pi

É necessário mod_wsgi para fazê-lo funcionar no Raspberry Pi.

Faça login no Raspberry Pi:

$ ssh pi @ [Endereço IP do Raspberry Pi]

digite a senha

então pegue mod-wsgi

$ sudo apt-get install libapache2-mod-wsgi

Para executar ev3pi.py na linha de comando do Raspberry Pi:

$ sudo python ev3pi.py

Etapa 22: Baixe o software do GitHub

Modifique o script de linha de comando para gravar no banco de dados.

Estas são boas explicações para conectar um script Python ao SQLite:

  • SQLite de python.org
  • SQLite de python

Modifiquei o código para falar com SQLite. Você pode baixar o código aqui: GitHub. Baixe ev3pi.py.

Abra uma janela de terminal e copie o script python da linha de comando para raspberry pi

$ scp ev3pi.py pi @: / home / pi

Faça login no pi

$ ssh pi @

digite a senha

Mova o script para / usr / local / bin e altere os privilégios

$ ssh pi @

$ sudo mv ev3pi.py / usr / local / bin

$ sudo chmod ug + x /usr/local/bin/ev3pi.py

ou

$ sudo chmod 0755 / usr / local / bin / ev3pi.py

Altere o script para que seja executado no Raspberry Pi. Veja os comentários no código. Certifique-se de usar o banco de dados em /var/www/db/security.db

Atualize o site para escrever comandos no banco de dados

Clicar em um comando de segurança no site, grava o comando no banco de dados.

Na próxima passagem pelo loop principal, o comando deve ser lido e executado.

Baixe o código security.php aqui: GitHub. Baixe security.php.

script bash que verifica se ev3pi.py está ou não em execução

Se ev3pi.py parar de ser executado por algum motivo, ele deve começar a ser executado automaticamente. Este script tenta reiniciar o script.

Baixe o código ev3chk.sh aqui: GitHub. Baixe ev3chk.sh.

Script Python que arma e desarma automaticamente o sistema de segurança usando uma programação

Este script usa uma programação para armar e desarmar o sistema de segurança com base na hora do dia e no dia da semana inseridos pelo usuário. Se o campo de férias estiver definido, o arme e desarme serão ignorados.

Baixe o código ev3auto.py aqui: GitHub. Baixe ev3auto.py.

Página da Web para exibir o status e armar e desarmar o sistema

Esta é uma página da Web bastante simples, conectada a um sistema de automação residencial maior. Renomeie este script para indexar e coloque em / var / www no seu Raspberry Pi.

Baixe o código security.php aqui: GitHub. Baixe security.php.

crontab para verificar se o script está rodando

Edite o Crontab para garantir que os scripts estejam em execução.

Faça login no Raspberry Pi

$ sudo crontab -e

#

# verifique a cada 5 minutos se o sistema de segurança está funcionando

* / 5 * * * * /usr/local/bin/ev3chk.sh> / dev / null 2> & 1

#

# verifique a cada 15 minutos se o sistema de segurança está em bom estado

* / 15 * * * * /usr/local/bin/ev3auto.chk> / dev / null 2> & 1

Você pode baixar o crontab aqui: GitHub. Baixe o crontab.

Recomendado: