Pour les appareils de passerelle cloud conformes à la norme GB/T 32960, transférez vers votre serveur les messages de connexion et de vérification des appareils, de désinscription et de soumission de données en utilisant la fonctionnalité de transfert de données. Vous pouvez également pousser les messages soumis par les appareils vers votre serveur via des abonnements AMQP. Cette rubrique décrit les topics et les formats de données utilisés dans le transfert de messages.
Remarques sur l'utilisation
Lorsque vous configurez le transfert de messages, tenez compte des points suivants :
Seule la nouvelle version de la fonctionnalité de transfert de données prend en charge les appareils de passerelle cloud. Pour plus d'informations, consultez Configurer un analyseur de transfert de données.
L'abonnement aux topics n'est pas pris en charge pour les appareils de passerelle cloud GB/T 32960. Vous ne pouvez pas transférer les données d'un topic vers un autre pour ces appareils.
Pour transférer les messages des appareils de passerelle cloud GB/T 32960, ajoutez l'un des types de topic suivants comme source de données : Custom, Device Status Change Notification et Device Changes Throughout Lifecycle. Pour un topic personnalisé, spécifiez le Vehicle Identification Number (VIN) du véhicule dans le nom du topic. Pour plus d'informations, consultez Ajouter une source de données.
Les abonnements côté serveur prennent uniquement en charge les types de données suivants : Device Upstream Notification, Device Status Change Notification et Device Changes Throughout Lifecycle. Pour plus d'informations, consultez Configurer un abonnement côté serveur AMQP.
Les paramètres des messages de l'appareil doivent être conformes au protocole GB/T 32960. Pour plus d'informations, consultez GB/T 32960-2016.
Connexion de l'appareil
Topic : /sys/${productKey}/${deviceName}/device/message/uplink.
{
"header": {
"command": 1,
"responseFlag": 254,
"vin": "onepart1234567891"
},
"body": {
"iccid": "12345678901234567890",
"month": 3,
"hour": 16,
"year": 23,
"subSystemNumber": 2,
"systemEncode": [
"12345678",
"87654321"
],
"systemEncodeLength": 8,
"day": 21,
"serialNo": 1,
"minute": 20,
"second": 12
}
}
**Paramètre**
|
**Type**
|
**Description**
| | --- | --- | --- | |
header
|
Object
|
Les données de l'en-tête du message.
| |
command
|
Integer
|
L'identifiant de la commande.
| |
responseFlag
|
Integer
|
L'identifiant de la réponse.
| |
vin
|
String
|
Le VIN du véhicule.
| |
body
|
Object
|
Les données du corps du message.
| |
iccid
|
String
|
L'ICCID du véhicule.
| |
year
|
Integer
|
L'année de connexion du véhicule au système.
| |
month
|
Integer
|
Le mois de connexion du véhicule au système.
| |
day
|
Integer
|
Le jour de connexion du véhicule au système.
| |
hour
|
Integer
|
L'heure de connexion du véhicule au système.
| |
minute
|
Integer
|
La minute de connexion du véhicule au système.
| |
second
|
Integer
|
La seconde de connexion du véhicule au système.
| |
subSystemNumber
|
Integer
|
Le nombre de sous-systèmes pouvant être chargés et stocker de l'électricité.
| |
systemEncode
|
List
|
Les codes des sous-systèmes.
| |
systemEncodeLength
|
Integer
|
La longueur du code.
| |
serialNo
|
Integer
|
Le numéro d'enregistrement de la connexion du véhicule.
|
Soumission du statut de l'appareil
Topic : /sys/${productKey}/${deviceName}/device/status/notify.
-
Format des données lorsqu'un appareil se connecte :
{ "protocol": "gb32960", "status":"online", "iotId":"4z819VQHk6VSLmmBJfrf00107e****", "productKey":"al12345****", "deviceName":"deviceName1234", "time":"2018-08-31 15:32:28.205", "utcTime":"2018-08-31T07:32:28.205Z", "lastTime":"2018-08-31 15:32:28.195", "utcLastTime":"2018-08-31T07:32:28.195Z", "clientIp":"192.0.2.1" } -
Format des données lorsqu'un appareil se déconnecte :
{ "protocol": "gb32960", "status":"offline", "iotId":"4z819VQHk6VSLmmBJfrf00107e****", "offlineReasonCode":427, "productKey":"al12345****", "deviceName":"deviceName1234", "time":"2018-08-31 15:32:28.205", "utcTime":"2018-08-31T07:32:28.205Z", "lastTime":"2018-08-31 15:32:28.195", "utcLastTime":"2018-08-31T07:32:28.195Z", "clientIp":"192.0.2.1" }
Description des paramètres
|
Champ |
Catégorie |
Description |
|
protocol |
String |
Pour une passerelle cloud GB/T 32960, définissez ce paramètre sur |
|
status |
String |
Le statut de l'appareil.
|
|
iotId |
String |
L'identifiant unique de l'appareil dans IoT Platform. |
|
offlineReasonCode |
Integer |
Le code d'erreur lorsque l'appareil se déconnecte. Codes d'erreur de comportement de l'appareil. |
|
productKey |
String |
L'identifiant unique du produit auquel l'appareil appartient. |
|
deviceName |
String |
Le nom de l'appareil. |
|
lastTime |
String |
Obsolète. Plus utilisé. |
|
utcLastTime |
String |
|
|
time |
String |
L'heure à laquelle l'appareil s'est connecté ou déconnecté. Les messages ne sont pas triés par heure de connexion/déconnexion. Triez-les par la valeur time. Par exemple, vous recevez les trois messages suivants dans l'ordre :
Ces trois messages indiquent que l'appareil s'est déconnecté, puis reconnecté, puis déconnecté à nouveau. |
|
utcTime |
String |
L'heure UTC à laquelle l'appareil s'est connecté ou déconnecté. |
|
clientIp |
String |
L'adresse IP publique de l'appareil. |
Soumission des données de l'appareil
Topic : /sys/${productKey}/${deviceName}/device/message/uplink.
{
"header": {
"command": 123,
"responseFlag":1,
"vin":""
},
"body": {
"data":""
}
}
**Nom du paramètre**
|
**Type de données**
|
**Description**
| | --- | --- | --- | |
header
|
Object
|
Les données de l'en-tête du message.
| |
command
|
Integer
|
L'identifiant de la commande.
| |
responseFlag
|
Integer
|
L'identifiant de la réponse.
| |
vin
|
String
|
Le VIN du véhicule.
| |
body
|
Object
|
Les données du corps du message. Le champ **data** est encodé en Base64.
|
Désinscription de l'appareil
Topic : /sys/${productKey}/${deviceName}/device/message/uplink.
{
"header": {
"command": 4,
"responseFlag": 254,
"vin": "onepart1234567891"
},
"body": {
"month": 3,
"hour": 16,
"year": 23,
"day": 21,
"minute": 20,
"second": 12,
"serialNo": 1
}
}
**Nom du paramètre**
|
**Type de données**
|
**Description**
| | --- | --- | --- | |
header
|
Object
|
Les données de l'en-tête du message.
| |
command
|
Integer
|
L'identifiant de la commande.
| |
responseFlag
|
Integer
|
L'identifiant de la réponse.
| |
vin
|
String
|
Le VIN du véhicule.
| |
body
|
Object
|
Les données du corps du message.
| |
year
|
Integer
|
L'année de désinscription du véhicule.
| |
month
|
Integer
|
Le mois de désinscription du véhicule.
| |
day
|
Integer
|
Le jour de désinscription du véhicule.
| |
hour
|
Integer
|
L'heure de désinscription du véhicule.
| |
minute
|
Integer
|
La minute de désinscription du véhicule.
| |
second
|
Integer
|
La seconde de désinscription du véhicule.
| |
serialNo
|
Integer
|
Le numéro d'enregistrement de la désinscription du véhicule.
|