goprocam 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/lib/GoPro.rb +188 -0
- data/lib/constants.rb +489 -0
- metadata +45 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 547c5d03c5c2d0e6fcdbabf4fd6a58c925fe29fd
|
4
|
+
data.tar.gz: 213a1c890fcb87ed2a3048f6c6696b6e77c1344b
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: d3ca736b50f63e0c79288f0f083661041c2652892f7d6b718779d8c634d70f37460c512a7ee901c97434096d1d9ef20f57f973d07a4a08f608561c1a98662584
|
7
|
+
data.tar.gz: 5cb851b3152c892502a7396fb1ecffad49d56a1a3090f4d60ec8b8a625cd4fafeddd473bc22046b11fb6deb0d02ef2e8592c8d520235e67beb204a3a678831cb
|
data/lib/GoPro.rb
ADDED
@@ -0,0 +1,188 @@
|
|
1
|
+
require 'open-uri'
|
2
|
+
require 'socket'
|
3
|
+
require 'json'
|
4
|
+
GPIP = "10.5.5.9"
|
5
|
+
GOPROCONTROL = "http://10.5.5.9/gp/gpControl/"
|
6
|
+
GOPROMEDIA = "http://10.5.5.9/gp/gpMediaList/"
|
7
|
+
class Camera
|
8
|
+
def initialize()
|
9
|
+
end
|
10
|
+
def gpControlCommand(param,value)
|
11
|
+
response = open(GOPROCONTROL + 'setting/' + param + '/' + value).read
|
12
|
+
puts response
|
13
|
+
end
|
14
|
+
|
15
|
+
def status_raw()
|
16
|
+
response = open(GOPROCONTROL + 'status').read
|
17
|
+
puts response
|
18
|
+
end
|
19
|
+
|
20
|
+
def status(value, param)
|
21
|
+
response = open(GOPROCONTROL + 'status').read
|
22
|
+
parsed_resp = JSON.parse(response)
|
23
|
+
return parsed_resp[value][param]
|
24
|
+
end
|
25
|
+
def info_camera(option)
|
26
|
+
response = open(GOPROCONTROL + 'info').read
|
27
|
+
parsed_resp = JSON.parse(response)
|
28
|
+
return parsed_resp["info"][option]
|
29
|
+
end
|
30
|
+
def overview()
|
31
|
+
puts "camera overview"
|
32
|
+
puts "current mode: ", status(Status::Status, Status::STATUS::Mode)
|
33
|
+
puts "current submode: ", status(Status::Status, Status::STATUS::SubMode)
|
34
|
+
puts "pictures taken: ", status(Status::Status, Status::STATUS::PhotosTaken)
|
35
|
+
puts "videos taken: ", status(Status::Status, Status::STATUS::VideosTaken)
|
36
|
+
puts "videos left: ", status(Status::Status, Status::STATUS::RemVideoTime)
|
37
|
+
puts "pictures left: ", status(Status::Status, Status::STATUS::RemPhotos)
|
38
|
+
puts "camera SSID: ", status(Status::Status, Status::STATUS::CamName)
|
39
|
+
puts "Is Recording:", status(Status::Status, Status::STATUS::IsRecording)
|
40
|
+
puts "camera model: ", info_camera(Camera::Name)
|
41
|
+
puts "firmware version: ", info_camera(Camera::Firmware)
|
42
|
+
end
|
43
|
+
def shutter(value)
|
44
|
+
response = open(GOPROCONTROL + 'command/shutter?p=' + value).read
|
45
|
+
puts response
|
46
|
+
end
|
47
|
+
def take_photo()
|
48
|
+
if status(Status::Status, Status::STATUS::IsRecording) == "1"
|
49
|
+
shutter(Shutter::OFF)
|
50
|
+
end
|
51
|
+
camera_mode(Mode::PhotoMode)
|
52
|
+
shutter(Shutter::ON)
|
53
|
+
end
|
54
|
+
def camera_mode(mode, submode="0")
|
55
|
+
response = open(GOPROCONTROL + 'command/sub_mode?mode=' + mode + '&sub_mode=' + submode).read
|
56
|
+
puts response
|
57
|
+
end
|
58
|
+
|
59
|
+
def delete(option)
|
60
|
+
response = open(GOPROCONTROL + 'command/storage/delete/' + option).read
|
61
|
+
puts response
|
62
|
+
end
|
63
|
+
|
64
|
+
def delete_file(folder,file)
|
65
|
+
response = open(GOPROCONTROL + 'command/storage/delete?p=' + folder + "/" + file).read
|
66
|
+
puts response
|
67
|
+
end
|
68
|
+
|
69
|
+
def locate(param)
|
70
|
+
response = open(GOPROCONTROL + 'command/system/locate?p=' + param).read
|
71
|
+
puts response
|
72
|
+
end
|
73
|
+
|
74
|
+
def hilight()
|
75
|
+
response = open(GOPROCONTROL + 'command/storage/tag_moment').read
|
76
|
+
puts response
|
77
|
+
end
|
78
|
+
|
79
|
+
def power_off()
|
80
|
+
response = open(GOPROCONTROL + 'command/system/sleep').read
|
81
|
+
puts response
|
82
|
+
end
|
83
|
+
UDPSock = UDPSocket.new
|
84
|
+
def power_on()
|
85
|
+
begin
|
86
|
+
addr = ['<broadcast>', 9]
|
87
|
+
|
88
|
+
UDPSock.setsockopt(Socket::SOL_SOCKET, Socket::SO_BROADCAST, true)
|
89
|
+
data = "\xFF\xFF\xFF\xFF\xFF\xFF"
|
90
|
+
arr = "AA:BB:CC:DD:EE:FF" #actually works, replace if needed.
|
91
|
+
16.times do |i|
|
92
|
+
data<< arr[0].hex.chr+arr[1].hex.chr+arr[2].hex.chr+arr[3].hex.chr+arr[4].hex.chr+arr[5].hex.chr
|
93
|
+
end
|
94
|
+
UDPSock.send(data, 0, addr[0], addr[1])
|
95
|
+
end
|
96
|
+
|
97
|
+
def sync_time()
|
98
|
+
datestr_year=Time.new.year.to_s.reverse[0...2].reverse.to_i.to_s(16)
|
99
|
+
datestr_month=Time.new.month.to_s(16)
|
100
|
+
datestr_day=Time.new.day.to_s(16)
|
101
|
+
datestr_hour=Time.new.hour.to_s(16)
|
102
|
+
datestr_min=Time.new.min.to_s(16)
|
103
|
+
datestr_sec=Time.new.sec.to_s(16)
|
104
|
+
datestr="%"+datestr_year+"%"+datestr_month+"%"+datestr_day+"%"+datestr_hour+"%"+datestr_min+"%"+datestr_sec
|
105
|
+
response = open(GOPROCONTROL + 'command/setup/date_time?p=' + datestr).read
|
106
|
+
puts response
|
107
|
+
end
|
108
|
+
def ap_setting(ssid,pass)
|
109
|
+
response = open(GOPROCONTROL + 'command/wireless/ap/ssid?ssid=' + ssid + "&pw=" + passwd).read
|
110
|
+
puts response
|
111
|
+
end
|
112
|
+
end
|
113
|
+
|
114
|
+
def reset(option)
|
115
|
+
#videoPT, photoPT, msPT, camera, etc...
|
116
|
+
puts case option
|
117
|
+
when Reset::VideoPT
|
118
|
+
#reset video PT
|
119
|
+
response = open(GOPROCONTROL + 'command/video/protune/reset').read
|
120
|
+
puts response
|
121
|
+
when Reset::PhotoPT
|
122
|
+
#reset photo PT
|
123
|
+
response = open(GOPROCONTROL + 'command/photo/protune/reset').read
|
124
|
+
puts response
|
125
|
+
when Reset::MultiShotPT
|
126
|
+
#reset Ms PT
|
127
|
+
response = open(GOPROCONTROL + 'command/multi_shot/protune/reset').read
|
128
|
+
puts response
|
129
|
+
when Reset::CamReset
|
130
|
+
response = open(GOPROCONTROL + 'command/system/factory/reset').read
|
131
|
+
puts response
|
132
|
+
end
|
133
|
+
end
|
134
|
+
def list_media()
|
135
|
+
response = open(GOPROMEDIA).read
|
136
|
+
return JSON.pretty_generate JSON.parse(response)
|
137
|
+
end
|
138
|
+
def get_media()
|
139
|
+
folder=""
|
140
|
+
file=""
|
141
|
+
response = open(GOPROMEDIA).read
|
142
|
+
parsed_resp = JSON.parse(response)
|
143
|
+
parsed_resp['media'].each do |child|
|
144
|
+
folder = child['d']
|
145
|
+
end
|
146
|
+
parsed_resp['media'].each do |child|
|
147
|
+
child['fs'].each do |child|
|
148
|
+
file = child['n']
|
149
|
+
end
|
150
|
+
end
|
151
|
+
return "http://10.5.5.9:8080/videos/DCIM/" + folder + "/" + file
|
152
|
+
end
|
153
|
+
def dl_media()
|
154
|
+
folder=""
|
155
|
+
file=""
|
156
|
+
response = open(GOPROMEDIA).read
|
157
|
+
parsed_resp = JSON.parse(response)
|
158
|
+
parsed_resp['media'].each do |child|
|
159
|
+
folder = child['d']
|
160
|
+
end
|
161
|
+
parsed_resp['media'].each do |child|
|
162
|
+
child['fs'].each do |child|
|
163
|
+
file = child['n']
|
164
|
+
end
|
165
|
+
end
|
166
|
+
url = get_media()
|
167
|
+
open(url) {|f|
|
168
|
+
File.open(folder+"-"+file,"wb") do |file|
|
169
|
+
file.puts f.read
|
170
|
+
end
|
171
|
+
}
|
172
|
+
|
173
|
+
end
|
174
|
+
|
175
|
+
def livestream(option)
|
176
|
+
puts case option
|
177
|
+
when "start"
|
178
|
+
response = open(GOPROCONTROL + 'execute?p1=gpStream&a1=proto_v2&c1=start').read
|
179
|
+
puts response
|
180
|
+
when "stop"
|
181
|
+
response = open(GOPROCONTROL + 'execute?p1=gpStream&a1=proto_v2&c1=stop').read
|
182
|
+
puts response
|
183
|
+
when "restart"
|
184
|
+
response = open(GOPROCONTROL + 'execute?p1=gpStream&a1=proto_v2&c1=restart').read
|
185
|
+
puts response
|
186
|
+
end
|
187
|
+
end
|
188
|
+
end
|
data/lib/constants.rb
ADDED
@@ -0,0 +1,489 @@
|
|
1
|
+
class Status
|
2
|
+
Status="status"
|
3
|
+
Settings="settings"
|
4
|
+
class STATUS
|
5
|
+
Battery="1"
|
6
|
+
BatteryLevel="2"
|
7
|
+
IsBatteryBacPac="3"
|
8
|
+
BatteryBacPacLevel="4"
|
9
|
+
QuikCapture="9"
|
10
|
+
IsBusy="8"
|
11
|
+
Mode="43"
|
12
|
+
SubMode="44"
|
13
|
+
RecordElapsed="13"
|
14
|
+
CamName="30"
|
15
|
+
RemVideoTime="35"
|
16
|
+
RemPhotos="34"
|
17
|
+
BatchPhotosTaken="36"
|
18
|
+
VideosTaken="39"
|
19
|
+
PhotosTaken="38"
|
20
|
+
IsRecording="8"
|
21
|
+
RemainingSpace="54"
|
22
|
+
TotalHiLights="58"
|
23
|
+
LastHiLight="59"
|
24
|
+
SdCardInserted="33"
|
25
|
+
IsConnected="31"
|
26
|
+
GPS="68"
|
27
|
+
BattPercent="70"
|
28
|
+
end
|
29
|
+
end
|
30
|
+
class Camera
|
31
|
+
Name="model_name"
|
32
|
+
Number="model_number"
|
33
|
+
Firmware="firmware_version"
|
34
|
+
end
|
35
|
+
class Mode
|
36
|
+
VideoMode = "0"
|
37
|
+
PhotoMode = "1"
|
38
|
+
MultiShotMode = "2"
|
39
|
+
class SubMode
|
40
|
+
class Video
|
41
|
+
Video = "0"
|
42
|
+
TimeLapseVideo = "1"
|
43
|
+
VideoPhoto = "2"
|
44
|
+
Looping = "3"
|
45
|
+
end
|
46
|
+
class Photo
|
47
|
+
Single = "0"
|
48
|
+
Continuous = "1"
|
49
|
+
Night = "2"
|
50
|
+
end
|
51
|
+
class MultiShot
|
52
|
+
Burst = "0"
|
53
|
+
TimeLapse = "1"
|
54
|
+
NightLapse = "2"
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
class Shutter
|
60
|
+
ON = "1"
|
61
|
+
OFF = "0"
|
62
|
+
end
|
63
|
+
|
64
|
+
class Delete
|
65
|
+
ALL = "all"
|
66
|
+
LAST = "last"
|
67
|
+
end
|
68
|
+
class Locate
|
69
|
+
Start = "1"
|
70
|
+
Stop = "0"
|
71
|
+
end
|
72
|
+
class Reset
|
73
|
+
VideoPT="video"
|
74
|
+
PhotoPT="photo"
|
75
|
+
MultiShotPT="multishot"
|
76
|
+
CamReset="camera"
|
77
|
+
end
|
78
|
+
|
79
|
+
class Setup
|
80
|
+
ORIENTATION="52"
|
81
|
+
class Orientation
|
82
|
+
Up="1"
|
83
|
+
Down="2"
|
84
|
+
Auto="0"
|
85
|
+
end
|
86
|
+
QUIK_CAPTURE="54"
|
87
|
+
class QuikCapture
|
88
|
+
ON="1"
|
89
|
+
OFF="2"
|
90
|
+
end
|
91
|
+
LED_BLINK="55"
|
92
|
+
class LedBlink
|
93
|
+
Led_OFF="0"
|
94
|
+
Led_2="1"
|
95
|
+
Led_4="2"
|
96
|
+
end
|
97
|
+
LED_BLINK_H5="92"
|
98
|
+
class LedBlinkH5
|
99
|
+
Led_OFF="0"
|
100
|
+
Led_ON="2"
|
101
|
+
Led_FrontOff="1"
|
102
|
+
end
|
103
|
+
BEEP="56"
|
104
|
+
class Beep
|
105
|
+
OFF="2"
|
106
|
+
SemiLoud="1"
|
107
|
+
Loud="0"
|
108
|
+
end
|
109
|
+
AUTO_OFF="59"
|
110
|
+
class AutoOff
|
111
|
+
Never="0"
|
112
|
+
A1Min="1"
|
113
|
+
A2Min="2"
|
114
|
+
A3Min="3"
|
115
|
+
end
|
116
|
+
GPS="83"
|
117
|
+
class MapLocate
|
118
|
+
ON="1"
|
119
|
+
OFF="0"
|
120
|
+
end
|
121
|
+
VOICE_CONTROL="86"
|
122
|
+
class VoiceControl
|
123
|
+
ON="1"
|
124
|
+
OFF="0"
|
125
|
+
end
|
126
|
+
WIFI="63"
|
127
|
+
class Wifi
|
128
|
+
Remote="2"
|
129
|
+
SmartRemote="3"
|
130
|
+
OFF="0"
|
131
|
+
end
|
132
|
+
end
|
133
|
+
class Video
|
134
|
+
RESOLUTION="2"
|
135
|
+
class Resolution
|
136
|
+
R4k="1"
|
137
|
+
R4kSV="2"
|
138
|
+
R2k="4"
|
139
|
+
R2kSV="5"
|
140
|
+
R2k4by3="6"
|
141
|
+
R1440p="7"
|
142
|
+
R1080pSV="8"
|
143
|
+
R1080p="9"
|
144
|
+
R960p="10"
|
145
|
+
R720pSV="11"
|
146
|
+
R720p="12"
|
147
|
+
R480p="13"
|
148
|
+
end
|
149
|
+
FRAME_RATE="3"
|
150
|
+
class FrameRate
|
151
|
+
FR240="0"
|
152
|
+
FR120="1"
|
153
|
+
FR100="2"
|
154
|
+
FR60="5"
|
155
|
+
FR50="6"
|
156
|
+
FR48="7"
|
157
|
+
FR30="8"
|
158
|
+
FR25="9"
|
159
|
+
FR24="10"
|
160
|
+
end
|
161
|
+
FOV="4"
|
162
|
+
class Fov
|
163
|
+
Wide="0"
|
164
|
+
Medium="1"
|
165
|
+
Narrow="2"
|
166
|
+
SuperView="3"
|
167
|
+
Linear="4"
|
168
|
+
end
|
169
|
+
|
170
|
+
LOW_LIGHT="5"
|
171
|
+
class LowLight
|
172
|
+
ON="1"
|
173
|
+
OFF="0"
|
174
|
+
end
|
175
|
+
SPOT_METER="9"
|
176
|
+
class SpotMeter
|
177
|
+
ON="1"
|
178
|
+
OFF="0"
|
179
|
+
end
|
180
|
+
VIDEO_LOOP_TIME="6"
|
181
|
+
class VideoLoopTime
|
182
|
+
LoopMax="0"
|
183
|
+
Loop5Min="1"
|
184
|
+
Loop20Min="2"
|
185
|
+
Loop60Min="3"
|
186
|
+
Loop120Min="4"
|
187
|
+
end
|
188
|
+
VIDEO_PHOTO_INTERVAL="7"
|
189
|
+
class VideoPhotoInterval
|
190
|
+
Interval5Min="1"
|
191
|
+
Interval10Min="2"
|
192
|
+
Interval30Min="3"
|
193
|
+
Interval60Min="4"
|
194
|
+
end
|
195
|
+
VIDEO_EIS="78"
|
196
|
+
class VideoEIS
|
197
|
+
ON="1"
|
198
|
+
OFF="0"
|
199
|
+
end
|
200
|
+
PROTUNE_AUDIO="79"
|
201
|
+
class ProtuneAudio
|
202
|
+
ON="1"
|
203
|
+
OFF="0"
|
204
|
+
end
|
205
|
+
AUDIO_MODE="80"
|
206
|
+
class AudioMode
|
207
|
+
Stereo="0"
|
208
|
+
Wind="1"
|
209
|
+
Auto="2"
|
210
|
+
end
|
211
|
+
PROTUNE_VIDEO="10"
|
212
|
+
class ProTune
|
213
|
+
ON="1"
|
214
|
+
OFF="0"
|
215
|
+
end
|
216
|
+
WHITE_BALANCE="11"
|
217
|
+
class WhiteBalance
|
218
|
+
WBAuto="0"
|
219
|
+
WB3000k="1"
|
220
|
+
WB4000k="5"
|
221
|
+
WB4800k="6"
|
222
|
+
WB5500k="2"
|
223
|
+
WB6000k="7"
|
224
|
+
WB6500k="3"
|
225
|
+
WBNative="4"
|
226
|
+
end
|
227
|
+
COLOR="12"
|
228
|
+
class Color
|
229
|
+
GOPRO="0"
|
230
|
+
Flat="1"
|
231
|
+
end
|
232
|
+
ISO_LIMIT="13"
|
233
|
+
class IsoLimit
|
234
|
+
ISO6400= "0"
|
235
|
+
ISO1600= "1"
|
236
|
+
ISO400= "2"
|
237
|
+
ISO3200= "3"
|
238
|
+
ISO800= "4"
|
239
|
+
ISO200= "7"
|
240
|
+
ISO100= "8"
|
241
|
+
end
|
242
|
+
ISO_MODE="74"
|
243
|
+
class IsoMode
|
244
|
+
Max="0"
|
245
|
+
Lock="1"
|
246
|
+
end
|
247
|
+
SHARPNESS="14"
|
248
|
+
class Sharpness
|
249
|
+
High="0"
|
250
|
+
Med="1"
|
251
|
+
Low="2"
|
252
|
+
end
|
253
|
+
EVCOMP="15"
|
254
|
+
class EvComp
|
255
|
+
P2= "0"
|
256
|
+
P1_5="1"
|
257
|
+
P1= "2"
|
258
|
+
P0_5="3"
|
259
|
+
Zero = "4"
|
260
|
+
M0_5="5"
|
261
|
+
M1= "6"
|
262
|
+
M1_5="7"
|
263
|
+
M2= "8"
|
264
|
+
end
|
265
|
+
|
266
|
+
end
|
267
|
+
class Photo
|
268
|
+
RESOLUTION="17"
|
269
|
+
class Resolution
|
270
|
+
R12W="0"
|
271
|
+
R7W="1"
|
272
|
+
R7M="2"
|
273
|
+
R5W="3"
|
274
|
+
#HERO5 black only
|
275
|
+
R12L="10"
|
276
|
+
R12M="8"
|
277
|
+
R12N="9"
|
278
|
+
end
|
279
|
+
SPOT_METER="20"
|
280
|
+
class SpotMeter
|
281
|
+
ON="1"
|
282
|
+
OFF="0"
|
283
|
+
end
|
284
|
+
NIGHT_PHOTO_EXP="19"
|
285
|
+
class NightPhotoExp
|
286
|
+
ExpAuto="0"
|
287
|
+
Exp2Min="1"
|
288
|
+
Exp5Min="2"
|
289
|
+
Exp10Min="3"
|
290
|
+
Exp15Min="4"
|
291
|
+
Exp20Min="5"
|
292
|
+
Exp30Min="6"
|
293
|
+
end
|
294
|
+
CONTINUOUS_PHOTO_RATE="18"
|
295
|
+
class ContinuousPhotoRate
|
296
|
+
P3="0"
|
297
|
+
P5="1"
|
298
|
+
P10="2"
|
299
|
+
end
|
300
|
+
WDR_PHOTO="77"
|
301
|
+
class WDR
|
302
|
+
ON="1"
|
303
|
+
OFF="0"
|
304
|
+
end
|
305
|
+
RAW_PHOTO="82"
|
306
|
+
class RawPhoto
|
307
|
+
ON="1"
|
308
|
+
OFF="0"
|
309
|
+
end
|
310
|
+
PROTUNE_PHOTO="21"
|
311
|
+
class ProTune
|
312
|
+
ON="1"
|
313
|
+
OFF="0"
|
314
|
+
end
|
315
|
+
WHITE_BALANCE="22"
|
316
|
+
class WhiteBalance
|
317
|
+
WBAuto="0"
|
318
|
+
WB3000k="1"
|
319
|
+
WB4000k="5"
|
320
|
+
WB4800k="6"
|
321
|
+
WB5500k="2"
|
322
|
+
WB6000k="7"
|
323
|
+
WB6500k="3"
|
324
|
+
WBNative="4"
|
325
|
+
end
|
326
|
+
COLOR="23"
|
327
|
+
class Color
|
328
|
+
GOPRO="0"
|
329
|
+
Flat="1"
|
330
|
+
end
|
331
|
+
ISO_LIMIT="24"
|
332
|
+
class IsoLimit
|
333
|
+
ISO800="0"
|
334
|
+
ISO400="1"
|
335
|
+
ISO200="2"
|
336
|
+
ISO100="3"
|
337
|
+
end
|
338
|
+
ISO_MIN="75"
|
339
|
+
class IsoMin
|
340
|
+
ISO800="0"
|
341
|
+
ISO400="1"
|
342
|
+
ISO200="2"
|
343
|
+
ISO100="3"
|
344
|
+
end
|
345
|
+
SHARPNESS="25"
|
346
|
+
class Sharpness
|
347
|
+
High="0"
|
348
|
+
Med="1"
|
349
|
+
Low="2"
|
350
|
+
end
|
351
|
+
EVCOMP="26"
|
352
|
+
class EvComp
|
353
|
+
P2= "0"
|
354
|
+
P1_5="1"
|
355
|
+
P1= "2"
|
356
|
+
P0_5="3"
|
357
|
+
Zero = "4"
|
358
|
+
M0_5="5"
|
359
|
+
M1= "6"
|
360
|
+
M1_5="7"
|
361
|
+
M2= "8"
|
362
|
+
end
|
363
|
+
end
|
364
|
+
|
365
|
+
class Multishot
|
366
|
+
RESOLUTION="28"
|
367
|
+
class Resolution
|
368
|
+
R12W="0"
|
369
|
+
R7W="1"
|
370
|
+
R7M="2"
|
371
|
+
R5W="3"
|
372
|
+
#HERO5 black only
|
373
|
+
R12L="10"
|
374
|
+
R12M="8"
|
375
|
+
R12N="9"
|
376
|
+
end
|
377
|
+
|
378
|
+
SPOT_METER="33"
|
379
|
+
class SpotMeter
|
380
|
+
ON="1"
|
381
|
+
OFF="0"
|
382
|
+
end
|
383
|
+
|
384
|
+
NIGHT_LAPSE_EXP="31"
|
385
|
+
class NightLapseExp
|
386
|
+
ExpAuto="0"
|
387
|
+
Exp2Min="1"
|
388
|
+
Exp5Min="2"
|
389
|
+
Exp10Min="3"
|
390
|
+
Exp15Min="4"
|
391
|
+
Exp20Min="5"
|
392
|
+
Exp30Min="6"
|
393
|
+
end
|
394
|
+
NIGHT_LAPSE_INTERVAL="32"
|
395
|
+
class NightLapseInterval
|
396
|
+
IContinuous="0"
|
397
|
+
I4s="4"
|
398
|
+
I5s="5"
|
399
|
+
I10s="10"
|
400
|
+
I15s="15"
|
401
|
+
I20s="20"
|
402
|
+
I30s="30"
|
403
|
+
I1m="60"
|
404
|
+
I2m="120"
|
405
|
+
I5m="300"
|
406
|
+
I30m="1800"
|
407
|
+
I60m="3600"
|
408
|
+
end
|
409
|
+
TIMELAPSE_INTERVAL="30"
|
410
|
+
class TimeLapseInterval
|
411
|
+
IHalf1="0"
|
412
|
+
I1="1"
|
413
|
+
I2="2"
|
414
|
+
I5="5"
|
415
|
+
I10="10"
|
416
|
+
I30="30"
|
417
|
+
I60="60"
|
418
|
+
end
|
419
|
+
BURST_RATE="29"
|
420
|
+
class BurstRate
|
421
|
+
B3_1="0"
|
422
|
+
B5_1="1"
|
423
|
+
B10_1="2"
|
424
|
+
B10_2="3"
|
425
|
+
B10_3="4"
|
426
|
+
B30_1="5"
|
427
|
+
B30_2="6"
|
428
|
+
B30_3="7"
|
429
|
+
B30_6="8"
|
430
|
+
end
|
431
|
+
PROTUNE_MULTISHOT="21"
|
432
|
+
class ProTune
|
433
|
+
ON="1"
|
434
|
+
OFF="0"
|
435
|
+
end
|
436
|
+
WHITE_BALANCE="35"
|
437
|
+
class WhiteBalance
|
438
|
+
WBAuto="0"
|
439
|
+
WB3000k="1"
|
440
|
+
WB4000k="5"
|
441
|
+
WB4800k="6"
|
442
|
+
WB5500k="2"
|
443
|
+
WB6000k="7"
|
444
|
+
WB6500k="3"
|
445
|
+
WBNative="4"
|
446
|
+
end
|
447
|
+
COLOR="36"
|
448
|
+
class Color
|
449
|
+
GOPRO="0"
|
450
|
+
Flat="1"
|
451
|
+
end
|
452
|
+
ISO_LIMIT="37"
|
453
|
+
class IsoLimit
|
454
|
+
ISO800="0"
|
455
|
+
ISO400="1"
|
456
|
+
ISO200="2"
|
457
|
+
ISO100="3"
|
458
|
+
end
|
459
|
+
ISO_MIN="76"
|
460
|
+
class IsoMin
|
461
|
+
ISO800="0"
|
462
|
+
ISO400="1"
|
463
|
+
ISO200="2"
|
464
|
+
ISO100="3"
|
465
|
+
end
|
466
|
+
SHARPNESS="38"
|
467
|
+
class Sharpness
|
468
|
+
High="0"
|
469
|
+
Med="1"
|
470
|
+
Low="2"
|
471
|
+
end
|
472
|
+
EVCOMP="39"
|
473
|
+
class EvComp
|
474
|
+
P2= "0"
|
475
|
+
P1_5="1"
|
476
|
+
P1= "2"
|
477
|
+
P0_5="3"
|
478
|
+
Zero = "4"
|
479
|
+
M0_5="5"
|
480
|
+
M1= "6"
|
481
|
+
M1_5="7"
|
482
|
+
M2= "8"
|
483
|
+
end
|
484
|
+
end
|
485
|
+
class Livestream
|
486
|
+
RESTART = "restart"
|
487
|
+
START = "start"
|
488
|
+
STOP = "stop"
|
489
|
+
end
|
metadata
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: goprocam
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Konrad Iturbe
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2017-02-16 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
13
|
+
description: Control and view status from your GoPro HERO4/HERO5 camera via WiFi.
|
14
|
+
email: mail@chernowii.com
|
15
|
+
executables: []
|
16
|
+
extensions: []
|
17
|
+
extra_rdoc_files: []
|
18
|
+
files:
|
19
|
+
- lib/GoPro.rb
|
20
|
+
- lib/constants.rb
|
21
|
+
homepage: http://rubygems.org/gems/goprocam
|
22
|
+
licenses:
|
23
|
+
- MIT
|
24
|
+
metadata: {}
|
25
|
+
post_install_message:
|
26
|
+
rdoc_options: []
|
27
|
+
require_paths:
|
28
|
+
- lib
|
29
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
35
|
+
requirements:
|
36
|
+
- - ">="
|
37
|
+
- !ruby/object:Gem::Version
|
38
|
+
version: '0'
|
39
|
+
requirements: []
|
40
|
+
rubyforge_project:
|
41
|
+
rubygems_version: 2.6.8
|
42
|
+
signing_key:
|
43
|
+
specification_version: 4
|
44
|
+
summary: Interface for your WiFi GoPro camera.
|
45
|
+
test_files: []
|