Last active
August 4, 2017 00:20
-
-
Save ervteng/197ae7af441c60228a1a21ff28dd3d0d to your computer and use it in GitHub Desktop.
Turning 3DR Solo into a Hotspot
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
In this guide, we will be turning the 3DR solo into a router. The controller-Solo link will be the WAN, and clients will connect to the | |
3DR solo as an AP. | |
NOTE: For each *.conf file, we have to modify the md5 hash as well. Otherwise, when the Solo boots, it will reset the files back to the factory default. | |
- Run "md5sum <full-path-to-file.conf> > <full-path-to-file.conf.md5>" after editing the file. | |
1. Change /etc/sololink.conf. Find the parameter called "APEnable" and set it to True. | |
2. Change hostapd.conf. Set the desired SSID (probably needs to be something other than the Controller's SSID) | |
3. Change dnsmasq.conf so that the Drone's DHCP server hands out IPs in the right range. Note that <3DR_Solo_address> should NOT be in the 10.1.1.X range. | |
- dhcp-option=3,<3DR_Solo_address> | |
- dhcp-option=6,<DNS_Server_address> | |
4. Change /etc/network/interfaces. | |
- Give wlan0-ap the address <3DR_Solo_address> (by default, it gives the Controller's IP, that will cause issues!) | |
- Comment out the post-up line in wlan0, (add default route 10.1.1.1), as that gets stuck on boot and wlan0-ap will never start. | |
Now, on a reboot, the drone should start broadcasting an SSID. Before rebooting, though, i'd restart /etc/init.d/netinit, /etc/init.d | |
/hostapd, and /etc/init.d/networking, in that order, and see if the SSID comes up. If something goes seriously wrong and neither wlan0 | |
nor wlan0-ap come up, you may lose access to the drone and have to do a factory reset. I did notice the Solo takes slightly longer to | |
connect to the controller after this mod, though I have flown with this configuration and didn't have any issues other than the normal | |
range issues. | |
----Using Dronekit from clients connected to 3DR Solo---- | |
Change /usr/bin/main.py. Add an additional udpout MAVConnection. | |
out2 = MAVConnection("udpout:<Client_IP_Address>:14550", source_system=254) | |
vehicle._handler.pipe(out2) | |
out2.start() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment