can anyone advise me on a drone brand or something that comes with an "API" that allows me to use it like a programmable interface, on the fly. Would love to write some script to make my drones do predefined things depending on API calls - any clues?
Lots of no-name or DIY drones use flight controller running a BetaFlight [1] firmware, which is open source and quite hackable. If you want low-level real-time programmatic control (like manipulating servos, lights or camera), that is most likely the easiest way. There is also ArduPilot [2] firmware, which is focused more on the high-level control (like managing GPS waypoints and autonomous takeoff/landing). In both…
I Reversed a Drone and Landed It with My PC
31–40 of 51 posts
Re: I Reversed a Drone and Landed It with My PC
#32Are Parrot drones insecure or deliberately built with zero security? I thought they're French made, and France tended to be more scared with technological resistance to government interventions than US or China.
What are you talking about? The Anafi drone uses regular wifi, with ESSID and password, and that's how the security is achieved. There is no need for additional encryption on protocol level. It's really the best way - instead of making ad-hoc security mechanisms, rely on well-researched and well-tested wifi security. (That first sentence, "Start by connecting your PC to the Parrot Anafi’s Wi-Fi network", really carri…
So I assumed ever since that they have their unique opinions about security and architecture of a flying machine control software. Is that odd?
Re: I Reversed a Drone and Landed It with My PC
#33Earlier quoted context omitted.
Lots of no-name or DIY drones use flight controller running a BetaFlight [1] firmware, which is open source and quite hackable. If you want low-level real-time programmatic control (like manipulating servos, lights or camera), that is most likely the easiest way. There is also ArduPilot [2] firmware, which is focused more on the high-level control (like managing GPS waypoints and autonomous takeoff/landing). In both…
Any reason BetaFlight doesn't appear to have even basic pre-shared key symmetric encryption? Some ciphers aren't that CPU intensive.
That and lack of demand. Most people are nice, key management is PITA, losing expensive toy from a crypto library bug is going to be frustrating.
WPA2 should be still strong enough for most purposes too(threat_model != CIA).
Re: I Reversed a Drone and Landed It with My PC
#34I am confused... isn't Parrot's ground SDK open source? https://github.com/Parrot-Developers/groundsdk-android Why reverse it?
I wonder if the proprietary packet they decoded here is actually just a MAV_CMD_DO_SET_MODE setting the drone into a takeoff flight mode.
Re: I Reversed a Drone and Landed It with My PC
#35Earlier quoted context omitted.
Lots of no-name or DIY drones use flight controller running a BetaFlight [1] firmware, which is open source and quite hackable. If you want low-level real-time programmatic control (like manipulating servos, lights or camera), that is most likely the easiest way. There is also ArduPilot [2] firmware, which is focused more on the high-level control (like managing GPS waypoints and autonomous takeoff/landing). In both…
Any reason BetaFlight doesn't appear to have even basic pre-shared key symmetric encryption? Some ciphers aren't that CPU intensive.
Lack of OTA frames encryption, as far as I can tell, is mostly due to legacy reasons. In DYI FPV there are only couple of transmission standards, most of them using 2.4GHz FHSS or some CC2500 clone so you can mix-and-match transmitters and receivers as you wish. If you use custom TX/RX devices, you are pretty much locked in to that specific vendor. Also, designing a nice transmitter UX-wise requires quite a different skillset than designing nice transmitter RF-wise, so manufacturers tend to choose off-the-shelf RF modules.
Re: I Reversed a Drone and Landed It with My PC
#36Earlier quoted context omitted.
Lots of no-name or DIY drones use flight controller running a BetaFlight [1] firmware, which is open source and quite hackable. If you want low-level real-time programmatic control (like manipulating servos, lights or camera), that is most likely the easiest way. There is also ArduPilot [2] firmware, which is focused more on the high-level control (like managing GPS waypoints and autonomous takeoff/landing). In both…
Any reason BetaFlight doesn't appear to have even basic pre-shared key symmetric encryption? Some ciphers aren't that CPU intensive.
With the exception of low-cost consumer drones, most larger drones have at least a "Flight Controller" (embedded MCU handling guidance, navigation, and control) and a "Flight Computer" (Higher level *nix based computer running autonomy software), and the flight computer is IMO a more appropriate place to put this.
You could encrypt any Mavlink or proprietary protocol at the application layer if you're using an IP link, or you could also just rely on the telemetry radio to perform encryption between the drone and your ground station.
Re: I Reversed a Drone and Landed It with My PC
#37can anyone advise me on a drone brand or something that comes with an "API" that allows me to use it like a programmable interface, on the fly. Would love to write some script to make my drones do predefined things depending on API calls - any clues?
Re: I Reversed a Drone and Landed It with My PC
#38Re: I Reversed a Drone and Landed It with My PC
#39I am confused... isn't Parrot's ground SDK open source? https://github.com/Parrot-Developers/groundsdk-android Why reverse it?
Re: I Reversed a Drone and Landed It with My PC
#40Earlier quoted context omitted.
Any reason BetaFlight doesn't appear to have even basic pre-shared key symmetric encryption? Some ciphers aren't that CPU intensive.
BetaFlight doesn't deal with over-the-air bits, it just receives PWM/PPM/S-Bus/whatever signals your receiver provides. There is no point to have encryption in firmware, because connection between RX and FC is hardwired and can be trusted. Lack of OTA frames encryption, as far as I can tell, is mostly due to legacy reasons. In DYI FPV there are only couple of transmission standards, most of them using 2.4GHz FHSS or…
Pretty much everyone in FPV is now using ExpressLRS, which is an open protocol. If you want an encrypted air link, then the best option I'm aware of is the proprietary TBS Crossfire protocol.