So, here we go again. Thought I would do some vacation, but forgot the micro USB cable for my Sony camera (and no SD card reader was in sight too). Too bad if you want to view your images on your notebook from your cool WiFi-enabled DSLR. Sony thought: "TAKE THAT, Linux users! We do not implement a simple web interface for downloading the images via network which could be used easily across all operating systems; we do our own proprietary protocol, because we can. And we implement this protocol in a mobile app which behaves as annoying as possible. Let's call it Playmemories Mobile, and rename it later to Imaging Edge Mobile."
I wasn't very amused about that - ImagingEdge4Linux was born.
This project tries to reverse engineer and implement the SOAP API (XML over HTTP) offered by Sony DSLR cameras for image download to mobile devices using the app "Imaging Edge Mobile" (camera menu "Send to Smartphone"). In contrast to the PTP/IP implementation (camera menu "Send to computer"), which is already reverse-engineered in sony-pm-alt, the SOAP API seems to be less complex to set up (no PTP-GUID etc.) and easier to use.
No special installation steps are necessary. Just:
- Select "Send to Smartphone" in the menu of your Sony camera (not "Send to Computer")
- Connect your computer to the WiFi access point of the camera
- Execute the python script:
python3 imaging-edge.py
. All images will be copied to your computer. Already copied files will be skipped.- Normally, the camera is available at 192.168.122.1:64321, but you can adjust this by the
--address
and--port
parameter. - By default, the images will be downloaded into your personal images folder. You can adjust this using the
--output-dir
directory. - You can add this script to your autostart with the
--daemon
parameter. The script will then run in the background and automatically copy the images. A desktop notification will inform you about the progress.
- Normally, the camera is available at 192.168.122.1:64321, but you can adjust this by the
The camera shows which web services it offers in http://192.168.122.1:64321/DmsDescPush.xml
. This for example leads to http://192.168.122.1:64321/XPlsDesc.xml
, showing which commands it understands for transfer control. While the commands TransferStart and TransferEnd are working, TransferProgress does nothing on my camera.
Feedback, stars and contributions welcome! Please tell me if your camera is working too.
Model | Working? |
---|---|
ILCA-77M2 (v2.00) | Yes |
ILCE-7S | Yes |
DSC-RX100-M3 | Yes |