- Crie rapidamente uma câmera de segurança de captura de movimento com Raspberry Pi:
- Personalização das configurações de mídia no Motion:
- Como obter o feed de vídeo pela Internet:
A segurança é uma grande preocupação hoje em dia e existem muitas tecnologias presentes hoje para manter o seu lugar seguro e monitorado. As câmeras de CFTV são muito úteis para vigiar sua casa ou escritório. Embora os preços desses tipos de câmeras tenham sido reduzidos significativamente desde o seu início, as câmeras IP, que têm a capacidade de enviar e receber a data pela rede, são muito caras. E para o True Surveillance, uma câmera deve ter a capacidade de enviar seu feed pela internet para que possa ser assistido de qualquer lugar do mundo.
Hoje estamos fazendo uma câmera de captura de movimento de vigilância muito barata usando Raspberry Pi e uma webcam. Esta é uma ferramenta de segurança ótima e muito mais barata, que tem muitas opções configuráveis e pode ser construída em poucos minutos. Aqui, estamos usando apenas Raspberry Pi e uma câmera da web USB para construir esta câmera de captura de movimento. Temos Raspbian Jessie OS instalado em nossa placa Raspberry Pi. Você deve verificar este artigo para instalar o Raspbian OS e começar a usar o Raspberry Pi.
Aqui vamos passar primeiro por um guia de início rápido, para que você possa ter sua Câmera de Vigilância pronta em poucos minutos com todas as configurações padrão e depois disso iremos mergulhar nos outros detalhes e opções de configurações para personalizá-la de acordo com sua necessidade.
Mas antes, vamos saber um pouco sobre o Motion (Software de Vigilância), que é o coração desse projeto. O Motion é um software CCTV de detecção de movimento de código aberto gratuito, desenvolvido para Linux. Ele detecta o movimento e começa a gravar o vídeo. Com o 'Motion' instalado em seu Raspberry Pi, você pode transformar seu Raspberry Pi magicamente em uma câmera de segurança e pode obter as seguintes funcionalidades:
1. Você pode assistir ao vídeo ao vivo em um navegador da web digitando o endereço IP de Pi junto com a porta.
2. Ele irá gravar e salvar o vídeo sempre que detectar movimento ou qualquer distúrbio na área de visualização. Ele continuará gravando o Vídeo até que haja algum movimento, então ele para e salva o arquivo, que pode ser assistido mais tarde.
3. Pode criar um belo vídeo de lapso de tempo.
4. Pode tirar fotos em intervalos regulares ou quando há algum movimento. Os instantâneos também são salvos no disco para uso posterior.
Além disso, ele tem várias opções de configuração que discutiremos em breve e também podemos definir 'gatilhos' definidos pelo usuário em certos eventos. Atualmente, o Motion só oferece suporte à câmera USB pronta para uso, se você quiser usar a Pi Camera, precisará usar uma construção especial do Motion.
Crie rapidamente uma câmera de segurança de captura de movimento com Raspberry Pi:
Aqui, você precisa executar apenas alguns comandos para começar a obter seu primeiro feed de vídeo pela rede. Antes disso, verifique se o Raspberry Pi está conectado à Internet, seja por LAN ou Wi-Fi, e siga as etapas abaixo:
Etapa 1: primeiro execute o comando abaixo para atualizar o Raspbian OS no Raspberry Pi:
sudo apt-get update
Etapa 2: Em seguida, instale a Biblioteca 'Motion' usando o comando abaixo:
sudo apt-get install motion
Etapa 3: Agora defina o Motion daemon como yes editando o arquivo: / etc / default / motion para que esteja sempre em execução. Edite este arquivo usando o editor 'nano' com 'sudo' como mostrado abaixo:
sudo nano / etc / default / motion
Em seguida, salve o arquivo pressionando 'CTRL + X', depois 'Y' e Enter.
Etapa 4: agora precisamos definir a permissão para o diretório de destino (/ var / lib / motion /), no qual o Motion salva todas as gravações de vídeo e arquivos de imagem. Precisamos definir 'Motion' como proprietário deste diretório, emitindo o comando abaixo:
sudo chown motion: motion / var / lib / motion /
Essa permissão é necessária, caso contrário, você obterá o erro abaixo, ao verificar o Status do serviço de movimento usando este comando: sudo serviço status de movimento
Etapa 5: Agora estamos quase terminando, apenas precisamos alterar uma opção de configuração no arquivo de configuração do Motion (/etc/motion/motion.conf ) que está stream_localhost desativado. Temos que desligar esse streaming de host local, caso contrário, não poderemos acessar o feed de vídeo em nossa rede e ele só será acessível a partir do próprio Raspberry Pi. Para fazer isso, edite o arquivo de configuração de movimento com o editor 'nano' e desligue-o, conforme mostrado abaixo:
sudo nano /etc/motion/motion.conf
Agora estamos prontos para obter nossa transmissão ao vivo da câmera da web USB conectada ao Pi. Basta iniciar o serviço Motion usando o comando abaixo e abrir o IP do Raspberry Pi, com a porta 8081, em seu navegador (como 192.168.1.103:8081):
sudo /etc/init.d/motion start
E você verá a transmissão ao vivo de sua câmera da web como abaixo. Aqui, usamos uma câmera web USB de baixo custo (câmera web Quantum QHM500LM), que funcionou perfeitamente com nosso Raspberry Pi, mas você pode usar uma câmera de boa qualidade para uma resolução melhor.
Como será mostrado no navegador, você pode usar qualquer dispositivo para assistir o feed, que suporte navegador da web como celular, tablet etc. Abaixo está um instantâneo do celular:
Você sempre pode iniciar, parar, reiniciar e obter o status do serviço Motion usando os quatro comandos abaixo:
sudo /etc/init.d/motion start sudo /etc/init.d/motion parar movimento sudo serviço reiniciar sudo serviço status movimento
ou você pode reiniciar o Raspberry Pi como uma etapa de solução de problemas quando necessário:
sudo reboot
Nota: Se você for um modelo Raspberry Pi abaixo da versão 3, pode ser necessário um dongle Wi-Fi para conectar o Raspberry Pi sem fio ao roteador. Raspberry Pi 3 tem Wi-Fi embutido nele. Aqui, usamos o Raspberry Pi 2 Model B com um dongle Wi-Fi.
Personalização das configurações de mídia no Motion:
Portanto, agora estamos com nossa Câmera de Vigilância funcionando e funcionando. Agora podemos ver algumas opções de configuração muito úteis, com as quais podemos otimizá-lo de acordo com nossa necessidade e obter resultados muito impressionantes. No arquivo de configuração de movimento, todas as configurações são explicadas muito bem com seu valor padrão e recomendado, basta verificar usando o comando abaixo:
sudo nano /etc/motion/motion.conf
Além de obter o feed ao vivo, o Motion grava e salva arquivos de vídeo sempre que detecta o movimento. Assim, você pode ajustar a taxa de quadros, qualidade, largura / altura dos vídeos de streaming. Você pode definir a taxa de quadros alta para vídeos em tempo real, mas sua rede deve ser rápida o suficiente para este. Abaixo estão os valores que usamos, você pode alterá-los de acordo:
# Largura da imagem (pixels). Faixa válida: dependente da câmera, padrão: 352 largura 640 # Altura da imagem (pixels). Faixa válida: Dependente da câmera, padrão: 288 altura 480 # Número máximo de quadros a serem capturados por segundo. # Intervalo válido: 2-100. Padrão: 100 (quase sem limite). taxa de quadros 50 stream_quality 90
Será bom salvar algumas fotos antes e depois de detectar o movimento e começar a gravar o vídeo. Use as configurações abaixo para isso:
# Especifica o número de imagens pré-capturadas (armazenadas em buffer) antes de o movimento # ser detectado que serão enviadas na detecção de movimento. # Intervalo recomendado: 0 a 5 (padrão: 0) pre_capture 0 # Número de quadros para capturar depois que o movimento não é mais detectado (padrão: 0) post_capture 0
O movimento, por padrão, tira muitas fotos quando detecta o movimento e você acabará com muitos arquivos 'jpg' para um pequeno movimento. Portanto, será bom definir essa configuração ( output_pictures off ) ou defini-la como 'best':
output_pictures best
Você também pode tirar instantâneos em intervalos regulares, definidos por você, usando a opção abaixo:
# Faça instantâneos automatizados a cada N segundos (padrão: 0 = desativado) snapshot_interval 0
A característica mais atraente para mim, é o timelapse Video, é um arranjo muito bom para lindos vídeos timelapse com um custo muito baixo. Aqui você pode definir o intervalo para os instantâneos do Vídeo Timelapse:
# Valor padrão 0 = desligado - senão, salva o quadro a cada enésimo segundo ffmpeg_timelapse 2
Você pode alterar o diretório de destino para salvar todos os arquivos e imagens gravados usando 'target_dir' e não se esqueça de definir 'Movimento' como proprietário deste diretório, conforme explicado anteriormente.
# Diretório base de destino para fotos e filmes # Recomendado para usar o caminho absoluto. (Padrão: diretório de trabalho atual) target_dir / var / lib / motion
Você pode alterar a porta de streaming da web (o padrão é 8081):
# O servidor mini-http escuta esta porta para solicitações (padrão: 0 = desativado) stream_port 8081
Se não quiser um arquivo de vídeo longo, você pode instruir o Motion a fazer vários clipes de determinada duração em vez de um arquivo grande. Você pode mencionar a duração dos clipes em segundos (0 para infinito):
# Duração máxima em segundos de um filme # Quando o valor é excedido, um novo arquivo de filme é criado. (Padrão: 0 = infinito) max_movie_time 30
Você também pode decidir como definir um movimento e pode definir o número de pixels ou quadros que precisam ser alterados para detectar um movimento verdadeiro:
# Limite para o número de pixels alterados em uma imagem que # aciona a detecção de movimento (padrão: 1500) limite 1500 # Os quadros de imagem devem conter movimento pelo menos o número especificado de # em uma linha antes de serem detectados como movimento real. No padrão de 1, todos os # movimentos são detectados. Intervalo válido: 1 a milhares, recomendado 1-5 minimum_motion_frames 5
Por padrão, o Movimento salva os registros no 'syslog', mas você pode definir um arquivo de registro dedicado para o Movimento:
# Use um arquivo para salvar mensagens de log, se não for definido, stderr e syslog são usados. (padrão: não definido) logfile /tmp/motion.log
Não se esqueça de salvar e reiniciar o serviço Motion após alterar qualquer configuração. Para salvar o motion.conf, pressione CTRL + X, Y e Enter.
Portanto, essas são algumas configurações comuns que podem ser usadas para obter bons resultados. Mas se você estiver curioso, procure mais no arquivo de configuração e comece a brincar com as configurações. Existem várias opções para definir brilho, contraste, taxa de bits, gatilhos, autenticação de senha e muito mais.
Como obter o feed de vídeo pela Internet:
Aqui, monitoramos o feed da webcam na rede local usando o IP local do Raspberry Pi. Mas se você deseja monitorá-lo de qualquer lugar na Internet, você precisa definir o encaminhamento de porta em seu roteador / modem. Basicamente, você precisa encaminhar a porta 80 (usada para HTTP ou internet) para seu endereço IP local ou privado de vocês Raspberry Pi (como (192.168 * no nosso caso). Após o encaminhamento de porta, todas as conexões de entrada para a porta 80 serão encaminhadas para este endereço local e você pode assistir ao feed ao vivo inserindo seu endereço IP público na internet com o streaming que definimos anteriormente (8081). Cada roteador tem uma interface de usuário diferente para configurar o encaminhamento de porta, para que você possa fazer o login no seu roteador (192.168.1.1) e encontrar a opção para o mesmo. Mas lembre-se disso, para acessar o Raspberry Pi na Internet, você precisa ter um endereço IP público estático e não deve ser alterado a cada reinicialização do modem. O endereço IP estático é fornecido pelo seu ISP.
Então é assim que podemos configurar facilmente uma câmera de vigilância de custo muito baixo usando Raspberry Pi e uma câmera web simples.