Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
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
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
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.