MiniDrone Characteristics UUID


#1

Product: Airborne Cargo

Hi,

I’m working with/on the Node library https://github.com/fetherston/npm-parrot-minidrone wich is really great and I’m implementing new features.

I’m using https://github.com/Parrot-Developers/arsdk-xml/blob/master/xml/minidrone.xml as a reference for writing commands, no problem here but to read characteristics I don’t find any info on uuid meaning.

I checked all services and characteristics from my minidrone but name is almost allways empty, is there any documentation on what each uuid correspond to ?

For example I would like to get NavigationDataState (class 18) / DronePosition (command 0) but I don’t know wich uuid correspond to this characteristics.

Here is an example of services and characteristics that I found, it would be awesome if we can get the use of each one :slight_smile:

Services

{“uuid”:“1800”,“name”:“Generic Access”,“type”:“org.bluetooth.service.generic_access”,“includedServiceUuids”:null},
{“uuid”:“1801”,“name”:“Generic Attribute”,“type”:“org.bluetooth.service.generic_attribute”,“includedServiceUuids”:null},
{“uuid”:“9a66fa000800919111e4012d1540cb8e”,“name”:null,“type”:null,“includedServiceUuids”:null},
{“uuid”:“9a66fb000800919111e4012d1540cb8e”,“name”:null,“type”:null,“includedServiceUuids”:null},
{“uuid”:“9a66fc000800919111e4012d1540cb8e”,“name”:null,“type”:null,“includedServiceUuids”:null},
{“uuid”:“9a66fd210800919111e4012d1540cb8e”,“name”:null,“type”:null,“includedServiceUuids”:null},
{“uuid”:“9a66fd510800919111e4012d1540cb8e”,“name”:null,“type”:null,“includedServiceUuids”:null},
{“uuid”:“9a66fe000800919111e4012d1540cb8e”,“name”:null,“type”:null,“includedServiceUuids”:null}

Characteristics

{“uuid”:“2a00”,“name”:“Device Name”,“type”:“org.bluetooth.characteristic.gap.device_name”,“properties”:[“read”]},
{“uuid”:“2a01”,“name”:“Appearance”,“type”:“org.bluetooth.characteristic.gap.appearance”,“properties”:[“read”]},
{“uuid”:“2a04”,“name”:“Peripheral Preferred Connection Parameters”,“type”:“org.bluetooth.characteristic.gap.peripheral_preferred_connection_parameters”,“properties”:[“read”]},
{“uuid”:“2a05”,“name”:“Service Changed”,“type”:“org.bluetooth.characteristic.gatt.service_changed”,“properties”:[“indicate”]},
{“uuid”:“9a66ffc10800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“writeWithoutResponse”,“write”]},
{“uuid”:“9a66fd220800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“read”,“writeWithoutResponse”,“write”,“notify”]},
{“uuid”:“9a66fd230800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“read”,“writeWithoutResponse”,“write”,“notify”]},
{“uuid”:“9a66fd240800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“read”,“writeWithoutResponse”,“write”,“notify”]},
{“uuid”:“9a66fd520800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“read”,“writeWithoutResponse”,“write”,“notify”]},
{“uuid”:“9a66fd530800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“read”,“writeWithoutResponse”,“write”,“notify”]},
{“uuid”:“9a66fd540800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“read”,“writeWithoutResponse”,“write”,“notify”]},
{“uuid”:“9a66fe010800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“writeWithoutResponse”,“write”]},
{“uuid”:“9a66fe020800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“read”,“writeWithoutResponse”,“write”,“notify”]},
{“uuid”:“9a66fa000800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“writeWithoutResponse”]},
{“uuid”:“9a66fa010800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“writeWithoutResponse”]},
{“uuid”:“9a66fa020800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“writeWithoutResponse”]},
{“uuid”:“9a66fa030800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“writeWithoutResponse”]},
{“uuid”:“9a66fa040800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“writeWithoutResponse”]},
{“uuid”:“9a66fa050800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“writeWithoutResponse”]},
{“uuid”:“9a66fa060800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“writeWithoutResponse”]},
{“uuid”:“9a66fa070800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“writeWithoutResponse”]},
{“uuid”:“9a66fa080800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“writeWithoutResponse”]},
{“uuid”:“9a66fa090800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“writeWithoutResponse”]},
{“uuid”:“9a66fa0a0800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“writeWithoutResponse”]},
{“uuid”:“9a66fa0b0800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“writeWithoutResponse”]},
{“uuid”:“9a66fa0c0800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“writeWithoutResponse”]},
{“uuid”:“9a66fa0d0800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“writeWithoutResponse”]},
{“uuid”:“9a66fa0e0800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“writeWithoutResponse”]},
{“uuid”:“9a66fa0f0800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“writeWithoutResponse”]},
{“uuid”:“9a66fa100800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“writeWithoutResponse”]},
{“uuid”:“9a66fa110800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“writeWithoutResponse”]},
{“uuid”:“9a66fa120800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“writeWithoutResponse”]},
{“uuid”:“9a66fa130800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“writeWithoutResponse”]},
{“uuid”:“9a66fa140800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“writeWithoutResponse”]},
{“uuid”:“9a66fa150800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“writeWithoutResponse”]},
{“uuid”:“9a66fa160800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“writeWithoutResponse”]},
{“uuid”:“9a66fa170800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“writeWithoutResponse”]},
{“uuid”:“9a66fa180800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“writeWithoutResponse”]},
{“uuid”:“9a66fa190800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“writeWithoutResponse”]},
{“uuid”:“9a66fa1a0800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“writeWithoutResponse”]},
{“uuid”:“9a66fa1b0800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“writeWithoutResponse”]},
{“uuid”:“9a66fa1c0800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“writeWithoutResponse”]},
{“uuid”:“9a66fa1d0800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“writeWithoutResponse”]},
{“uuid”:“9a66fa1e0800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“writeWithoutResponse”]},
{“uuid”:“9a66fa1f0800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“writeWithoutResponse”]},
{“uuid”:“9a66fb000800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“notify”]},
{“uuid”:“9a66fb010800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“notify”]},
{“uuid”:“9a66fb020800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“notify”]},
{“uuid”:“9a66fb030800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“notify”]},
{“uuid”:“9a66fb040800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“notify”]},
{“uuid”:“9a66fb050800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“notify”]},
{“uuid”:“9a66fb060800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“notify”]},
{“uuid”:“9a66fb070800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“notify”]},
{“uuid”:“9a66fb080800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“notify”]},
{“uuid”:“9a66fb090800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“notify”]},
{“uuid”:“9a66fb0a0800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“notify”]},
{“uuid”:“9a66fb0b0800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“notify”]},
{“uuid”:“9a66fb0c0800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“notify”]},
{“uuid”:“9a66fb0d0800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“notify”]},
{“uuid”:“9a66fb0e0800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“notify”]},
{“uuid”:“9a66fb0f0800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“notify”]},
{“uuid”:“9a66fb100800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“notify”]},
{“uuid”:“9a66fb110800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“notify”]},
{“uuid”:“9a66fb120800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“notify”]},
{“uuid”:“9a66fb130800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“notify”]},
{“uuid”:“9a66fb140800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“notify”]},
{“uuid”:“9a66fb150800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“notify”]},
{“uuid”:“9a66fb160800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“notify”]},
{“uuid”:“9a66fb170800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“notify”]},
{“uuid”:“9a66fb180800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“notify”]},
{“uuid”:“9a66fb190800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“notify”]},
{“uuid”:“9a66fb1a0800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“notify”]},
{“uuid”:“9a66fb1b0800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“notify”]},
{“uuid”:“9a66fb1c0800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“notify”]},
{“uuid”:“9a66fb1d0800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“notify”]},
{“uuid”:“9a66fb1e0800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“notify”]},
{“uuid”:“9a66fb1f0800919111e4012d1540cb8e”,“name”:null,“type”:null,“properties”:[“notify”]}

Thanks for your help !


AIRBORNE CARGO Bluetooh LE Specifications?
Details for BlueTooth Commands (I'm writing a C# wrapper for Windows 10)
#2

No chance to get this ?


#3

Hi,

Sorry for the delay. We have a custom usage of these characteristics. Here is how it is done:

Services
Short UUID of published services are (Controller side):

ARCOMMAND_SENDING_SERVICE         "FA00" 
ARCOMMAND_RECEIVING_SERVICE       "FB00" 
PERFORMANCE_COUNTER_SERVICE       "FC00" 
NORMAL_BLE_FTP_SERVICE            "FD21" 
UPDATE_BLE_FTP_SERVICE            "FD51" 
UPDATE_RFCOMM_SERVICE             "FE00" 

Short UUIDs are derived from the 3rd and 4th bytes of the BLE service full UUID.

For exemple for a sending service UUID:
    9a66fa00-0800-9191-11e4-012d1540cb8e

ARCOMMAND_SENDING_SERVICE is used to send commands to the drone.
ARCOMMAND_RECEIVING_SERVICE to receives notification from the drone.

Characteristics
ARCOMMAND_SENDING_SERVICE and ARCOMMAND_RECEIVING_SERVICE each have 16 characteristics corresponding to the 16 IO channels.

Send characteristics
ARCOMMAND_SENDING_SERVICE characteristics are configured in mode “Write Without Response”.

Only the four following characteristics are used for sending:


Characteristic id	Channel use
0x0A (10)	    Send commands to device without ACK
0x0B (11)	    Send commands to device with ACK
0x0C (12)	    Send high priority commands to device
0x1E (30)	    Acknowledge received commands with ACK

Receive characteristics
ARCOMMAND_RECEIVING_SERVICE characteristics are configured in mode “Notify”.

Only the four following characteristics are used for receiving:


Characteristic id	Channel use
0x0E (14)	    Receive commands with ACK
0x0F (15)	    Receive commands without ACK
0x1B (27)	    Acknowledgment for device commands with ACK
0x1C (28)	    Acknowledgment for high priority commands

Characteristic ids are derived from the 4th byte of the BLE characteristic full UUID.

For exemple for the no-ACK send command characteristic id:
    9a66fa0a-0800-9191-11e4-012d1540cb8e

Hope this helps,
Best regards,
Djavan


Minidrone takeoff with BLED112 dongle
#4

Hi Djavan,

Thanks, I think it will help :slight_smile:


#5

Would you recommand initialize sequence for minidrone?
As you recommanded before I put the "AllSettings, AllState and Date and Time commands " after notification, which works fine for RollingSpider.
However, same code is not working for MAMBO.
Mambo would not respond any Notification command.

Do you know why?.


#6

Mambo should act the same as RollingSpider.


#7

Thanks, reparing mambo after removing all minidrone paring makes it works.


#8

What are the two services listed at UUID: 00001800-0000-1000-8000-00805f9b34fb and 00001801-0000-1000-8000-00805f9b34fb ? They have characteristics being advertised with them but they are not on your list. 1800 has 3 READ characteristics and 1801 has one labeled INDICATE.

Thanks!


#9

1800 contains ‘Device Name’ and ‘Appearance’ and 1801 has ‘Service Changed’.