Nearly everything has WiFi these days. [glaskugelsehen]’s Sony camera uses the wireless network to transfer photos to the computer, naturally, and it also has a remote-control application that’ll run on Android smartphones. [glaskugelsehen] doesn’t have an Android — but he does have shows us an ESP8266 that he turned into a WiFi-powered remote for the camera (Google translate into English).
Sony actually made [glaskugelsehen]’s work easy here. They have a publicly available API for the camera’s controls, and it’s all run by JSON sent over HTML HTTP POST. Which is to say, that it’s a piece of cake to script as long as you can send HTMLHTTP directives.
[glaskugelsehen]’s code, written in the Arduino environment for the ESP, first finds the camera’s WiFi network and authenticates to it. Then it sets the camera into remote-control mode, and takes over from there. So far, he’s only implemented taking still photos, but from the API it looks like you can also stop and start video recordings and more.
And yeah. We just wrote up another project doing virtually the same thing with a GoPro. [glaskugelsehen] read that too, and mentions it in his blog. We love it when people take inspiration from each other!
Isn’t it “HTTP” instead of “HTML”?
And no such animal as html directives.
“HTTP POST sent over TCP” to be pedantic.
Pedanticity accepted. Fixed.
> [glaskugelsehen] doesn’t have an Android
Except he clearly does, there are even screenshots on the linked page…
Also, the app is available on iOS too.
> HTML POST. […] send HTML directives.
Uuuum, what? You must mean HTTP.
Of course I have one. I only mentioned that I don’t program for Android.
“[glaskugelsehen] doesn’t have an Android” – This is wrong,
“da ich kein Android programmiere” – means “because I program no android”
Nice project! Will have to give this one a go on my A5000!
Hopefully the API allows changing all the main photography variables.
Just tried this with my RX100 IV. Works perfectly just had to add some function declaration to get it to compile. Time to throw this in a box with a status LED for when it is connected.
Improvements
Camera activation via Gpio2 and terminal by typing 1 and reconnection.
Tried to make it work with ESP32 and Sony A6000 and failed. It says
Msg send: {“version”:”1.0″,”id”:1,”method”:”startLiveview”,”params”:[]}
connecting to 192.168.122.1
connected to 192.168.122.1:8080
Requesting URL: /sony/camera/
wait for data
HTTP/1.1 501 Not Implemented