De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Cameras digitais em Gnu Linux
Colaboração: Marcio de Araujo Benedito
Data de Publicação: 27 de Maio de 2004
Os sistemas gnu/linux suportam vários modelos de cameras fotográficas
digitais. O software mais completo é o gphoto2 <http://www.gphoto.org>,
que pode ser instalado facilmente em sua distribuição preferida. Para
usuários Debian, basta:
apt-get install gphoto2 libgphoto2
O gphoto2 é um programa para linha de comando. Uma lista completa dos
comandos pode ser obtida com a opção --help:
gphoto2 --help
Os comandos mais comuns são:
gphoto2 --auto-detect # detecta a camera instalada
gphoto2 --list-cameras # lista as câmeras suportadas
gphoto2 -P # recupera todas as imagens
gphoto2 -D # apaga todas as imagens da câmera:
Para mais informações, man gphoto2 :)
Existe ainda o gtkam, uma interface para o gphoto baseada em GTK2. O
gtkam permite a visualização e a manipulação de imagens da câmera. Uma
boa pedida para quem não gosta de linha de comando ;)
O que pouca gente sabe é que esta não é a *única* forma de acesso à
cameras digitais. Uma forma bem mais simples é o acesos direto à memória
fisica da camera. Como a maioria das cameras fotográficas usa o
barramento USB e memória flash para armazenamento, basta fazer o acesso
a elas como se faz para acessar discos rígidos ou mídias removíveis,
como HDs externos ou aqueles "chaveiros" de memória, através do
barramento USB. Para isso, é necessário apenas que o kernel tenha
suporte a controladoras USB, dispositivos SCSI e ao hotplug. Existem
muitas vantagens em utilizar este método, como a facilidade e permitir o
acesso a cameras não suportadas pelo gphoto2 :)
Ao plugar a camera na porta USB, o hotplug informará sobre o novo
dispositivo anexado. Veja a entrada do /var/log/message:
curvina kernel: usb 1-2: new full speed USB device using address 2
curvina kernel: Initializing USB Mass Storage driver...
curvina kernel: scsi0 : SCSI emulation for USB Mass Storage devices
curvina kernel: Vendor: Samsung Model: Digimax 201 Rev: 1.00
curvina kernel: Type: Direct-Access ANSI SCSI revision: 02
curvina kernel: SCSI device sda: 16384 512-byte hdwr sectors (8 MB)
curvina kernel: sda: assuming Write Enabled
curvina kernel: sda:<7>usb-storage: queuecommand called
curvina kernel: sda1
curvina kernel: Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0
usb.agent[1568]: usb-storage: loaded sucessfully
curvina kernel: drivers/usb/core/usb.c: registered new driver usb-storage
curvina kernel: USB Mass Storage support registered.
curvina scsi.agent[1601]: disk at
/devices/pci0000:00/0000:00:07.2/usb1/1-2/1-2:1.0/host0/0:0:0:0
No caso acima, a camera digital Samsung Digimax 201, que *não* é
suportada pelo gphoto2, foi encontrada e sua memória física detectada
como sendo um HD externo SCSI. Então basta usar as ferramentas próprias
para continuar o serviço e obter as fotos!
mount -t vfat /dev/sda1 /mnt # monta a camera em /mnt
ls -l /mnt/dcim/100sscam/ #lista o conteúdo do diretorio
total 3600
- -rwxr--r-- 1 china china 49151 2004-05-13 10:04 s2010001.jpg
- -rwxr--r-- 1 china china 46345 2004-05-13 10:04 s2010002.jpg
- -rwxr--r-- 1 china china 47764 2004-05-13 10:04 s2010003.jpg
- -rwxr--r-- 1 china china 47996 2004-05-13 10:04 s2010004.jpg
- -rwxr--r-- 1 china china 45647 2004-05-13 10:04 s2010005.jpg
[corta]
cp /mnt/* /home/china/fotos/ # copia todas as fotos
rm /mnt/* # apaga o conteudo da camera
É isso. Com este método é possivel usar a grande maioria das cameras do
mercado, mesmo as mais modernas.