Aller au contenu principal

Spécifications des trames BLE - ELA Innovation

Informations générales sur Bluetooth

RessourceLien
Informations généraleshttps://www.bluetooth.com/bluetooth-technology
Spécifications BLEhttps://www.bluetooth.com/specifications
Services et caractéristiques BLEhttps://www.bluetooth.com/specifications/gatt

Produits concernés

  • Famille Blue pour identification et capteurs.
  • Famille Wirepas pour de l'émulation BLE.

Informations sur les données

Service Data vs Manufacturer Specific Data

À partir de la version firmware 2.0.0, il est possible d'envoyer les données via Manufacturer Specific Data en activant le paramètre Mfr. Data Enable dans la configuration NFC.

Identifiant de société ELA Innovation (CIN) : 0x0757

Trame Scan Response

Certains formats permettent d'envoyer une trame "Scan Response" contenant des informations supplémentaires (nom du tag, batterie, etc.).


Format "ID"

ByteService Data TypeMfr Spec. Data Type (≥2.0.0)
1Length: 0x02Length: 0x02
2Type: 0x01Type: 0x01
3Data: 0x06Data: 0x06
4Length: ≤0x10Length: 0x0A
5Type: 0x09Type: 0xFF
6Name[0]ELA_CIN_LSB: 0x57
7Name[1]ELA_CIN_MSB: 0x07
8Name[2]MFR_Num[0]
9Name[3]MFR_Num[1]
10Name[4]MFR_Num[2]
11Name[5]MFR_Num[3]
12Name[6]MFR_Num[4]
13Name[7]MFR_Num[5]
14Name[8]MFR_Num[6]
15Name[9]Length: ≤0x10
16-31Name / Non utiliséType: 0x09 + Name[0-14]

Format "iBeacon"

ByteVersion 1.0.0, 2.0.0Version ≥2.1.0
1Length: 0x02Length: 0x02
2Type: 0x01Type: 0x01
3Data: 0x04Data: 0x06
4Length: 0x1ALength: 0x1A
5Type: 0xFFType: 0xFF
6Apple CIN_LSB: 0x4CApple CIN_LSB: 0x4C
7Apple CIN_MSB: 0x00Apple CIN_MSB: 0x00
8Beacon type: 0x02Beacon type: 0x02
9Data size: 0x15Data size: 0x15
10-25UUID[0-15]UUID[0-15]
26-27Major[0-1]Major[0-1]
28-29Minor[0-1]Minor[0-1]
30Power TX at 1mPower TX at 1m

Note : Le nom du tag est transmis dans le Scan Response.


Format "Eddystone"

ByteValue
1Length: 0x02
2Type: 0x01
3Data: 0x06
4Length: 0x03
5Type: 0x03
6Eddystone_UUID_LSB: 0xAA
7Eddystone_UUID_MSB: 0xFE
8Length: 0x17
9Type: 0x16
10Eddystone_UUID_LSB: 0xAA
11Eddystone_UUID_MSB: 0xFE
12Frame type UUID: 0x00
13Power TX at 0m
14-23NID[0-9]
24-29BID[0-5]
30-31Reserved

Note : Le nom du tag est transmis dans le Scan Response.


Format "T" / "T EN" / "T Probe" (Température)

ByteService Data (≥1.0.0)Mfr Spec. Data (≥2.0.0)
1Length: 0x02Length: 0x02
2Type: 0x01Type: 0x01
3Data: 0x06Data: 0x06
4Length: 0x05Length: 0x06
5Type: 0x16Type: 0xFF
6Temperature carac. LSB: 0x6EELA_CIN_LSB: 0x57
7Temperature carac. MSB: 0x2AELA_CIN_MSB: 0x07
8T° Data (0.01°C) LSBTEMP_ID: 0x12
9T° Data (0.01°C) MSBT° Data (0.01°C) LSB
10Length: ≤0x10T° Data (0.01°C) MSB
11-26Type: 0x09 + Name[0-14]Length: ≤0x10 + Type: 0x09 + Name[0-14]

Résolution : 0.01°C
Exemple : 0x0A6C = 2668 → 26.68°C


Format "RHT" (Température + Humidité)

ByteService Data (≥1.0.0)Mfr Spec. Data (≥2.0.0)
1Length: 0x02Length: 0x02
2Type: 0x01Type: 0x01
3Data: 0x06Data: 0x06
4Length: 0x05Length: 0x08
5Type: 0x16Type: 0xFF
6Temperature carac. LSB: 0x6EELA_CIN_LSB: 0x57
7Temperature carac. MSB: 0x2AELA_CIN_MSB: 0x07
8T° Data (0.01°C) LSBRHT_DATA_ID: 0x21
9T° Data (0.01°C) MSBRH Data (%)
10Length: 0x04TEMP_DATA_ID: 0x12
11Type: 0x16T° Data (0.01°C) LSB
12Humidity carac. LSB: 0x6FT° Data (0.01°C) MSB
13Humidity carac. MSB: 0x2ALength: ≤0x10
14RH Data (%)Type: 0x09
15-31Length: ≤0x10 + Type: 0x09 + Name[0-14]Name[0-14]

