Como projetar um sistema de vigilância residencial online usando Raspberry Pi

Como projetar um sistema de vigilância residencial online usando Raspberry Pi

Os sistemas de streaming de câmeras tornaram-se populares, permitindo aos usuários gravar e/ou transmitir um vídeo ao vivo pela Internet. A câmera Raspberry Pi (RPi) é amplamente utilizada por seu recurso de streaming, pois captura facilmente imagens e vídeos ao vivo. Além disso, é fácil conectar a câmera RPi com o Raspberry Pi 2/3/4 – ou qualquer outro microcomputador.

Para este projeto, estamos projetando um sistema de vigilância residencial on-line usando a Raspberry Pi Camera V2 e o Raspberry Pi 4B (observe que o RPi agora também oferece uma câmera de alta qualidade para imagens de alta resolução). Será possível visualizar o vídeo ao vivo da câmera, que é transmitido online, a partir de qualquer navegador da web.

O módulo da câmera é facilmente controlado com códigos Python limpos. A única condição é que o RPi e o dispositivo que abre o navegador estejam conectados à mesma rede.

Componentes necessários
1. Framboesa Pi 2B/3B/4B x1
2. Câmera Raspberry Pi V2 x1
3. Cabo de fita para conectar a câmera Raspberry Pi x1

Conexões de circuito
Para desenhar este projeto, é necessário fazer a interface do módulo de câmera Raspberry Pi com RPi. Felizmente, o RPi já possui uma interface serial de câmera (CSI).

A porta CSI no Raspberry Pi 2/3/4.

Primeiro, localize a porta CSI no Raspberry Pi, removendo com cuidado o clipe de plástico da porta. Insira o cabo plano do módulo da câmera na porta CSI de forma que os conectores na parte inferior do cabo fiquem voltados para os contatos da porta.

Em seguida, coloque o clipe de plástico de volta para que o cabo plano fique preso. Uma vez conectado ao RPi, o módulo da câmera deve se parecer com a ilustração abaixo.

Prendendo o cabo plano à porta CSI do RPi.

O dispositivo está agora pronto para operação. Você pode proteger todo o conjunto em um estojo de câmera Raspberry Pi, conforme mostrado aqui…

O case da câmera Raspberry Pi.

Configurando Raspberry Pi
Antes de usar o sistema de câmeras de vigilância doméstica, existem algumas etapas adicionais:

1. Habilite a porta CSI no Raspberry Pi.
2. Escreva o código Python para transmissão ao vivo do módulo da câmera.
3. Localize o endereço IP do RPi para acessar a transmissão ao vivo.
4. Configure o RPi para executar automaticamente o código Python na inicialização.

Por padrão, o módulo da câmera está desabilitado no Raspberry Pi. Para habilitar a porta CSI, vá ao menu principal e abra a ferramenta Raspberry Pi Configuration. Também é possível abrir esta ferramenta no terminal digitando: sudo raspi-config.

Na ferramenta de configuração, selecione a aba interfaces, certificando-se de que a câmera esteja habilitada. O Raspberry Pi será reiniciado com a câmera ativada.

O código Python é fornecido e explicado abaixo. Você pode escrever o código usando Thonny IDE no Raspbian OS, salvando o arquivo de script com um nome adequado.

Para verificar o endereço IP, abra o terminal bash e execute este comando: pi@framboesa:~ $ ifconfig

Este comando lista vários parâmetros de interface de rede. Um desses parâmetros é o endereço IP da rede, garantindo que o RPi esteja conectado.

Para este projeto, o endereço IP é 192.168.29.242. Como a transmissão ao vivo do RPi estará disponível na porta 8000, ela poderá ser acessada através do link HTTP: :8000.

Para nós, isso é 192.168.29.242:8000. No entanto, o stream de vídeo pode ser capturado em qualquer dispositivo que execute um navegador por meio do link HTTP acima.

Como gostaríamos que o script Python iniciasse a qualquer momento que o RPi fosse iniciado, abra o arquivo de perfil no terminal Bash executando este comando: sudo nano /etc/profile

Salve o script Python com o nome: onlineHomeSurveillance.py. Para fazer isso, vá até o final do arquivo e adicione as seguintes linhas:

sudo python /home/pi/ onlineHomeSurveillance.py &

Observe o E comercial no final da linha, que permite que o script seja executado repetidamente sem parar.

Script Python…

Como funciona o projeto
O Câmera Raspberry Pi está conectado à porta CSI do Raspberry Pi (RPi). Com o suporte da biblioteca picamera, o módulo da câmera pode ser configurado para transmitir pela web o vídeo capturado pelo módulo.

O código deste projeto é uma receita da biblioteca picamera. Ele usa o módulo http.server integrado do Pytho para usar RPi como um servidor de streaming de vídeo. O vídeo é transmitido no formato MJPEG.

Você pode encontrar mais receitas de picamera no documentação oficial da biblioteca.

Como funciona o código
O código Python executa uma rotina de tratamento de “tentativa e exceção” com um objeto instanciado da classe PiCamera. Ele captura uma saída de streaming usando a classe StreamingOutput em uma variável “Saída”.

Aqui está o que acontece a seguir:

  • A classe StreamingOutput usa as funções da biblioteca IO para capturar o fluxo de vídeo bruto.
  • O método start_recording é chamado, que inicia a gravação do objeto da câmera (o stream de vídeo).
  • O “servidor de objetos” (do módulo http.server) é instanciado no socketserver usando a classe StreamingServer .
  • O servidor de streaming de vídeo é configurado usando a classe StreamingHandler .
  • O método server_forver é chamado no objeto servidor para executar o servidor de streaming de vídeo indefinidamente.

Dê uma olhada mais de perto nas seguintes linhas de código:

com picamera.PiCamera(resolution='640×480′, framerate=24) como câmera:
saída = StreamingOutput
#Descomente a próxima linha para alterar a rotação da câmera do seu Pi (em graus)
#camera.rotation = 90
camera.start_recording(saída,formato='mjpeg')
tentar:
endereço = (”, 8000)
servidor = StreamingServer(endereço, StreamingHandler)
servidor.serve_forever
finalmente:
câmera.stop_recording

Os resultados

Local de instalação da câmera.

Imagens de vídeo ao vivo do stream da câmera RPi.

Torna al blog

Lascia un commento

Si prega di notare che, prima di essere pubblicati, i commenti devono essere approvati.