This project should be an alternative to the official PlayMemories app.
Initially it was planned as an Android project with Java and was later completely rewritten in Kotlin but in the future this will be my first bigger Flutter App.
Meanwhile, it should not only serve as a replacement for the official app, but also provide additional functions such as remote control via USB. Since it is now being developed as a Flutter App, it is also planned to release it as a desktop application.
It will probably take some time until the project is finished, because the whole project is very time consuming and I am working on this besides my job and study.
There are 2 interfaces for the camera, but one is unfortunately very limited in the functions and the other has no documentation
The biggest problem of this interface is unreliability, because it is possible that the devices lose the connection and especially with TimeLapse recordings this would be really bad.
Many users also complain that there is no way to transfer RAW images - at least not on all devices.
To make matters worse, the whole thing is unfortunately not very fast either.
In general there are big differences between all cameras that support this Feature .
One of the most serious examples is that most cameras can handle it if you send the camera a command to capture an image. However, some of the new models need the command to focus before they can do this, but only under certain circumstances. In addition, some new cameras can only send the images taken during the connection and you can no longer view all images on the camera.
Sony itself has marked the API as archived and will not provide further support. A new one has been announced, but it will only work with the latest 2 cameras.
Unfortunately there is no documentation here, but some started projects on Github like SonyAlphaUSB. It uses Windows Image Acquisiton to send data, unfortunately this changes the data, so you can't use it the same way on Android, so I have to examine the traffic for all commands with Wireshark to port it.
The biggest limitation when using the USB interface is that only newer camera models store the images on the SD card of the camera, otherwise the images are only sent to the USB device.
Meanwhile I managed to write a Flutter for Flutter , so that I can send data to the camera in Windows (C++) as well as Android (Kotlin) and take a picture with it.