Vigilância por vídeo não profissional do apartamento é divertido e barato

Desde o momento em que recebi um sistema de alarme GSM em meu apartamento, fiquei com a ideia de que seria bom ter "olhos" na minha ausência no apartamento se os sensores de alarme fossem acionados (ou talvez o alarme seja falso?). Como sou engenheiro no campo da tecnologia da informação, não havia dúvida de nenhuma solução profissional na forma de registrador e um monte de câmeras - apenas tudo sozinho, com minhas próprias mãos. Também foi decidido definir o orçamento imediatamente para limitar e, se o projeto for bem-sucedido, já pense em sua melhoria e modernização.

Ferro


Primeiro de tudo, selecionamos o ferro. "Olhos" significa uma câmera, não há como chegar a lugar nenhum. Surge então a questão do que fazer com a imagem recebida - armazená-la, transferi-la para algum lugar, etc. Por isso, pensei em um roteador conectado via UPS com um modem 4G para um canal estável da Internet, difícil de colocar em risco para um ladrão em potencial.

No trabalho, usamos roteadores com portas USB ZyXel Keenetic há vários anos (especificamente meu modelo Giga2 já desatualizado). Depois que os desenvolvedores do firmware “estragaram” algo como OPKG (gerenciador de pacotes), tornou-se possível transformar meu roteador em um computador pessoal com Linux com as maiores possibilidades, que eu decidi usar para o meu propósito. No total, já tendo em casa um roteador de computador com um modem 4G conectado, só me faltavam os “olhos” - uma câmera USB. Lembrando que comprei uma webcam Logitech C270 para meus pais há três ou quatro anos para a comunicação com parentes através do Skype no computador e que agora eles já se comunicam através de um tablet - eu requisitei a câmera deles. A propósito, há um LED no painel frontal da câmera que mostra se a câmera está funcionando ou não - no futuro se mostrou muito conveniente para determinar visualmente a operação do sistema de vigilância por vídeo.


Emparelhar e configurar o ferro


Então, tem ferro. E o que não pode deixar de se alegrar - enquanto estamos dentro do orçamento.
Existem duas portas USB no meu roteador, uma das quais já estava ocupada por um modem USB 4G. Usaremos o segundo colocando a câmera logitech C270 lá. Para que o roteador funcione com a câmera, você deve primeiro instalar o componente OPKG no roteador (neste componente, colocamos todas as marcas de seleção, exceto “Módulos do Kernel para Suportar Sintonizadores USB DVB”). Mas há um problema: para o OPKG funcionar no roteador, você precisa de espaço em disco (um gigabyte é suficiente para os olhos), mas onde posso obtê-lo, porque as duas portas USB do roteador já estão ocupadas? Havia duas soluções possíveis - um hub USB com uma unidade flash USB (a primeira coisa que vem à mente) ou o fato de que você pode colocar um cartão microSD no meu modem USB 4G. E o antigo cartão microSD lento de 8 gigabytes encontrado em casa foi imediatamente para o modem. Deixou o sistema de arquivos em um cartão NTFS (embora EXT2 ou EXT3 seja altamente recomendado). Crie a pasta Install e faça o upload da imagem desejada do Entware.

Em seguida, vamos ao painel de administração do roteador, a guia OPKG, selecione nosso cartão de memória, na linha "script initrc"

/opt/etc/init.d/rc.unslung 

e clique em Aplicar .
Depois de instalar o OPKG, o cliente SSH (eu uso o programa Putty no meu laptop com Windows) se apega ao roteador e executa os seguintes comandos para atualizar o OPKG:

 opkg update opkg upgrade 

Por padrão, no SSH, a senha do root é keenetic (ou zyxel , dependendo da versão do firmware). É altamente recomendável que você altere a senha com o comando passwd .

De software


Em seguida, instale o programa de movimento.

 opkg install motion 

É ela quem trabalha com nossa câmera, analisa a alteração na imagem e instrui o roteador para onde enviar a imagem recebida. O arquivo de configurações do programa de movimento é \ etc \ motion \ motion.conf, editando-o, alteramos as configurações necessárias. Antes de tudo, configurei a resolução máxima suportada pela câmera para 1280x720, girei-a 180 graus (era mais conveniente colocar a câmera de cabeça para baixo), gravando 2 quadros por segundo.

 rotate 180 width 1280 height 720 framerate 2 

