Jim McKeeth from Embarcadero has released a free component called TARDrone for Delphi XE6 Firemonkey which can control a quadricopter drone. It is specifically for the Parrot AR.Drone 2.0 device and uses UDP to communicate from your Firemonkey app. The AR.Drone device has an access point that you connect your Firemonkey device to and then the TARDrone component finds and talks to the drone device. The component is not specifically for mobile devices which means it should run on all Firemonkey platforms which are Windows, OSX, IOS, and Android. You should also be able to use it with AppMethod and Delphi XE5 without too much trouble. Additionally, because it uses UDP to talk to the drone there aren’t any special interfaces you have to make through Bluetooth or USB. The component provides animations that you can send to the drone and it will perform those animations and it provides control of the LED lights on the device among other things. There are three different versions of the drone available and one of them even includes a GPS. There is also a Developer SDK available for the AR.Drone 2.0 from the manufacturer if you want to enhance the TARDrone component. Here is a code snippet from the component:
procedure Connect;
procedure Disconnect;
procedure SendCommand(cmd, arg: string);
procedure RestrictAltitude(const Max: Integer); // between 500 to 5000
procedure UnlimitedAltitude;
procedure Config(const Key, Value: string);
procedure AnimateLEDs(const Animation: TLEDAnimation; const FreqHz: Single; const DurationSeconds: Integer);
procedure Takeoff;
procedure Land;
procedure FlatTrims; // Tell drone is is horizontal
procedure Hover;
procedure AnimateDrone(const Animation: TDroneAnimation; const DurationSeconds: Integer);
Head over and check out the full blog post by Jim including a video where he walks you through using the component and then download it off Github.