You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Have you ever thought about the possibility to control your action camera with your Arduino? Well if you are here because you googled that you may be interested in watching this video
9
+
Here there is a short video that shows the potential of the library
@@ -23,7 +23,7 @@ Have you ever thought about the possibility to control your action camera with y
23
23
- change photo and video resolution
24
24
- turn the localization on/off
25
25
- change the orientation
26
-
- more?
26
+
- more
27
27
28
28
## Supported boards:
29
29
@@ -33,7 +33,7 @@ Have you ever thought about the possibility to control your action camera with y
33
33
- MKR WiFi 1010
34
34
- MKR VIDOR 4000
35
35
- UNO WiFi Rev.2
36
-
- any arduino boards (UNO, nano, 101, etc.) attached to an ESP8266 (ESP01) using AT commands with [this library](https://github.com/bportaluri/WiFiEsp)
36
+
- any other boards (UNO, NANO, bluepill) attached to an ESP01 using AT commands with [this library](https://github.com/bportaluri/WiFiEsp)
37
37
38
38
## Supported cameras:
39
39
@@ -43,6 +43,8 @@ Have you ever thought about the possibility to control your action camera with y
43
43
- HERO6
44
44
- HERO7
45
45
- FUSION
46
+
- HERO8
47
+
- MAX
46
48
47
49
I made the library with a style which would be quite easy to add other cameras (not only GoPro). I would be very happy to accept pull requests 😃
48
50
@@ -52,7 +54,7 @@ I made the library with a style which would be quite easy to add other cameras (
52
54
- Go to Tools > Manage libraries
53
55
- Search for `GoProControl`
54
56
- PlatformIO:
55
-
- From command line: run `pio lib install "GoProControl"`
57
+
- From command line: run `pio lib install "GoProControl"` or use the ID `pio lib install 5599`
56
58
- Or if you prefer a GUI from [Platformio IDE](https://docs.platformio.org/en/latest/librarymanager/)
57
59
- Manually:
58
60
- `cd $HOME/Arduino/libraries` ([see Arduino library paths for other operating systems](https://www.arduino.cc/en/hacking/libraries))
@@ -61,11 +63,13 @@ I made the library with a style which would be quite easy to add other cameras (
61
63
62
64
## Examples
63
65
64
-
**Important:** Rename the `Constants.h.example` to `Constants.h` and change the SSID, password and camera model
66
+
Start with the `GoProControl.ino` to get used with the library
67
+
68
+
**Important:** Before uploading to your board you have to change the SSID, password and camera model from `Secrets.h`
65
69
66
70
## Supported Options
67
71
68
-
| Mode | HERO3 | HERO4,5,6,7|
72
+
| Mode | HERO3 | HERO4 and beyond|
69
73
| --- | :---: | :---: |
70
74
| VIDEO_MODE | ✔ | ✔ |
71
75
| PHOTO_MODE | ✔ | ✔ |
@@ -85,13 +89,13 @@ I made the library with a style which would be quite easy to add other cameras (
85
89
| MULTISHOT_TIMELAPSE_MODE || ✔ |
86
90
| MULTISHOT_NIGHTLAPSE_MODE || ✔ |
87
91
88
-
| Orientation | HERO3 | HERO4,5,6,7|
92
+
| Orientation | HERO3 | HERO4 and beyond|
89
93
| --- | :---: | :---: |
90
94
| ORIENTATION_UP | ✔ | ✔ |
91
95
| ORIENTATION_DOWN | ✔ | ✔ |
92
96
| ORIENTATION_AUTO || ✔ |
93
97
94
-
| Video Resolution | HERO3 | HERO4,5,6,7|
98
+
| Video Resolution | HERO3 | HERO4 and beyond|
95
99
| --- | :---: | :---: |
96
100
| VR_4K || ✔ |
97
101
| VR_2K || ✔ |
@@ -104,14 +108,14 @@ I made the library with a style which would be quite easy to add other cameras (
104
108
| VR_720p | ✔ | ✔ |
105
109
| VR_WVGA | ✔ | ✔ |
106
110
107
-
| Field Of View | HERO3 | HERO4,5,6,7|
111
+
| Field Of View | HERO3 | HERO4 and beyond|
108
112
| --- | :---: | :---: |
109
113
| WIDE_FOV | ✔ | ✔ |
110
114
| MEDIUM_FOV | ✔ | ✔ |
111
115
| NARROW_FOV | ✔ | ✔ |
112
116
| LINEAR_FOV || ✔ |
113
117
114
-
| Frame Rate | HERO3 | HERO4,5,6,7|
118
+
| Frame Rate | HERO3 | HERO4 and beyond|
115
119
| --- | :---: | :---: |
116
120
| FR_240 | ✔ | ✔ |
117
121
| FR_120 | ✔ | ✔ |
@@ -128,12 +132,12 @@ I made the library with a style which would be quite easy to add other cameras (
128
132
| FR_12p5 | ✔ ||
129
133
| FR_12 | ✔ ||
130
134
131
-
| Video Encoding | HERO3 | HERO4,5,6,7|
135
+
| Video Encoding | HERO3 | HERO4 and beyond|
132
136
| --- | :---: | :---: |
133
137
| NTSC | ✔ | ✔ |
134
138
| PAL | ✔ | ✔ |
135
139
136
-
| Photo Resolution | HERO3 | HERO4,5,6,7|
140
+
| Photo Resolution | HERO3 | HERO4 and beyond|
137
141
| --- | :---: | :---: |
138
142
| PR_12MP_WIDE || ✔ |
139
143
| PR_12MP_MEDIUM || ✔ |
@@ -147,7 +151,7 @@ I made the library with a style which would be quite easy to add other cameras (
147
151
| PR_5MP_WIDE | ✔ | ✔ |
148
152
| PR_5MP_MEDIUM || ✔ |
149
153
150
-
| Time Lapse | HERO3 | HERO4,5,6,7|
154
+
| Time Lapse | HERO3 | HERO4 and beyond|
151
155
| --- | :---: | :---: |
152
156
| 60 | ✔ | ✔ |
153
157
| 30 | ✔ | ✔ |
@@ -156,26 +160,27 @@ I made the library with a style which would be quite easy to add other cameras (
156
160
| 1 | ✔ | ✔ |
157
161
| 0.5 | ✔ | ✔ |
158
162
159
-
| Continuous Shot | HERO3 | HERO4,5,6,7|
163
+
| Continuous Shot | HERO3 | HERO4 and beyond|
160
164
| --- | :---: | :---: |
161
165
| 10 | ✔ ||
162
166
| 5 | ✔ ||
163
167
| 3 | ✔ ||
164
168
| 0 | ✔ ||
165
169
166
-
**NOTE:** Not all the options are available for all the cameras (for example on a HERO3 you can't set 1080p at 240 frame per second 😲). You can see the possibilities on the manual of your camera of here for [HERO3](https://github.com/KonradIT/goprowifihack/blob/master/HERO3/Framerates-Resolutions.md) and here for [HERO4 and newer](https://github.com/KonradIT/goprowifihack/blob/master/HERO4/Framerates-Resolutions.md)
170
+
**NOTE:** Not all the options are available for all the cameras (for example on a HERO3 you can't set 1080p at 240 frame per second 😲). You can see the possibilities on the manual of your camera or here for [HERO3](https://github.com/KonradIT/goprowifihack/blob/master/HERO3/Framerates-Resolutions.md) and here for [HERO4 and newer](https://github.com/KonradIT/goprowifihack/blob/master/HERO4/Framerates-Resolutions.md)
167
171
168
172
## To Do list and known issues
169
173
170
174
- ESP8266 can't get the BSSID of the camera. So if you want to turn it on you need to manually pass it to the constructor, [see the docs](https://arduino-esp8266.readthedocs.io/en/latest/esp8266wifi/station-class.html#bssid)
171
175
- There is no way to know if an HERO3 camera is on or off so the function `isOn()` will always return `true` on this camera
172
-
- It is possible to get a lot of info (mode, fow, battery) from HERO4 and newer camera but this is not implemented,[see here](https://github.com/KonradIT/goprowifihack/blob/master/HERO5/HERO5-Commands.md#gopro-hero5-commands-status-and-notes) - PR are welcome
176
+
- It is possible to get a lot of info (mode, fow, battery) from HERO4 and newer camera but this is not implemented [see here](https://github.com/KonradIT/goprowifihack/blob/master/HERO5/HERO5-Commands.md#gopro-hero5-commands-status-and-notes), a Json parser should be used, like [ArduinoJson](https://arduinojson.org/) - PR are welcome
173
177
- BLE not implemented: the ESP32 core is not enough stable, especially, if used together with wifi: [see here](https://github.com/espressif/arduino-esp32/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+ble)
174
178
- No confirm pairing for HERO4: [see here](https://github.com/KonradIT/goprowifihack/blob/master/HERO4/WifiCommands.md#code-pairing) - PR are welcome
175
179
- The arduino class `String()` is known to cause memory leaks but in hours and hours of use of this library I never had a single problem
180
+
- on STM32 there is a known bug with [WiFiEsp](https://github.com/bportaluri/WiFiEsp/pull/179)
176
181
177
182
## Reference
178
183
179
-
All the commands came from [here](https://github.com/KonradIT/goprowifihack)
184
+
All the commands came from the great work of [KonradIT](https://github.com/KonradIT/goprowifihack)
180
185
181
-
The idea of making a GoPro library for arduino comes from another [library](https://github.com/agdl/GoPRO) which works only on arduino WiFi boards and only with GoPro HERO3
186
+
The idea of making a GoPro library for arduino comes from another [library](https://github.com/agdl/GoPRO) which works only on arduino WiFi boards and only with GoPro HERO3
0 commit comments