Índice:

Sistema de segurança de webcam Pizero Motion Detect: 3 etapas
Sistema de segurança de webcam Pizero Motion Detect: 3 etapas
Anonim
Sistema de segurança de webcam Pizero Motion Detect
Sistema de segurança de webcam Pizero Motion Detect

Este sistema usa um pizero, dongle wi-fi e uma webcam antiga em uma caixa de fósforos customizada. Ele grava vídeos de detecção de movimento a 27 fps de qualquer movimento significativo na minha garagem. Em seguida, ele carrega os clipes para uma conta de caixa de depósito. Também pode visualizar os logs e alterar a configuração via caixa de depósito.

Etapa 1: Configurando os pré-requisitos

Image
Image

Primeiro atualize o sistema operacional para a versão mais recente, conforme descrito aqui.

Em seguida, configure o wi-fi conforme descrito aqui.

Em seguida, você precisará configurar o OpenCv. Existem boas instruções sobre como fazer isso no pyimagesearch. Se você estiver indo para a versão 3.0, espere que demore muito. Uma das etapas leva 9 horas para ser executada. Você também precisará dos vínculos do Python, que são explicados nessa página.

Quando você tiver tudo instalado e funcionando, estará pronto para baixar o software de detecção de movimento.

Etapa 2: Configurando o software Motion Detect

Acessando os vídeos e a configuração por meio do Dropbox
Acessando os vídeos e a configuração por meio do Dropbox

O código pode ser encontrado no bitbucket. Copie esses arquivos usando

git clone

ou se você preferir baixá-los individualmente.

A parte principal deste sistema é multiMotionDetect.py. Ele usa muitas filas e eventos de multiprocessamento.

Em primeiro lugar, você precisa decidir onde deseja que as imagens de vídeo sejam armazenadas em MotionVideos e definir esse valor no arquivo globalConfig.json. Em seguida, copie config.json.txt e maskedAreas.json.txt para a raiz desta pasta. O config.json.txt tem a seguinte configuração, que pode ser editada remotamente.

}

FrameThreshold: é o número de quadros significativos antes que o movimento seja detectado.

staticThreshold: é o número de frames estáticos antes de desligarmos a filmagem.

minArea: é o tamanho mínimo da área para ser contada como significativa.

postSeconds: Este é o número de segundos a partir do final da filmagem para que o movimento passe pela fila. readCamNice: É a quantidade de prioridade a ser dada ao

processo readCam. Isso está entre -20 e +20 (quanto menor o valor, maior a prioridade). Mas não exagere ou você travará o sistema operacional.

checkMotionNice: A prioridade para o processo de detecção de movimento.

writeCamNice: A prioridade do processo de gravação da câmera.

maxqsize: Este é o número de segundos que é então multiplicado pelos quadros por segundo.

Na maioria das vezes, apenas altero min_area para levar em conta as condições do vento.

Se você preferir usar um simples logger em vez do socket logger (abaixo), mude o import miaLogging para

registro de importação

logging.basicConfig (filename = 'example.log', level = logging. DEBUG)

e remova o receptor de log do arquivo motionDetect e todo o resto deve funcionar bem.

Se você deseja executar a detecção de movimento automaticamente na inicialização.

Primeiro edite o script e verifique se o homedir aponta para onde você tem multiMotionDetect.py, então copie o arquivo motionDetect para /etc/init.d ie

cp motionDetect /etc/init.d/motionDetect

Já deve ser executável, mas

chmod + x /etc/init.d/motionDetect

Finalmente registre o script com

sudo update-rc.d motionDetect defaults

Você também pode iniciar, parar e reiniciar o sistema com

sudo /etc/init.d/motionDetect start | stop | restart

Por padrão, o registro do soquete miaLogReceiver iniciará ao mesmo tempo. Os outros três programas são independentes, mas usam o mesmo registrador de soquete (mas podem ser facilmente convertidos). Eu chamo tudo isso usando um script cron de intervalos diferentes. Para obter instruções, clique aqui.

CheckRunning.py verifica se multiMotionDetect.py está em execução e reinicia se não estiver.

fileMaint.py faz a manutenção das pastas de vídeo, removendo-as após um determinado número de dias. Ele remove subdiretórios da pasta de vídeo em movimento definida no primeiro parágrafo. Ele verifica se eles começam com "MV", então certifique-se de que você não tenha outro diretório importante começando com os mesmos caracteres dentro dessa pasta.

Etapa 3: Acesso aos vídeos e configuração por meio do Dropbox

Finalmente, se você deseja visualizar seus vídeos, logs e arquivos de configuração remotamente, você precisará configurar a caixa de depósito.

Primeiro, obtenha uma conta de caixa de depósito gratuita. Em seguida, configure a API para python -https://www.dropbox.com/developers/documentation/… Isso inclui o download do SDK e o registro do aplicativo para acessar a API.

Quando você tiver uma chave, insira-a no arquivo globalConfig.json. Mais informações sobre o sistema podem ser encontradas no meu blog dani cymru - cyber renegade Se você encontrar algo de interesse ou alguma dúvida, por favor, comente no blog.

Recomendado: