Menu

Main Menu
Talk Get Daily Search

Member's Online

    User Name
    Password

    Controlling the camera from software

    Reply
    dormant | # 1 | 2009-11-09, 03:49 | Report

    Does anyone have any experience with or ideas about controlling the camera in the N900 from software?

    I've just spent too much of my life trying to control a camera with gphoto2 on an embedded ARM processor running Debian. The software is great, but Canon cameras are not (I had no choice).

    I don't see the N900 being used in this project, although it would be great if I could get my boss to buy me five N900s, but I'd still be interested in playing around with the camera and software.

    Edit | Forward | Quote | Quick Reply | Thanks

     
    fphillips | # 2 | 2009-11-09, 04:38 | Report

    Had you seen this project? http://chdk.wikia.com/wiki/CHDK

    Edit | Forward | Quote | Quick Reply | Thanks

     
    abbra | # 3 | 2009-11-09, 09:09 | Report

    What exactly do you want to control? N900 is not exposing itself through PTP protocol as a camera so I fail to see how GPhoto2 would apply here.

    Actual Camera-related high-level APIs are open, you can drive camera yourself through GST Photography interfaces directly or through GDigicam library that provides a convenience level on top of gstreamer for application writers. Nokia's camera application is written with help of gdigicam itself.

    So if you absolutely needed to control camera more controls are in place than what GPhoto2 would give you. If someone would implement PTP/IP server that drives camera through gdigicam, I'd be more than happy to use it too.

    GDigicam's source code is available on maemo.gitorious.org for inspection and hopefully contributions.

    Edit | Forward | Quote | Quick Reply | Thanks

     
    lardman | # 4 | 2009-11-09, 16:08 | Report

    Yes, I do. See maemo-barcode in Garage for some code that controls it from sw.

    In fact you'd probably be better off using a camerabin, but I need to split my pipeline, so I've got a hybrid system in use.

    Edit | Forward | Quote | Quick Reply | Thanks
    The Following User Says Thank You to lardman For This Useful Post:
    Andre Klapper

     
    dormant | # 5 | 2009-11-09, 16:17 | Report

    Originally Posted by fphillips View Post
    Had you seen this project? http://chdk.wikia.com/wiki/CHDK
    Yes, but I don't want to change the firmware in the camera.

    Originally Posted by
    What exactly do you want to control? N900 is not exposing itself through PTP protocol as a camera so I fail to see how GPhoto2 would apply here.
    My current project is:
    - Take one photo every two minutes during daylight hours
    - TIme tag each photo in the file name
    - For the first two hours, all photos overexposed by 2/3 stop
    - For the last two hours, all photos underexposed by 2/3 stop
    - Rest of photos use auto exposure
    - Store photos locally and access them using ftp

    As I said I don't seriously plan to port this to the N900, it's just a thought experiment. My project is up and running using a $200 embedded PC and I'll stick with those.

    Originally Posted by
    Yes, I do. See maemo-barcode in Garage for some code that controls it from sw.

    In fact you'd probably be better off using a camerabin, but I need to split my pipeline, so I've got a hybrid system in use.
    Thanks, I'll check it out.

    Edit | Forward | Quote | Quick Reply | Thanks

     
    abbra | # 6 | 2009-11-09, 18:17 | Report

    Originally Posted by dormant View Post
    Yes, but I don't want to change the firmware in the camera.


    My current project is:
    - Take one photo every two minutes during daylight hours
    - TIme tag each photo in the file name
    - For the first two hours, all photos overexposed by 2/3 stop
    - For the last two hours, all photos underexposed by 2/3 stop
    - Rest of photos use auto exposure
    - Store photos locally and access them using ftp

    As I said I don't seriously plan to port this to the N900, it's just a thought experiment. My project is up and running using a $200 embedded PC and I'll stick with those.
    As N900 allows you to install and run your own software, making all of above is possible. Please look at http://maemo.gitorious.org/fremantle...icam-manager.h for details.

    Basically, you can make you own camera application that in automated mode with scenario like you have defined.

    The only problem we have until some of updates earlier next year is interoperability between camera applications as resource aquisition in Nokia camera application currently assumes monopoly use. There will be update on the issue so that multiple camera applications can co-exist. Until then you would need to kill camera-ui process before starting your camera app if you would like to get it responding to shutter key and lens cover.

    Edit | Forward | Quote | Quick Reply | Thanks
    The Following 3 Users Say Thank You to abbra For This Useful Post:
    dormant, kner, qole

     
    qole | # 7 | 2009-11-09, 18:58 | Report

    dormant, I'm interested in your question (software control of the Maemo camera) but I think you're using the right tools for the actual project you outlined. A small x86 PC with a connected camera is the right thing for that job. I wouldn't want to use an expensive cameraphone as a stationary webcam taking time-lapse photos!

    Edit | Forward | Quote | Quick Reply | Thanks

     
    dormant | # 8 | 2009-11-09, 19:06 | Report

    Originally Posted by qole View Post
    dormant, I'm interested in your question (software control of the Maemo camera) but I think you're using the right tools for the actual project you outlined. A small x86 PC with a connected camera is the right thing for that job. I wouldn't want to use an expensive cameraphone as a stationary webcam taking time-lapse photos!
    Yeh it works great and I'm really pleased. I'm not a programmer, but I managed to develop this in a relatively short time. The camera/computer will be out in the field running off solar power and linked to base using wireless ethernet. The previous developers wasted an awful lot of time trying to write software (Windows) that controlled the camera over a USB-over-ethernet link between the base and the camera. It never worked because the drivers for the camera couldn't cope with a link that was low-quality at times.

    I've separated the functions. The computer (an ARM processor) takes the photos and stores them locally on a CF card. The time stamp is gotten from the computer clock which is synchronised using ntpd. And the transfer of photos is done by ftp, which is perfect for a link of variable quality.

    Edit | Forward | Quote | Quick Reply | Thanks

     
vBulletin® Version 3.8.8
Normal Logout