Need help with protocol

Ok I’ve attached some screen shoots of of a packet I captured. I need some guidance of what this means and how to use this info.

What I’m trying to do is make a controller for my camera. I have some experience with arduino, but not much with this wifi stuff. The attachments are of a capture of the app for the camera. It seems like the camera is sending alot of info to the app for what setting are available. On #27 I see the app sent the setting change for the iso to 800.

I tried to do the same thing through a browser with my laptop while connected to the cameras wifi. I didn’t have any luck.

Can someone help put me in the right direction for what protocol is being used and maybe some links for some good reading on what’s going on here?

Thanks in advance

I tried to do the same thing through a browser with my laptop while connected to the cameras wifi. I didn't have any luck.

Specifically, what did you type in the browser's address field?

I don't really remember. I know I started with the ip, and tried to use what was on that #27.

Do you have an idea of what I should try?

Images from Original Post so we don’t have to download them. See this Image Guide

Screenshot_2016-09-27-21-35-46.png

Screenshot_2016-09-27-21-31-36.png

Screenshot_2016-09-27-21-07-54.png

…R

As you can probably see those images are not readable. Post the stuff as text within [code] [/code] tags rather than as a picture.

...R

Do you have an idea of what I should try?

Yes.

http://cameraIP/cam.cgi?mode=setsetting&type=iso&value=640

where you replace cameraIP with the camera's IO address.

ok so i finally had a chance to try this again. i am sorry about those original attachments, the packet capture app doesn’t save the file so i had to take screen shoots. i’m working on figuring a better way to capture and save the file into something useful. any suggestions would be great .

http://192.168.54.1/cam.cgi?mode=setsettings&type=iso&value=800

i get this, and the screen goes black on the camera

err_non_support

http://192.168.54.1/cam.cgi?mode=getstate i do get info back on the cameras setting, so i know it is some what working.

i’m wondering if that keep-alive thing has something to do with it?

again thanks, just learning this stuff

err_non_support

This suggests (to me) that a value of 800 is what is not supported.

When mode is getstate, what is reported (if anything) about the current iso value?

800 does show up and enabled. when i use the app and capture the wifi to do the same thing i get the same thing i tried to put in the browser.

captured from app

GET /cam.cgi?mode=setsetting&type=iso&value=800 HTTP/1.1
Host:P 192.168.54.1
Connection: keep-Alive
user-Agent: Apache-httpClient

here is what the camera sends back when i use: http://192.168.54.1/cam.cgi?mode=getinfo&type=curmenu

close to the end is what i believe to be the iso options where they are labeled sensitivity

ok

ok some breakthrough! it does work! the problem is when i send the http://192.168.54.1/cam.cgi?mode=setsettings&type=iso&value=800 it makes the camera screen go black. if i push a button on the camera, the screen comes back and has the new setting change! But when it comes back i lose wifi connection and have to do all of that again.

well i finally figured it out. i needed to put it in record mode before i could change setting with the browser! using: cam.cgi?mode=camcmd&value=recmode

thank you guys.

now for the hard part. how do i use what i just learned and use that in arduino? i'm having a hard time finding info on this, i'm sure i'm just not searching for the right things. can anyone give me some links to projects kinda like what i want to do?

to recap what i want to be able to do,

use the adafruit feather huzzah and with the press of different buttons to send these types of commands to the camera via wifi