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.

Conteúdo Relacionado

ESP32-CAM é um módulo de câmera compacto que combina...
O mercado embarcado tem uma necessidade de soluções de...
A Infineon Technologies AG apresenta os novos MOSFETs CoolSiC...
Uma rede de sensores é incorporada em todos os...
O controlador do motor é um dos componentes mais...
A evolução dos padrões USB foi fundamental para moldar...
A SCHURTER anuncia um aprimoramento para sua conhecida série...
A Sealevel Systems anuncia o lançamento da Interface Serial...
A STMicroelectronics introduziu Diodos retificadores Schottky de trincheira de...
Determinar uma localização precisa é necessário em várias indústrias...
O novo VIPerGaN50 da STMicroelectronics simplifica a construção de...
A Samsung Electronics, fornecedora de tecnologia de memória avançada,...
Você provavelmente já se deparou com o termo “diodo”,...
Quando você explora a área de Controle V/F dos...
Você provavelmente já se deparou com o termo 'arrastar'...
Voltar para o blog

Deixe um comentário

Os comentários precisam ser aprovados antes da publicação.