I love my Panasonic TZ40 camera, but once I tried to do a time lapse shot of a flower I have realized this functionality is not there.
I have tried the “Panasonic Image App” but that did not include this feature, which is silly since all the functionalities are there.
Searching the net I couldn’t find any app or API that will solve this problem, so I thought this would be a nice challenge for me 🙂
Using the ios app I have sniffed the TCP traffic between the phone and the camera and was able to understand the underlying API.
Which this information I have put together a small page that can be used to create time-lapse images. I have successfully tested this with my Panasonic TZ40, but should work with other models as well, such as GH3)
Since I did not have much time (I am busy being a new dad for 2 weeks now :)) the page is very basic, but I would appreciate if anyone would come up with a better design. I am considering an iOS app as well if there is demand for it.
So how it works:
While you still have internet access on your mobile, desktop, or any device visit this page:
Don’t click start since we are not connected to the camera.
Now connect your device (ie. mobile) to the camera via WIFI. At this stage, you can start using the Panasonic Image App, set the desired settings (ie. zoom, focus).
Switch to the mobile browser on your mobile/desktop and now you can click “Start”. An image will be taken every 10 seconds. You can adjust the interval as you wish.
I have not tried to see when the mobile device will go into sleep mode if you don’t interact with it. If this happens, you can set a higher time or disable this feature while you are making the time lapse (you can even use your desktop 🙂 ). Ideally, we can create a native app that will trigger the shots from the background.
Now for the more technically focused guys, this is what I have learned by looking at the API.
When you connect a device to the camera the camera will have this IP address:
Using your browser, you can find all supported command by the camera:
Here is a few command with some explanation:
http://192.168.54.1/cam.cgi?mode=getstate – current state
http://192.168.54.1/cam.cgi?mode=setsetting&type=afmode&value=facedetection – set auto focus and face detection
http://192.168.54.1/cam.cgi?mode=camcmd&value=recmode = recording mode
http://192.168.54.1/cam.cgi?mode=camcmd&value=playmode = play mode
http://192.168.54.1/cam.cgi?mode=camcmd&value=capture – take picture
http://192.168.54.1/cam.cgi?mode=camctrl&type=touchcapt&value=840/234&value2=on – take a picture with focus on a given coordinate
http://192.168.54.1/cam.cgi?mode=camcmd&value=video_recstop – stop recording video
http://192.168.54.1/cam.cgi?mode=camcmd&value=video_recstart – start recording video
http://192.168.54.1/cam.cgi?mode=camcmd&value=wide-normal – zoom in
http://192.168.54.1/cam.cgi?mode=camcmd&value=wide-fast – zoom in
http://192.168.54.1/cam.cgi?mode=camcmd&value=tele-normal – zoom in
http://192.168.54.1/cam.cgi?mode=camcmd&value=tele-fast – zoom in
http://192.168.54.1/cam.cgi?mode=camcmd&value=zoomstop – stop zoon
http://192.168.54.1/cam.cgi?mode=startstream&value=49473 – start video stream on the specified port
The stream is an MJPEG video over UDP.