Primeiro mostro como enviar imagens do computador para o
Android, de forma que elas sejam exibidas no navegador do smartphone. No meu caso uso o
Google Chrome como navegador no smartphone. Não sei se outros navegadores suportam.
Para este artigo usei a distribuição
Linux Mint Debian Edition 17.2 (LMDE) com base em Debian Jessie. As instruções devem funcionar com Debian puro. Se a sua distribuição for outra, não se preocupe. Pouca coisa deve mudar e você deverá fazer as adaptações necessárias.
Assumindo que a webcam está instalada no seu computador e está funcionando perfeitamente na sua distribuição, instale o programa "motion".
sudo aptitude install motion
Esse programa serve para capturar imagens da webcam e salvá-las no HD caso a câmera detecte algum movimento. Mas para a minha necessidade eu não preciso salvar as imagens no HD, apenas enviá-las pela rede. Veremos como configurar isso.
Após instalar o "motion", caso queira iniciá-lo, use o comando:
sudo motion
Para desligá-lo, use o comando:
sudo services motion stop
Ao iniciar o programa ele exibirá o arquivo de configuração assim:
[0] [NTC] [ALL] conf_load: Processing thread 0 - config file /etc/motion/motion.conf
Crie uma cópia dele antes de alterá-lo para preservar o arquivo original:
sudo cp /etc/motion/motion.conf /etc/motion/motion.conf.ori
Caso queira entender tudo sobre o arquivo leia-o com atenção e também recomendo ler a seguinte página:
Para este artigo abordarei apenas alguns dos parâmetros.
Edite o arquivo de configuração:
sudo nano /etc/motion/motion.conf
Primeiro, caso queira desabilitar o salvamento de imagens no HD, altere o parâmetro "output_pictures" para "off". Assim:
output_pictures off
Faça o mesmo com o parâmetro "ffmpeg_output_movies" para não salvar filmes:
ffmpeg_output_movies off
Alguns outros parâmetros caso alguém se interesse:
- framerate: varia de 2 a 100. Quantidade de imagens capturadas por segundo. Por padrão, no Debian, vem 2.
- Motion detection threshold: sensibilidade à mudanças de imagem. Quanto menor, mais sensível. Padrão é 1500.
- target_dir: define o local onde as imagens e filmes serão salvos.
Alguns tutoriais dizem para adicionar as seguintes linhas ao final do arquivo de configuração do Motion:
webcam_localhost on
control_localhost on
E que sem essas linhas você não será capaz de visualizar as imagens no seu dispositivo Android. Mas não precisei. No entanto é essencial mudar o valor do "stream_localhost on" para
"stream_localhost off". Isso permite o stream (acesso por outro dispositivo).
Após alterar esses parâmetros, salve e feche o arquivo.
Inicie o motion.
Certifique-se de que o computador e o dispositivo Android estão na mesma rede local. Agora, com o Motion em pleno funcionamento, há duas formas de testá-lo.
Primeira forma: abra o seu navegador e acesse o endereço:
http://localhost:8081
A segunda forma, que interessa, é acessar no navegador do seu dispositivo Android o endereço:
http://ip-local-do-computador:8081
Caso não saiba o IP local do computador, use o comando:
ifconfig
Assim você verá no navegador como está o seu bebê:
Enquanto o computador estiver voltado para o que deseja vigiar, seja uma porta, um corredor, sua garagem etc, você sempre poderá dar uma olhada no celular para ver como estão as coisas. :)
Dica: caso a captura esteja lenta, ou seja, poucos frames por segundo no navegador Android, experimente alterar o parâmetro "stream_maxrate" de 1 para 100.
Simples, não?
Caso queira colocar senha use o parâmetro "stream_auth_method 1" e "stream_authentication usuário:senha". É bom caso queira servir a imagem via Internet (para isso configure o seu roteador. Por exemplo IP externo como DMZ).
Agora veremos a segunda solução.