Alle Beiträge von robert

DIY GoPro remote

facebooktwittergoogle_plusmail

In this tutorial, I will show you, how to build an very cheap GoPro remote control!

UPDATE: The First Prototype is ready -> goto the NEW post

Things you need:

  • GoPro with WIFI (eg. GoPro HERO 4 Silver)
  • ESP8266 (ESP-01 is okay)
  • some ESP-burning parts (eg.USB 2 TTL converter)
  • my ESP-Firmware for Arduino IDE

This are all required parts:

 

Part 1:

Set up the GoPro WIFI over your Smartphone or PC – note the WIFI name and its PW.

Part 2:

Wire up the ESP8266 for flashing : WATCH OUT   VCC = 3.3V !!!

ESP8266 to USB2TTL
ESP8266 to USB2TTL

Part 3:

Flash the following code, as described here, over the Arduino IDE: Replace the red parts with your settings!




/**********************************************************************************
* ESP8266 REMOTE for GoPro by Robert Stefanowicz - euerdesign.de 28 Dec 2015 *
*********************************************************************************/

#include

/*********************************
* YOUR SETTINGS *
*********************************/

const char* ssid = "Go1337Pro"; //Your Wifi name (SSID)
const char* password = "PASSWORD"; //Your WiFi password
/*********************************
* DO NOT CHANGE BELOW THIS LINE *
*********************************/
const char* host = "10.5.5.9";
int delshort = 50;
int dellong = 500;
const int buttonPin = 0;
int value;
int buttonstate;
int buttonstates;
int camstates;
int checked;
const int buttonPins = 2;
int values;
int valuess;
void setup() {
Serial.begin(115200);
delay(100);
pinMode(buttonPin, INPUT);
pinMode(buttonPins, INPUT);
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
}
void loop() {
delay(delshort);
values = digitalRead(buttonPins);

if (buttonstates != values)
{
buttonstates = values;
if (values == 1)
{ checked = 0;
if (camstates == 1){camstates = 0; checked = 1;}
if (camstates == 0){
if (checked == 0) {camstates = 1;}
}
Serial.println("Aenderung");
Serial.print("connecting to ");
Serial.println(host);
WiFiClient client;
const int httpPort = 80;
if (!client.connect(host, httpPort)) {
Serial.println("connection failed");
return;
}
String url = "/gp/gpControl/command/shutter?p=";
url += camstates;
Serial.print("Requesting URL: ");
Serial.println(url);
client.print(String("GET ") + url + " HTTP/1.1\r\n" +
"Host: " + host + "\r\n" +
"Connection: close\r\n\r\n");
delay(10);
Serial.println();
Serial.println("closing connection");

}
delay(dellong);
valuess = digitalRead(buttonPins);
if (valuess == 1)
{
camstates = 0;
while(valuess == 1){
delay(delshort);
Serial.println("WHILE-LOOP");
Serial.println(valuess);
valuess = digitalRead(buttonPins);

}

Serial.println("BUTTON STATE CHANGE ");
Serial.print("connecting to ");
Serial.println(host);
WiFiClient client;
const int httpPort = 80;
if (!client.connect(host, httpPort)) {
Serial.println("connection failed");
return;
}
String url = "/gp/gpControl/command/shutter?p=0";
Serial.print("Requesting URL: ");
Serial.println(url);
client.print(String("GET ") + url + " HTTP/1.1\r\n" +
"Host: " + host + "\r\n" +
"Connection: close\r\n\r\n");
delay(10);
Serial.println();
Serial.println("closing connection");
}

}

}


Part 4

Solder a 33 kOhm Resistor between Ground an the next pin right to it. Then a phusbutton between this pin an VCC.

ESPBUTTON

Part 5

Turn on your GoPro – Turn in Wifi in the Settings or with the side button.
Turn on the ESP and Trigger your Shutter. Thats it!

GoPro URLs:

