BeagleBone – Criando uma ipcam

On 21 de novembro de 2012 by Ricardo Câmara

Oi pessoal, neste post vou explicar como montar uma ipcam com a Beaglebone, ou seja vou mostrar como colocar uma webcam na Beaglebone e acessa-la através de um ip. Para isso você vai precisar de uma Beaglebone com Angstrom, uma webcam, e uma máquina com linux (eu usei Ubunto 12.4). É preciso acessar a Beaglebone via terminal, e também é preciso que a Beaglebone e a máquina linux estejam conectados a mesma rede. Se você tiver alguma dúvida de como acessar a placa via terminal, e de como conectá-la a uma rede é só olhar o meu primeiro post em relação a Beaglebone (BeagleBone – Introdução e Primeiros Passos), como o nome já diz, este post que mencionei explica as primeiras atitudes que cada um deve tomar ao adquirir a Beaglebone.

Então, os primeiros passos são ligar a Beglebone, acessá-la através do terminal, ligá-la e verificar sua conexão. Depois disso você vai conectar a webcam a placa e conferir se a placa reconheceu a webcam, para isso dê o seguinte comando:

$ lsusb

Agora você deve ver se a webcam está conectada ao sistema e se funciona bem como um hardware. Aqui está o resultdo que eu obtive com o “lsusb”:

$ Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 0ac8:301b Z-Star Microelectronics Corp. ZC0301 Webcam
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Agora vamos verificar quais módulos do kernel foram carregados, usando o seguinte comando:

$ lsmod

Aqui estão os resultados que obtive com o “lsmod”:

$ Module Size Used by
gspca_zc3xx 35673 0
gspca_main 14671 1 gspca_zc3xx
sit 7617 0
tunnel4 2403 1 sit
spidev 3912 0
ip_tables 7854 0
x_tables 14548 1 ip_tables
g_mass_storage 24058 0
rfcomm 24371 0
ircomm_tty 14101 0
ircomm 8435 1 ircomm_tty
irda 85617 2 ircomm_tty,ircomm
hidp 10240 0
bluetooth 110070 4 rfcomm,hidp
rfkill 14637 2 bluetooth
ipv6 210864 15 sit

Os dois módulos necessários para usar a webcam são:

$ gspca_zc3xx 35649 0
gspca_main 14527 1 gspca_zc3xx

E uma última maneira de testar se ela foi reconhecida pelo sistema é dando o outro seguinte comando:

$ ls /dev/

Se o Video0 aparecer, então está tudo bem para ir para a próxima etapa.

Para captar as imagens da webcam usaremos o MJPG-streamer (http://sourceforge.net/projects/mjpg-streamer/). O MJPG-streamer pega as imagens JPGs de webcams compatíveis com Linux, sistema de arquivos ou outro plugin de entrada e nos disponibiliza um M-JPEG stream via HTTP para navegadores e outros softwares. É o sucessor da UVC-streamer. Você deve baixá-lo (aqui).

Após baixar o MJPG-streamer você deve transferí-lo para BeagleBone. Eu transferi via ssh, mas você pode fazer da maneira que preferir. Para transferir via ssh você deve abrir o prompt do seu linux, primeiramente de um ping na Beaglebone para confirmar a conexão, como o ip da minha Beaglebone é “200.131.216.83” o comando ficou da seguinte maneira:

$ ping 200.131.216.83

Depois de confirmar a conexão, pelo prompt vá até o diretório onde está o arquivo que você vai transferir, nosso nosso caso é o “mjpg-streamer-mjpg-streamer.tar.gz”. Agora dê o comando a seguir para trasnferir, considerando que o meu ip é “200.131.216.83”, o comando ficou assim:

$ sudo scp mjpg-streamer-mjpg-streamer.tar.gz root@200.131.216.83:/home/root

Depois confirme, e como endereço padrão da Beaglebone é vazio quando for pedido é só apertar “Enter”. Depois no terminal da placa vá ao diretório ao qual você transferiu o arquivo e dê o comando ls para conferir se o arquivo realmente foi transferido. Uma vez que o arquivo se encontra na Beaglebone, dê o seguinte comando para extraí-lo:

$ tar -vzxf mjpg-streamer-mjpg-streamer.tar.gz

Vá ao diretório “mjpg-streamer” que acaba de ser criado:

$ cd mjpg-streamer

Agora, no diretório do MJPG-streamer você irá compilá-lo, com os seguintes comandos:

$ make clean all
export LD_LIBRARY_PATH=.

Depois você deve iniciar o serviço do MJPG-streamer, para isso dê o seguinte comando:

$ ./mjpg_streamer -i "./input_uvc.so" -o "./output_http.so -w ./www"

Depois de iniciar o serviço abra seu navegador e digite “http://200.131.216.83:8080” o número 8080 é a porta do serviço, depois clique em “stream” ou em “javascript” para ver a imagem da cam.

Você deve abrir o arquivo “README” e o “start.sh” para obter várias informações incluindo detalhes de como compilar o software.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *