AR Drone 2/AT Commands
The AR.Drone 2 AT command protocol is used to control the AR.Drone 2 over wifi. The full documentation can be found in the documentation of The AR.Drone open API which is available at Parrot Developer. The developer guide in the Docs folder of the SDK should explain everything. The basic information is shown below.
Setting up a connection
To be able to send AT commands to the AR.Drone 2 you need to connect to the AR.Drone 2 wifi. When connected to the AR.Drone 2 wifi you need to create a connection to the AR.Drone 2 UDP port 5556, where all the AT command will be send over. Because of the latency it is advised to send AT commands every 30 milliseconds and to prevent WIFI connection lost you must send a constructive AT command every 2 seconds.
AT commands
The AT commands are encoded as 8-bit ASCII characters with a carriage return "<CR>" as a newline delimeter. All AT commands start with "AT*" followed by a command name, a equals sign, a sequence number(starting with 1, which also resets the sequence number), and optionally a list of comma-seperated arguments for the command.
Here is a short reference of all the available AT commands, for more information see the AR.Drone open API documentation.
- AT*REF (input) - Takeoff/Landing/Emergency stop command
- AT*PCMD (flag, roll, pitch, gaz, yaw) - Move the drone
- AT*PCMD_MAG (flag, roll, pitch, gaz, yaw, psi, psi accuracy) - Move the drone (With Absolute Control support)
- AT*FTRIM - Sets the reference for the horizontal plane (The drone must be on the ground)
- AT*CONFIG (key, value) - Configuration of the AR.Drone 2
- AT*CONFIG_IDS (session, user, application ids) - Identifiers for AT*CONFIG commands
- AT*COMWDG - Reset the communication watchdog
- AT*CALIB (device number) - Aks the drone to calibrate the magneto meter (The drone must be flying)