Preparando o Raspberry Pi
É importante estar com o firmware do Rasp Pi e as bibliotecas do Raspbian atualizadas. Dependendo de quão desatualizado estiverem, uma quantidade razoável de arquivos pode precisar ser baixada. Portanto, tenha uma boa conexão internet no Raspberry e garanta um bom espaço no cartão SD antes de executar os comandos abaixo:
sudo apt-get install rpi-update sudo rpi-update sudo apt-get update sudo apt-get upgrade
No meu caso foi solicitado o reboot após o rpi-update, para ativar o novo firmware.
Antes de conectar a webcam, execute lsusb para conhecer os dispositivos USB já reconhecidos.
Conectando a Webcam
Neste ponto você já pode conectar a webcam a uma porta USB do Rasp Pi. Dependendo do modelo do Raspberry e da webcam, e do que mais você tiver conectado na USB, você pode precisar de um hub com alimentação externa. No meu caso, usei um modelo B+ sem mais nada ligado na USB (toda a operação foi remota via SSH) e não tive problemas para alimentar a minha webcam.
Execute lsusb novamente e confira se sua webcam foi reconhecida. Se não tiver sido reconhecida, dê uma olhada nesta página para ver ser existe alguma sugestão. A minha velha Microsoft LifeCam VX-2000 funcionou sem problemas.
fswebcam
fswebcam é uma aplicação simples para tirar fotos; é a sugerida na documentação no site oficial. A instalação é rápida e pode ser feita através de
sudo apt-get install fswebcam
A documentação pode ser vista no próprio Raspberry Pi através de man fswebcam. Partindo do mais simples:
fswebcam imagem.jpg
Isto captura uma imagem e grava em imagem.jpg. A resolução padrão é baixa (mesmo para a minha câmera "VGA"). Na parte inferior da imagem tem uma barra com a data e hora. Para aumentar a resolução para 640x480 e tirar a barra com a data e hora podemos usar
fswebcam -r 640x480 --no-banner imagem.jpg
O fswebcam é capaz de tirar fotos continuamente, através da opção --loop. Neste caso é importante usar o fato do nome ser formato por strftime e incluir alguma informação variável para cada foto não sobrescrever a anterior. Por exemplo, para capturar fotos de 5 em 5 segundos e colocar a hora no final do nome podemos usar
fswebcam --loop 5 imagem_%T.jpg
Se você fizer isto no console, você vai precisar digitar Control C para encerrar o programa.
Você pode fazer scripts ou usar o cron para automatizar a execução, mas claramente o fswebcam é bastante limitado.
motion
motion é uma aplicação bem mais sofisticada, que permite capturar fotos e vídeos, com a possibilidade disto ser disparado pela detecção de movimento (mais exatamente de uma mudança significativa na imagem).
A instalação (que também é grande) é disparada por
sudo apt-get install motion
A operação do motion é controlada pelo arquivo /etc/motion/motion.conf. Começando pelo mínimo, edite (usando o nano, vi ou outro editor) as seguintes linhas:
DAEMON = ON Webcam_localhost = OFF
Em seguida é preciso editar um outro arquivo de configuração, /etc/default/motion:
start_motion_deamon = yes
Por último, coloque o serviço em execução, digitando no console ou terminal:
sudo service motion start
Abra um browser no seu PC e navegue para a porta 8081 do Raspberry (http://192.168.0.100:8081, por exemplo). As imagens capturadas pela câmera serão apresentadas. A porta 8080 dá acesso a uma página tosca para mudança das configurações.
A quantidade de configurações disponíveis em motion.conf é grande, dê uma olhada na documentação oficial. Uma característica importante é poder definir um comando a ser executado sempre que movimento for detectado.
Futuramente farei um post falando mais sobre algumas opções.
Ideias de Aplicações
O conjunto Raspberry Pi + webcam é compacto, inteligente e pode ter ligação à internet (inclusive via WiFi). Isto permite aplicações como:
- Sistema de Alarme. Foi deste artigo que peguei o básico da configuração de motion. Você pode ter um sistema de monitoramento simples, tirando fotos quando é detectado movimento (inclusive podendo fazer um upload destas fotos para um local remoto). Você pode também conectar sirenes, luzes e acionadores diversos. Ou mesmo enviar um email, SMS ou tweet.
- Registro periódico de fotos (time-lapse). Você pode fazer algo básico com o fswebcam e o cron, ou usar o motion para tirar fotos periodicamente.
- Montar uma cabine de fotos. Este exemplo usa uma câmera tradicional, mas a ideia pode ser adaptada para uma webcam. Pontos extras para colocar botões ou alguma outra interface para selecionar efeitos (o fswebcam tem alguns recursos básicos para isto).
4 comentários:
Bom dia, pode me responder se eu tenho algum problema de incompatibilidade com alguma webcam que possa não funcionar no raspberry?
Gabriel, não tenho mais informações sobre compatibilidade além das que as que estão no post.
Seria a qualidade do módulo melhor do que da webcam? E se sim, seria confiável o modelo básico de câmera módulo que se vende no aliexpress?
Ainda não tive oportunidade de testar um módulo de câmera.
Postar um comentário