Controls:
off: http://10.5.5.9/gp/gpControl/setting/10/0
on: http://10.5.5.9/gp/gpControl/setting/10/1
White Balance:
Auto: http://10.5.5.9/gp/gpControl/setting/11/0
3000k: http://10.5.5.9/gp/gpControl/setting/11/1
5500k: http://10.5.5.9/gp/gpControl/setting/11/2
6500k: http://10.5.5.9/gp/gpControl/setting/11/3
Native: http://10.5.5.9/gp/gpControl/setting/11/4
Color:
GOPRO: http://10.5.5.9/gp/gpControl/setting/12/0
Flat: http://10.5.5.9/gp/gpControl/setting/12/1
ISO:
6400: http://10.5.5.9/gp/gpControl/setting/13/0
1600: http://10.5.5.9/gp/gpControl/setting/13/1
400: http://10.5.5.9/gp/gpControl/setting/13/2
Sharpness:
High: http://10.5.5.9/gp/gpControl/setting/14/0
Med: http://10.5.5.9/gp/gpControl/setting/14/1
Low: http://10.5.5.9/gp/gpControl/setting/14/2
EV:
Value URL
+2 http://10.5.5.9/gp/gpControl/setting/15/0
+1.5 http://10.5.5.9/gp/gpControl/setting/15/1
+1 http://10.5.5.9/gp/gpControl/setting/15/2
+0.5 http://10.5.5.9/gp/gpControl/setting/15/3
0 http://10.5.5.9/gp/gpControl/setting/15/4
-0.5 http://10.5.5.9/gp/gpControl/setting/15/5
-1 http://10.5.5.9/gp/gpControl/setting/15/6
-1.5 http://10.5.5.9/gp/gpControl/setting/15/7
-2 http://10.5.5.9/gp/gpControl/setting/15/8
Primary modes:
Video: http://10.5.5.9/gp/gpControl/command/mode?p=0
Photo: http://10.5.5.9/gp/gpControl/command/mode?p=1
MultiShot: http://10.5.5.9/gp/gpControl/command/mode?p=2
Secondary modes:
Video (VIDEO): http://10.5.5.9/gp/gpControl/setting/68/0
TimeLapse Video (VIDEO): http://10.5.5.9/gp/gpControl/setting/68/1
Video + Photo (VIDEO): http://10.5.5.9/gp/gpControl/setting/68/2
Looping (VIDEO): http://10.5.5.9/gp/gpControl/setting/68/3
Single (PHOTO): http://10.5.5.9/gp/gpControl/setting/69/0
Continuous (PHOTO): http://10.5.5.9/gp/gpControl/setting/69/1
Night (PHOTO): http://10.5.5.9/gp/gpControl/setting/69/2
Burst (MultiShot): http://10.5.5.9/gp/gpControl/setting/70/0
Timelapse (MultiShot): http://10.5.5.9/gp/gpControl/setting/70/1
NightLapse (MultiShot): http://10.5.5.9/gp/gpControl/setting/70/2
Power:
Power Off: http://10.5.5.9/gp/gpControl/command/system/sleep
Frame Rate:
120fps: http://10.5.5.9/gp/gpControl/setting/3/0
90fps: http://10.5.5.9/gp/gpControl/setting/3/3
60fps: http://10.5.5.9/gp/gpControl/setting/3/5
48fps: http://10.5.5.9/gp/gpControl/setting/3/7
30fps: http://10.5.5.9/gp/gpControl/setting/3/8
24fps: http://10.5.5.9/gp/gpControl/setting/3/10
Resolutions:
4K: http://10.5.5.9/gp/gpControl/setting/2/1
4K SuperView: http://10.5.5.9/gp/gpControl/setting/2/2
2.7K: http://10.5.5.9/gp/gpControl/setting/2/4
2.7K SuperView: http://10.5.5.9/gp/gpControl/setting/2/5
2.7K 4:3: http://10.5.5.9/gp/gpControl/setting/2/6
1440p: http://10.5.5.9/gp/gpControl/setting/2/7
1080p SuperView: http://10.5.5.9/gp/gpControl/setting/2/8
1080p: http://10.5.5.9/gp/gpControl/setting/2/9
960p: http://10.5.5.9/gp/gpControl/setting/2/10
720p SuperView: http://10.5.5.9/gp/gpControl/setting/2/11
720p: http://10.5.5.9/gp/gpControl/setting/2/12
WVGA: http://10.5.5.9/gp/gpControl/setting/2/13
Exposure time for NightPhoto:
Auto: http://10.5.5.9/gp/gpControl/setting/19/0
2: http://10.5.5.9/gp/gpControl/setting/19/1
5: http://10.5.5.9/gp/gpControl/setting/19/2
10: http://10.5.5.9/gp/gpControl/setting/19/3
15: http://10.5.5.9/gp/gpControl/setting/19/4
20: http://10.5.5.9/gp/gpControl/setting/19/5
30: http://10.5.5.9/gp/gpControl/setting/19/6
Exposure time for NightLapse:
Auto: http://10.5.5.9/gp/gpControl/setting/31/0
2: http://10.5.5.9/gp/gpControl/setting/31/1
5: http://10.5.5.9/gp/gpControl/setting/31/2
10: http://10.5.5.9/gp/gpControl/setting/31/3
15: http://10.5.5.9/gp/gpControl/setting/31/4
20: http://10.5.5.9/gp/gpControl/setting/31/5
30: http://10.5.5.9/gp/gpControl/setting/31/6
Photo resolution:
12MP Wide: http://10.5.5.9/gp/gpControl/setting/17/0
7MP Wide: http://10.5.5.9/gp/gpControl/setting/17/1
7MP Medi: http://10.5.5.9/gp/gpControl/setting/17/2
5MP Wide: http://10.5.5.9/gp/gpControl/setting/17/3
Field Of View:
Wide: http://10.5.5.9/gp/gpControl/setting/4/0
Medium: http://10.5.5.9/gp/gpControl/setting/4/1
Narrow: http://10.5.5.9/gp/gpControl/setting/4/2
Low Light:
ON: http://10.5.5.9/gp/gpControl/setting/8/1
OFF: http://10.5.5.9/gp/gpControl/setting/8/0
Timelapse Interval (TIMELAPSE MODE on MultiShot):
0.5: http://10.5.5.9/gp/gpControl/setting/5/0
1: http://10.5.5.9/gp/gpControl/setting/5/1
2: http://10.5.5.9/gp/gpControl/setting/5/2
5: http://10.5.5.9/gp/gpControl/setting/5/3
10: http://10.5.5.9/gp/gpControl/setting/5/4
30: http://10.5.5.9/gp/gpControl/setting/5/5
60: http://10.5.5.9/gp/gpControl/setting/5/6
Continuous photo rate:
3: http://10.5.5.9/gp/gpControl/setting/18/0
5: http://10.5.5.9/gp/gpControl/setting/18/1
10: http://10.5.5.9/gp/gpControl/setting/18/2
Video Looping Duration:
Max: http://10.5.5.9/gp/gpControl/setting/6/0
5Min: http://10.5.5.9/gp/gpControl/setting/6/1
20Min: http://10.5.5.9/gp/gpControl/setting/6/2
60Min: http://10.5.5.9/gp/gpControl/setting/6/3
120Min: http://10.5.5.9/gp/gpControl/setting/6/4
Video+Photo Interval:
5: http://10.5.5.9/gp/gpControl/setting/7/1
10: http://10.5.5.9/gp/gpControl/setting/7/2
30: http://10.5.5.9/gp/gpControl/setting/7/3
60Min: http://10.5.5.9/gp/gpControl/setting/7/4
Spot Meter:
off: http://10.5.5.9/gp/gpControl/setting/9/0
on: http://10.5.5.9/gp/gpControl/setting/9/1
Shutter
Trigger: http://10.5.5.9/gp/gpControl/command/shutter?p=1
Stop (Video/Timelapse): http://10.5.5.9/gp/gpControl/command/shutter?p=0
Streaming:
Start Streaming http://10.5.5.9/gp/gpControl/execute?p1=gpStream&c1=start
Restart Streaming http://10.5.5.9/gp/gpControl/execute?p1=gpStream&c1=restart
Stop Streaming http://10.5.5.9/gp/gpControl/execute?p1=gpStream&c1=stop
Video can be streamed by using aplay or ffplay on udp://:8554, connection must be kept alive using hero4-udp-keep-alive-send.py script.
Tag moment:
http://10.5.5.9/gp/gpControl/command/storage/tag_moment
Delete file:
http://10.5.5.9/gp/gpControl/command/storage/delete?p=file (eg. /100GOPRO/G0010124.JPG)
List files
http://10.5.5.9:8080/gp/gpMediaList
Download thumbnail
http://10.5.5.9/gp/gpMediaMetadata?p=file (eg. /100GOPRO/G0010126.JPG)
facebooktwittergoogle_plusmail

Ein Technik-Freak schreibt

facebooktwittergoogle_plusmail

SONY DSC

Hallo und herzlich Willkommen,

mein Name ist Robert Stefanowicz, ich bin CAD-Dozent und Technik-Freak. Ich habe das Glück beim besten Arbeitgeber in der CAD-Branche zu arbeiten. Bei der Bytes & Building GmbH. Bei uns sitzen die 20 ehrgeizigsten Köpfe, welche für die Bereiche Architektur, Infrastruktur und meinen Bereich, die Gebäudetechnik die CAD-Elite bilden.

Ich lebe meinen Job, er prägt mich, das bin ich. Er bietet Möglichkeiten, mit welchen wir uns weiterentwickeln. Wir forschen an den zukunftsweisenden Lösungen, welche unser großer deutschlandweiter Kundenstamm schon morgen nutzen wird.

Hier gibt es einen Blick hinter die Kulissen und die eine oder andere Vorschau auf die morgige Technik.

Seid gespannt – ich bin es auch!

 

 

facebooktwittergoogle_plusmail