Developer

3689671110?profile=original

*** Note this Blog post was done a long time ago, this is no longer needed with the latest Solo updates. Current Solo firmware will trigger the GoPro during an auto mission correctly, and the cam trigger messages on the data flash logs can be used for geotagging the images via mission planner or directly in software like Pix4D ***

There have been a lot of questions about how to this in several forums, I posted a solution a while ago on the Facebook Solo Mod Club page, but with all the demand I think I should also post it here. 

First understand that this is a hack that modifies some files inside the Solo and that you may or may not need to do a factory reset before you upgrade to the next version of the firmware which seems it will contain something similar to this modification. So do this at your own risk and only if you know what you are doing. 

From the comments bellow, I think this explains it better:

"With the current Solo update system, user modified files will not be updated during a software update. To get the update, either a patched version of the new file will need to be manually installed (taken from a "clean" updated copter) or a "factory/settings reset" needs performed to get the copter back into a clean state before updating.

As with any software mods, it's always best to back-up the original file before modifying it (use something like "cp file.py file.py.date.back"). The backup can then be restored before a software update and then the updated file can be patched/modded again." -- Angus Peart

The Pixhawk firmware in Solo already has everything that is needed to trigger the GoPro for survey missions. It has the logic to trigger the GoPro based on distance or by using a explicit trigger waypoint. What is missing is for the companion computer inside Solo to interpret this messages and send a command to the GoPro to take a picture. This is what my mod does. Also it creates a log file for each flight where it stores the positions of any still pictures you take with the GoPro, not just during surveys, but anytime you trigger a still. 

Here are the steps:

1. Connect your computer to the Sololink WiFi network

2. Use an FTP Client to connect to Solo (root:TjSDBkAu@10.1.1.10)

3. Make a backup of /usr/bin/shotManager.py

4. Replace /usr/bin/shotManager.py with this file:

shotManager.py

5. Reboot you Solo

From now on whenever the Pixhawk sends a trigger command the Solo will trigger the GoPro and take a still. If the GoPro is in video mode it will switch it to still, take a pic and then put it back to video. Please note that everytime the GoPro takes a still you will loose video or see artifacts on the video. This is normal, and is related to how the GoPro works. If you fly too fast the GoPro may not respond to the trigger commands fast enough. Also if it has to switch between video and still it will take longer to take a picture and you may miss pics. So set the camera to still mode before starting the flight.

Once you have finished your flight you can use FTP to pull the georef log file from the solo. You should find them in /log/geoRefxx.log where xx is the number for the log and is incremented each flight. Have fun mapping with Solo.

PS. The picture above uses something similar but with the QX1 Edison Camera trigger on an earlier article I wrote. Since Solo is Pixhawk based you can use that too.

E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones

Comments

  • Eben Broadbent 

    Did you find a solution. I'm having the same issues. 

    Eben Broadbent 

  • would you please tell me about your solo . i think it used SONY QX1 camera . how do you trigger it ?

  • My interest is in triggering a micasense camera via gps point. through tower app would be nice.

  • Is a gimbal/USB connection still needed to trigger the camera using this method? Or can it be done using just the included HDMI cable?

  • so, tried the modified py script on the solo with the latest updates and it is not working correctly anymore as far as I can tell. I am unable to change settings on the GoPro or manually trigger photos. However, once going back to the original then it works fine as expected. I am going to take a peek at the py code, perhaps the geotag.log script can just be copied into the new code? - update - not so easy :)

  • The new tower update triggers the GoPro automatically based on distance to ensure the % side and front overlap requested. However, geotagging these images after downloading them is super challenging. Hence, I hope that Jaime's fix will continue allowing this Tower auto image acquisition which works great, but also have the easy geotagging output. It would be ideal if this was in the format of a dataflash so we could automatically geotag using mission planner?

  • Moderator

    I'm currently on a closed beta for a Android mapping app called Cloud Raven.  It's compatible with Pixhawk for fixed wing, but the developers have just added support for Solo.  My Solo was the guinea pig today, and it just worked out of the box.  I don't know how it worked, but the process was.

    1.  Turn on gopro, controller, solo

    2.  Launch Cloud Raven app

    3.  Selected survey, and created a rectangle

    4.  Got GPS lock

    5.  Pressed upload mission

    6.  Pointed camera straight down

    7.  Pressed launch button

    The solo took off, and started mapping.  I wasn't sure if the camera was triggering so I launched the solo app, and the live view showed the camera taking photos.  When it was done, the solo came back, landed and powered off the motors.

    The guys plan on releasing a beta to the DIY Drones community soon.  Stay tuned.

  • @HaiTran: How?

  • Moderator

    Just successfully tested a autonomous mapping mission using  Solo+Gimbal+GoPro4 without needing to "hack" the file as described by this article. 

  • A word of caution to people replacing files (especially for ShotManager) on Solo;

    With the current Solo update system, user modified files will not be updated during a software update. To get the update, either a patched version of the new file will need to be manually installed (taken from a "clean" updated copter) or a "factory/settings reset" needs performed to get the copter back into a clean state before updating.

    As with any software mods, it's always best to back-up the original file before modifying it (use something like "cp file.py file.py.date.back"). The backup can then be restored before a software update and then the updated file can be patched/modded again.

    Have fun!

This reply was deleted.