I have a Canon PowerShot S120, which allows for browsing / copying photos over WiFi. There are apps for Android, iOS, and Windows to do that. The protocol uses upnp to discover the camera and the smartphone/computer and them some HTTP-based protocol. I have some code using libupnp for the discovery and a perl script that is capable of transfering one file, but it's far from complete. Plus, I need to refresh my memory, because the last commit is from January :-(. Now, there seems to be some support for such cameras in gphoto already. So the plan is to dive into gphoto and use what I learned about the protocol to fix the gphoto support.

If you own some other WiFi-enabled Canon camera supported by the CameraWindow software, let me know.

Looking for hackers with the skills:

gphoto c upnp

This project is part of:

Hack Week 11 Hack Week 12

Activity

  • almost 9 years ago: fahrstuhl left this project.
  • almost 9 years ago: fahrstuhl joined this project.
  • almost 9 years ago: fahrstuhl liked this project.
  • over 9 years ago: vbabka liked this project.
  • over 9 years ago: joeyli liked this project.
  • over 9 years ago: sndirsch liked this project.
  • over 9 years ago: michal-m added keyword "upnp" to this project.
  • over 9 years ago: michal-m added keyword "gphoto" to this project.
  • over 9 years ago: michal-m added keyword "c" to this project.
  • over 9 years ago: michal-m started this project.
  • over 9 years ago: michal-m originated this project.

  • Comments

    • michal-m
      over 9 years ago by michal-m | Reply

      I pushed my test program to https://github.com/michal42/wphoto. See the README file for instructions how to use it.

    • michal-m
      over 9 years ago by michal-m | Reply

      I tried the Windows version of the CameraWindow software once more, but I still couln't get it working. The camera does discover the machine via UPnP, but it does not proceed further. It probably should continue by transfering the images via PTP/IP, because the camera opens port 15740 in this mode. But it's not working for some reason, so I'll continue with implementing the IMINK protocol used to share images with phones.

    • michal-m
      over 9 years ago by michal-m | Reply

      I'm writing a gphoto2 camlib driver. Today, I ported the upnp handshake in it. It works if the imink.pl script is started in parallel. Now I'm going to implement filelist and file download in the camlib driver.

      I'm going to skip the file receive feature (i.e. transfer initiated by the camera) for now, because gphoto2 has no api for this mode of operation.

    • mfeilner
      almost 9 years ago by mfeilner | Reply

      Hi, is this still a Hackweek project for 2015? If so, I'd love to learn... and maybe join.... first time...

    • michal-m
      almost 9 years ago by michal-m | Reply

      It's still a hackweek project for 2015, I have the camera on my desk :). Are you still interested? I missed the comment, because I received no email notification...

    • michal-m
      almost 9 years ago by michal-m | Reply

      I got filelists (gphoto2 --port upnp: -L) working. It's a bit slow if you have thousands of files on the camera.

    • fahrstuhl
      almost 9 years ago by fahrstuhl | Reply

      Hey, I've got a S110, know some C and am very interested in this feature. Is there any way I could help?

    Similar Projects

    Extend GObject based introspectable API to libzypp by zbenjamin

    [comment]: # (Please use the project descriptio...


    Port OTPClient to GTK >= 4.12 by pstivanin

    Project Description

    OTPClient is currentl...


    Vulkan Widget for GTK by yudaike

    [comment]: # (Please use the project descriptio...


    Avahi Integration and Network Connection by vojha

    Avahi Integration and Network Connection

    ...


    Deep Packet Inspection: compare the performance between libnetfilter_queue, NF_HOOK and eBPF XDP by nguyens

    Deep Packet Inspection: compare the performan...