Résolution température : 0.01°C
Résolution humidité : 1%


Format "MAG" (Magnétique)

ByteService Data (≥2.0.0)Mfr Spec. Data (≥2.0.0)
1Length: 0x02Length: 0x02
2Type: 0x01Type: 0x01
3Data: 0x06Data: 0x06
4Length: 0x05Length: 0x06
5Type: 0x16Type: 0xFF
6Alert Level carac. LSB: 0x06ELA_CIN_LSB: 0x57
7Alert Level carac. MSB: 0x2AELA_CIN_MSB: 0x07
8MAG Data (cnt + state) LSBMAG_DATA_ID: 0x32
9MAG Data (cnt + state) MSBMAG Data (cnt + state) LSB
10Length: 0x04MAG Data (cnt + state) MSB
11Type: 0x16Length: ≤0x10
12Alert Status carac. LSB: 0x3FType: 0x09
13Alert Status carac. MSB: 0x2AName[0-14]
14-31Data: 0x00 + Length: ≤0x10 + Type: 0x09 + Name[0-14]

Données MAG :

  • Bits 0-14 : Compteur d'événements (0-32767)
  • Bit 15 : État de l'aimant (0 = absent, 1 = présent)

Format "MOV" (Mouvement)

ByteService Data (≥2.0.0)Mfr Spec. Data (≥2.0.0)
1Length: 0x02Length: 0x02
2Type: 0x01Type: 0x01
3Data: 0x06Data: 0x06
4Length: 0x05Length: 0x06
5Type: 0x16Type: 0xFF
6Alert Level carac. LSB: 0x06ELA_CIN_LSB: 0x57
7Alert Level carac. MSB: 0x2AELA_CIN_MSB: 0x07
8MOV Data (cnt + state) LSBMOV_DATA_ID: 0x42
9MOV Data (cnt + state) MSBMOV Data (cnt + state) LSB
10Length: 0x04MOV Data (cnt + state) MSB
11Type: 0x16Length: ≤0x10
12Alert Status carac. LSB: 0x3FType: 0x09
13Alert Status carac. MSB: 0x2AName[0-14]
14-31Data: 0x01 + Length: ≤0x10 + Type: 0x09 + Name[0-14]

Données MOV :

  • Bits 0-14 : Compteur d'événements (0-32767)
  • Bit 15 : État de mouvement (0 = aucun mouvement, 1 = mouvement en cours)

Format "ANG" (Accéléromètre 3 axes)

ByteService Data (≥1.0.0)Mfr Spec. Data (≥2.0.0)
1Length: 0x02Length: 0x02
2Type: 0x01Type: 0x01
3Data: 0x06Data: 0x06
4Length: 0x09Length: 0x0A
5Type: 0x16Type: 0xFF
6MAG 3D carac. LSB: 0xA1ELA_CIN_LSB: 0x57
7MAG 3D carac. MSB: 0x2AELA_CIN_MSB: 0x07
8Accel. Data X axis (mg) LSBANG_DATA_ID: 0x56
9Accel. Data X axis (mg) MSBAccel. Data X axis (mg) LSB
10Accel. Data Y axis (mg) LSBAccel. Data X axis (mg) MSB
11Accel. Data Y axis (mg) MSBAccel. Data Y axis (mg) LSB
12Accel. Data Z axis (mg) LSBAccel. Data Y axis (mg) MSB
13Accel. Data Z axis (mg) MSBAccel. Data Z axis (mg) LSB
14-31Length: ≤0x10 + Type: 0x09 + Name[0-14]Accel. Data Z axis (mg) MSB + Length: ≤0x10 + Type: 0x09 + Name[0-14]

Résolution : 1 mg (milli-g)
Format : Entier signé 16 bits (complément à deux)


Format "DIGI IN" (Entrée numérique)

ByteService Data (≥2.0.0)Mfr Spec. Data (≥2.0.0)
1Length: 0x02Length: 0x02
2Type: 0x01Type: 0x01
3Data: 0x06Data: 0x06
4Length: 0x05Length: 0x06
5Type: 0x16Type: 0xFF
6Alert Level carac. LSB: 0x06ELA_CIN_LSB: 0x57
7Alert Level carac. MSB: 0x2AELA_CIN_MSB: 0x07
8DI Data (cnt + state) LSBDIGI_IN_DATA_ID: 0x62
9DI Data (cnt + state) MSBDI Data (cnt + state) LSB
10Length: 0x04DI Data (cnt + state) MSB
11Type: 0x16Length: ≤0x10
12Alert Status carac. LSB: 0x3FType: 0x09
13Alert Status carac. MSB: 0x2AName[0-14]
14-31Data: 0x02 + Length: ≤0x10 + Type: 0x09 + Name[0-14]

