Reply
Thread Tools
dormant's Avatar
Posts: 332 | Thanked: 76 times | Joined on Oct 2007 @ St. Augustine, Trinidad and Tobago
#1
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.
__________________
  • N900
  • N800
  • LD-3W
  • two magic OTG USB adapters
  • crossed fingers
 
Posts: 40 | Thanked: 26 times | Joined on Nov 2009 @ Austin, Texas
#2
Had you seen this project? http://chdk.wikia.com/wiki/CHDK
 
Posts: 182 | Thanked: 540 times | Joined on Aug 2009 @ Finland
#3
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.
 
Posts: 2,102 | Thanked: 1,309 times | Joined on Sep 2006
#4
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.
 

The Following User Says Thank You to lardman For This Useful Post:
dormant's Avatar
Posts: 332 | Thanked: 76 times | Joined on Oct 2007 @ St. Augustine, Trinidad and Tobago
#5
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.

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.

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.
__________________
  • N900
  • N800
  • LD-3W
  • two magic OTG USB adapters
  • crossed fingers
 
Posts: 182 | Thanked: 540 times | Joined on Aug 2009 @ Finland
#6
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.
 

The Following 3 Users Say Thank You to abbra For This Useful Post:
qole's Avatar
Moderator | Posts: 7,109 | Thanked: 8,820 times | Joined on Oct 2007 @ Vancouver, BC, Canada
#7
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!
__________________
qole.org --- twitter --- Easy Debian wiki page
Please don't send me a private message, post to the appropriate thread.
Thank you all for your donations!
 
dormant's Avatar
Posts: 332 | Thanked: 76 times | Joined on Oct 2007 @ St. Augustine, Trinidad and Tobago
#8
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.
__________________
  • N900
  • N800
  • LD-3W
  • two magic OTG USB adapters
  • crossed fingers
 
Reply


 
Forum Jump


All times are GMT. The time now is 11:01.