Connecting a Pencam to the Omnima router
----------------------------------------
.. image:: camera.jpg
This week-end I tidied up my electronics stuff and in the process found a
'Mercury' pencam I bought ages ago and had long forgotten (see above).
In case you're wondering, I added an external battery holder so I could use AAs
instead of the AAAs it normally uses. I decided this would
be ideal to use with the Omnima since I could use the 3.3v supply instead of
the batteries, and wondered if I could use the USB port to transfer
pictures to the router.
The camera has an optical viewfinder to position the shot, and an LCD display
(cracked in my case) with two digits showing the number of shots left.
There's also a shutter button on the top and an on/off/reset button at the
back.
.. image:: rear.jpg
PC Connection
=============
Here's what happened when I plugged it into my laptop::
drivers/media/video/stv680.c: [stv680_probe:1425] STV(i): STV0680 camera
found.
drivers/media/video/stv680.c: [stv680_probe:1465] STV(i): registered new
video device: video0
usbcore: registered new interface driver stv680
drivers/media/video/stv680.c: [usb_stv680_init:1546] STV(i): usb camera
driver version v0.25 registering
drivers/media/video/stv680.c: STV0680 USB Camera Driver v0.25
It gets recognised by hotplug which loads the STV680 driver, however that's
for 'webcam' mode (isochronous), and not well supported by the ADM5120 USB
driver, so I unloaded the driver to see if it could be accessed via another
means.
Gphoto2
=======
`Gphoto2 `_ is supposed to have support for this device,
and it lists the pictures on the camera::
root@cent:~# gphoto2 -L
There are 6 files in folder '/'.
#1 image001.pnm
#2 image002.pnm
#3 image003.pnm
#4 image004.pnm
#5 image005.pnm
#6 image006.pnm
Unfortunately the 'snapshot' feature doesn't work :-(::
root@cent:~# gphoto2 --capture-image
ERROR: Could not capture.
*** Error (-1: 'Unspecified error') ***
For debugging messages, please use the --debug option.
Debugging messages may help finding a solution to your problem.
If you intend to send any error or debug messages to the gphoto
developer mailing list , please run
gphoto2 as follows:
env LANG=C gphoto2 --debug --debug-logfile=my-logfile.txt
--capture-image
Please make sure there is sufficient quoting around the arguments.
Also, the picture download didn't work, so I couldn't use it to recover
pictures previously taken from the camera.
Pencam2
=======
I also found a piece of software called
`pencam2 `_ written back in 2002. With some
minor changes it worked with my 2.6 kernel. I hacked out the hideous
menu system so it could easily be run from a script - the only thing I'm
interested in here is taking a picture. I also had to remove all references
to term.h, since that doesn't seem to be available in the OpenWrt include
path (at least the way I'd configured it). My version is `here
`_
Connecting to the Omnima
========================
The camera gets recognised when connected to the router::
usb 1-1: new device strings: Mfr=1, Product=2, SerialNumber=0
usb 1-1: Product: USB Dual-mode Camera
usb 1-1: Manufacturer: STMicroelectronics
hub 1-0:1.0: state 7 ports 2 chg 0000 evt 0002
hub 1-0:1.0: port 1 enable change, status 00000103
And I can use pencam2 to take a picture::
root@OpenWrt:/# pencam2
Cameras found: 1 @ 001:002 ** Active Camera @ Camera Pictures
Firmware ASIC rev Sensor ID
001:002 6 3.00 7.60 500.4
Supported formats: VGA (640x480) QVGA (320x240)
Downloaded picture 1 (F_Exp= 3, C_Exp=472, APV= 90 => warm)
I initially thought something had gone wrong, because I had to wait a full
minute and a half for this to complete. I don't think this is due to the
speed of the CPU, because it only took a second on my laptop, and there
shouldn't be such a speed difference. I will investigate what's holding
things up in due course.
The picture gets written to the /tmp directory::
root@OpenWrt:/# ls /tmp
lock resolv.conf run state
log root snapshot001.ppm
From here it's fairly easy to create a link to /www, i.e.::
root@OpenWrt:/# cd /www
root@OpenWrt:/www# ln -s /tmp/snapshot001.ppm snapshot.ppm
So the picture can be recovered with a web browser from the router.
Left as an exercise for the reader to turn this setup into a
(rather slow-refreshing) webcam. It should also
be fairly easy to convert the ppm into a jpg.
.. image:: snapshot.png
bifferos 26/5/2008