Données DI :

  • Bits 0-14 : Compteur d'événements (0-32767)
  • Bit 15 : État de l'entrée (0 = relâché, 1 = appuyé)

Format "Analog IN" (Entrée analogique)

ByteService Data (≥2.0.0)Mfr Spec. Data (≥2.0.0)
1Length: 0x02Length: 0x02
2Type: 0x01Type: 0x01
3Data: 0x06Data: 0x06
4Length: 0x05Length: 0x06
5Type: 0x16Type: 0xFF
6Analog Out carac. LSB: 0x58ELA_CIN_LSB: 0x57
7Analog Out carac. MSB: 0x2AELA_CIN_MSB: 0x07
8Analog Data measure (mV) LSBAN_IN_DATA_ID: 0x72
9Analog Data measure (mV) MSBAnalog Data measure (mV) LSB
10-31Length: ≤0x10 + Type: 0x09 + Name[0-14]Analog Data measure (mV) MSB + Length: ≤0x10 + Type: 0x09 + Name[0-14]

Résolution : 1 mV
Format : Entier non signé 16 bits


Format "DIGI OUT" (Sortie numérique)

ByteValue
1Length: 0x02
2Type: 0x01
3Data: 0x06
4Length: 0x0A
5Type: 0xFF
6ELA_CIN_LSB: 0x57
7ELA_CIN_MSB: 0x07
8MFR_NUM_ID: 0x86
9-14MFR_Num[0-5]
15Length: ≤0x10
16Type: 0x09
17-31Name[0-14]

MFR_Num : Numéro hexadécimal configurable (max 0xFFFFFFFFFFFF)


Format "PIR" (Détecteur de présence)

ByteService Data (≥3.0.1)Mfr Spec. Data (≥3.0.1)
1Length: 0x02Length: 0x02
2Type: 0x01Type: 0x01
3Data: 0x06Data: 0x06
4Length: 0x05Length: 0x06
5Type: 0x16Type: 0xFF
6Rainfall Carac. LSB: 0x78ELA_CIN_LSB: 0x57
7Rainfall Carac. MSB: 0x2AELA_CIN_MSB: 0x07
8PIR Data (cnt + state) LSBPIR_DATA_ID: 0x92
9PIR Data (cnt + state) MSBPIR Data (cnt + state) LSB
10-31Length: ≤0x0F + Type: 0x09 + Name[0-14]PIR Data (cnt + state) MSB + Length: ≤0x0F + Type: 0x09 + Name[0-14]

Données PIR :

  • Bits 0-14 : Compteur d'événements (0-32767)
  • Bit 15 : État de détection (0 = aucun mouvement détecté, 1 = mouvement détecté)

Informations sur la batterie

Capacité de la batterie

La capacité de la batterie est transmise dans le Scan Response lorsqu'elle descend en dessous de 15%.

Service Data (Version 1.0.0, 2.0.0, 2.1.x)

ByteValue
1Length: 0x04
2Type: 0x16
3Battery Serv. LSB: 0x0F
4Battery Serv. MSB: 0x18
5Batt. data (%)

Service Data (Version ≥2.2.0)

ByteValue
1Length: 0x04
2Type: 0x16
3Battery Serv. LSB: 0x19
4Battery Serv. MSB: 0x2A
5Batt. data (%)

Mfr Spec. Data (Version ≥2.0.0)

ByteValue
1Length: 0x05
2Type: 0xFF
3ELA_CIN_LSB: 0x57
4ELA_CIN_MSB: 0x07
5BATT_DATA_ID: 0xF1
6Batt. data (%)

Tension de la batterie (Version ≥3.0.0)

Disponible si le paramètre "Battery voltage presence" est activé dans la configuration NFC.

ByteValue
1Length: 0x06
2Type: 0xFF
3ELA_CIN_LSB: 0x57
4ELA_CIN_MSB: 0x07
5BATT_DATA_ID: 0xF2
6Batt. voltage (mV) LSB
7Batt. voltage (mV) MSB

Résolution : 1 mV


Notes de version

Version 1.0.0

  • Transmission du Battery Service dans le Scan Response lorsque la batterie descend en dessous de 15%
  • Suppression du Nordic UART Service (NUS) du Scan Response

Version 2.0.0

  • Nom du tag envoyé dans le Scan Response pour iBeacon/Eddystone
  • Identifiant de société ELA Innovation : 0x0757
  • Ajout du champ "ID Manufacturer Data" pour les formats ELA_ID et DIGI_OUT

Version 2.1.0

  • Renommage TOR IN → DIGI IN et TOR OUT → DIGI OUT

Version 2.2.0

  • Données de batterie dans le Battery Level service (0x2A19)
  • Type d'adresse MAC changé de Random à Public

Version 3.0.0

  • Possibilité de transmettre la tension de la batterie dans le Scan Response

Ressources

Code d'exemple disponible sur : https://github.com/elaInnovation

Documentation complète : www.elainnovation.com


Document non contractuel - Les spécifications peuvent être modifiées sans notification