aster94 / GoProControl

Arduino library to interface with GoPro cameras
GNU General Public License v3.0
121 stars 21 forks source link

Add support for Hero4/Hero Session, Hero5 and Hero6 #4

Closed KonradIT closed 5 years ago

KonradIT commented 6 years ago

Hola :wave:

I've added the necessary calls for the newer GoPro cameras. Hero4 (Black/Silver/Session), Hero5 (Black/Session), Hero6 (Black) react to the same commands. There are differences with framerates and photo resolutions.

Code is untested, I've ordered a NodeMCU (mine is called "D1 mini - Mini NodeMcu 4M Lua WIFI IOT development board based ESP8266") which should arrive in 5 days.

KonradIT commented 6 years ago

To do: Turn on via Wake On Lan, add more commands, get camera status?

aster94 commented 6 years ago

Hi Konrad,

I am glad to see your effort in this repository! The board you ordered has the same chip i used (ESP8266) so it would work. I may be wrong but this is your first experience with C/C++ and arduino, if i am right you may need to have a look here: https://github.com/esp8266/Arduino#installing-with-boards-manager

I will wait your test to merge the changes. meanwhile, maybe we should also add the pairing procedure? https://github.com/KonradIT/goprowifihack/blob/master/HERO4/WifiCommands.md#code-pairing or did you already add it in the commit?

que disfrutes tu nuevo arduino :v:

npaisnel commented 6 years ago

Sorry if I am putting this in the wrong place, but I cannot see a place to create a new request/question

Have only ever built one Arduino project before, this is very very new to me.

Please tell me, how does the Arduino plus this other board connect to the Go Pro, in my case as Hero 5 Black

Is it a wired connection or is it WiFi & Bluetooth.?

If wireless, can this Wake the camera after 20-25 minutes once it has gone to standby.

My overall aim is to build a motion activated remote for the GoPro for wildlife photo capture

KonradIT commented 6 years ago

Well my ESP8266 has not arrived and it's been 20 days...

aster94 commented 6 years ago

Konrad, if you took it from aliexpress/china it would need about 2 months @npaisnel what you want to do is possible and easy, you need a wireless connection but please this is not the place to discuss it, you may need to study a little about the arduino world first

npaisnel commented 6 years ago

That is great, thank you at least I now know it will be possible I can start more in depth study

npaisnel commented 6 years ago

I can ask a question directly related to this project though.

Will your code, as it is , wake the GoPro Hero 5 from sleep ?

I was under impression that camera goes to sleep after 10-20 minutes and first needs a ‘wake’ signal before responding to WiFi commands

KonradIT commented 6 years ago

Not right now, I need to figure out how to send a wake on lan command in C++

npaisnel commented 6 years ago

From other articles I have been reading, I do not believe that is possible.

When the GoPro goes to standby, Wifi is turned off and the camera goes to Bluetooth Low Energy (BLE ) mode, and only then responds to BT

KonradIT commented 6 years ago
  1. Not if we send a Magic packet every 2 seconds, then the camera will stay on with wifi on as well.
  2. Wifi goes off after 10 minutes when the camera is turned off, then it can be turned on via BLE using: https://github.com/KonradIT/gopro-ble-py
npaisnel commented 6 years ago

Ha! Maybe it was one of your article I read !

Option 1 will then obviously drain GoPro quicker, so ideally a BT module as well as WiFi on the Arduino ,

Ok, thanks

KonradIT commented 6 years ago

Just got my board, will test now.

aster94 commented 6 years ago

@npaisnel please this is not the best place to discuss your project Write here: https://github.com/aster94/GoProControl/issues

KonradIT commented 6 years ago

@aster94 what OS do you use? I'm on Arch Linux using Arduino IDE 1.8.5 and the computer does not recognize the D1 mini, /dev/ttyUSB0 is not created, neither does /dev/ttyACM0. Arduino IDE does not recognize the board (Port is grayed out). Any ideas?

aster94 commented 6 years ago

Is your user in the dialout group? https://www.arduino.cc/en/Guide/Linux sudo usermod -a -G dialout Edit: i read it again, it doesn t seem to be related to the group, i assume that the usb port is working, do you have the possibility to try the board on another computer?

KonradIT commented 5 years ago

Can we get this merged?

aster94 commented 5 years ago

Hola konrad! I am unable to test the changes since i don't own a newer camera but if you tested them i will merge them immediately

KonradIT commented 5 years ago

Works with my Hero4 and Hero5.

aster94 commented 5 years ago

done, during these holidays i will borrow a newer camere from a friend and i will add some more functions

BTW do you have any news on the new gopro 7?

KonradIT commented 5 years ago

I've had the HERO7 for a while, check goprowifihack.