Não percebi a necessidade de gravar todo o fluxo de vídeo e transmiti-lo para a Internet; portanto, defino o movimento para gravar e transferi-lo somente se a imagem mudar. No processo de configuração do movimento, ficou claro que ele não suporta o modo MJPEG com minha câmera, mas suporta apenas o modo YUYV - como resultado, o resultado do trabalho não é uma sequência de vídeo, mas apenas uma sequência de fotos JPEG.

 v4l2_palette 15 

Também configurei o movimento para que uma cópia das fotos seja copiada para um servidor FTP externo.

 on_picture_save wput ftp://login:pass@XX.29.136.XX %f 

No caso de um roteador com um cartão de memória ser retirado do apartamento, ainda haverá uma oportunidade de ver exatamente como isso aconteceu.

É altamente recomendável que você altere a senha de login para conectar-se à sua câmera.

 stream_authentication login:pass 

Após todas as configurações, procure no navegador o resultado em:

 IP:8081 


Atenção! Se você não viu nenhuma imagem no navegador, preste atenção à sua versão do firmware Keenetic. Presumivelmente, a partir da versão de firmware 2.11.A.4.0-1, os módulos de vídeo não são carregados por padrão; portanto, você precisa carregá-los nas “canetas” “SSH” ou adicioná-los ao script de inicialização:

 /opt/sbin/insmod /lib/modules/3.4.113/i2c-core.ko /opt/sbin/insmod /lib/modules/3.4.113/i2c-dev.ko /opt/sbin/insmod /lib/modules/3.4.113/videodev.ko /opt/sbin/insmod /lib/modules/3.4.113/videobuf2-core.ko /opt/sbin/insmod /lib/modules/3.4.113/videobuf2-memops.ko /opt/sbin/insmod /lib/modules/3.4.113/videobuf2-vmalloc.ko /opt/sbin/insmod /lib/modules/3.4.113/v4l2-common.ko /opt/sbin/insmod /lib/modules/3.4.113/uvcvideo.ko 

Se a imagem não apareceu mesmo depois disso, primeiro analisamos os registros do Keenetic, o que acontece quando a câmera está conectada. A câmera foi detectada como um dispositivo de vídeo etc.

GerĂŞncia


Depois de fazer todo esse trabalho, surgiu a ideia de que precisamos gerenciar isso de alguma forma, ou seja, ligue e desligue no momento certo (e principalmente remotamente). Resolvi o problema instalando o cliente SSH no meu smartphone Android. Depois de escolher o SSH, os clientes optaram pelo ScriptKitty. Ao pressionar duas ou trĂŞs teclas em um smartphone, vocĂŞ pode ativar ou desativar rapidamente o movimento.


Executando o movimento através do SSH:

 /opt/etc/init.d/K99motion restart 

Concluindo o movimento através do SSH:

 /opt/etc/init.d/K99motion stop 

Mas havia mais um problema: um endereço IP "cinza" no meu modem 4G. Ao conectar-se ao roteador via Wi-fi, você pode desativar ou ativar o movimento sem problemas. Mas e se você estiver fora do Wi-fi do seu roteador e o seu roteador tiver um ip "cinza"? Eu encontrei o resgate na forma de uma VPN. O esquema é o seguinte - com meu roteador doméstico, eu me apego ao roteador no trabalho com um IP estático usando um cliente PPTP (um servidor PPTP está instalado no trabalho no roteador). Agora, depois de encaminhar a porta SSH do roteador ativo para o residencial, posso finalmente controlar minha câmera remotamente acessando o endereço estático do roteador em funcionamento no meu smartphone.

Também tentei automatizar o controle usando a ferramenta de automação Tasker (ele possui seu próprio cliente SSH) - para monitorar a conexão do smartphone ao roteador Wi-Fi e ativar ou desativar o movimento, dependendo disso. A lógica aqui é a seguinte: o smartphone está conectado ao roteador Wi-Fi - então estou em casa - para desligar a câmera. O smartphone não está conectado ao roteador Wi-Fi - por isso não estou em casa - ligue a câmera. Mas depois de experimentar, ele recusou essa opção - há muitos falsos positivos. Por exemplo, estou em casa, o smartphone adormeceu, o roteador perdeu o smartphone, a câmera ligada - bem, etc. Atualmente eu uso apenas o método manual.

ConclusĂŁo


Em princípio, o que eu queria do projeto era o que consegui. Posso "ver" o apartamento quando quiser e, em caso de alarme GSM, já posso decidir o que fazer a seguir. No processo de implementação, resolvi vários problemas, mas a solução deles causou certa emoção no conhecimento adquirido e na implementação do plano.

Source: https://habr.com/ru/post/pt420005/


All Articles