Enregistrez les appareils sur IoT Platform avant qu'ils ne se connectent.
Méthodes d'enregistrement
IoT Platform prend en charge deux méthodes d'enregistrement :
-
One Device, One Secret : enregistrez l'appareil sur IoT Platform pour obtenir son certificat d'appareil (ProductKey, DeviceName et DeviceSecret). Intégrez ce certificat dans le micrologiciel de l'appareil. Une fois connecté, l'appareil peut transmettre des données à IoT Platform. One Device, One Secret.
Protocoles d'enregistrement pris en charge :
Appareil
Protocoles pris en charge
Développement de l'enregistrement côté appareil
Références
Appareil connecté directement
MQTT
HTTPS
Sous-appareil de passerelle
MQTT
Enregistrement et authentification pour les passerelles et les sous-appareils
-
One Product, One Secret : les appareils appartenant au même produit partagent un certificat de produit unique (ProductKey et ProductSecret). Activez l'enregistrement dynamique pour le produit.
Méthodes d'enregistrement dynamique :
Pré-enregistrement : enregistrez d'abord l'appareil sur IoT Platform. L'appareil obtient un DeviceSecret via l'enregistrement dynamique.
-
Sans pré-enregistrement : ignorez l'étape d'enregistrement de l'appareil sur IoT Platform. L'appareil obtient un ClientID et un DeviceToken via l'enregistrement dynamique.
RemarqueHTTPS ne prend pas en charge la méthode sans pré-enregistrement.
One Product, One Secret décrit le processus complet. Les sous-appareils de passerelle prennent uniquement en charge la méthode de pré-enregistrement. Passerelles et sous-appareils.
Protocoles d'enregistrement pris en charge :
Appareil
Protocoles pris en charge
Développement de l'enregistrement côté appareil
Description du format des données
Appareil connecté directement
MQTT
HTTPS
Sous-appareil de passerelle
MQTT
Enregistrement MQTT dynamique pour les sous-appareils
Topic de requête :
/sys/${productKey}/${deviceName}/thing/sub/registerTopic de réponse :
/sys/${productKey}/${deviceName}/thing/sub/register_reply
Format des données de requête :
{
"id": "123",
"version": "1.0",
"sys":{
"ack":0
},
"params": [
{
"deviceName": "deviceName1234",
"productKey": "a1234******"
}
],
"method": "thing.sub.register"
}
Format des données de réponse :
{
"id": "123",
"code": 200,
"data": [
{
"iotId": "12344",
"productKey": "a1234******",
"deviceName": "deviceName1234",
"deviceSecret": "xxxxxx"
}
]
}
Paramètres :
|
Paramètre |
Type |
Description |
|
id |
String |
L'identifiant du message. Doit être une chaîne numérique unique par appareil. Valeurs valides : 0 à 4294967295. |
|
version |
String |
La version du protocole. La seule valeur valide est 1.0. |
|
sys |
Object |
Paramètres de fonctionnalité étendue. Remarque
Si vous utilisez un SDK côté appareil sans configurer les fonctionnalités étendues, ce paramètre est omis et les valeurs par défaut s'appliquent. |
|
ack |
Integer |
Indique si le cloud renvoie une réponse. Champ situé sous sys.
Important
Exemples d'utilisation du modèle Thing Specification Language. Si non configuré, ce paramètre est omis et une réponse est renvoyée par défaut. |
|
params |
List |
Paramètres pour l'enregistrement dynamique d'un sous-appareil. |
|
deviceName |
String |
Le nom du sous-appareil. |
|
productKey |
String |
Le ProductKey du sous-appareil. |
|
iotId |
String |
L'identifiant unique de l'appareil. |
|
deviceSecret |
String |
Le secret de l'appareil. |
|
method |
String |
La méthode de requête. Définissez-la sur |
|
code |
Integer |
Le code de résultat. |
Codes d'erreur :
|
Code d'erreur |
Message |
Description |
|
460 |
request parameter error |
Les paramètres de requête sont invalides. |
|
6402 |
topo relation cannot add by self |
Un appareil ne peut pas être ajouté en tant que son propre sous-appareil. |
|
401 |
request auth error |
Échec de la vérification de la signature. |
Enregistrement HTTPS dynamique pour les appareils connectés directement
Modèle d'URL :
https://iot-auth.${YourRegionId}.aliyuncs.com/auth/register/device-
Méthode HTTP : POST
Format des données de requête :
POST /auth/register/device HTTP/1.1 Host: iot-auth.cn-shanghai.aliyuncs.com Content-Type: application/x-www-form-urlencoded Content-Length: 123 productKey=a1234******&deviceName=deviceName1234&random=567345&sign=adfv123hdfdh&signMethod=HmacMD5Format de réponse :
{ "code": 200, "data": { "productKey": "a1234******", "deviceName": "deviceName1234", "deviceSecret": "adsfw******" }, "message": "success" }Paramètres :
Paramètre
Type
Description
Method
String
La méthode de requête. POST uniquement.
Host
String
Le point de terminaison d'enregistrement HTTPS dynamique :
iot-auth.${YourRegionId}.aliyuncs.com.${YourRegionId}: l'ID de région de votre instance IoT Platform.-
Régions prises en charge : toutes les régions, à l'exception de Chine (Pékin) et Chine (Shenzhen).
-
ID de région : Régions prises en charge.
Content-Type
String
Le format d'encodage des données de l'appareil vers le cloud.
productKey
String
L'identifiant du produit.
deviceName
String
Le nom de l'appareil.
random
String
Un nombre aléatoire.
sign
String
La signature.
Méthode de signature :
-
Triez tous les paramètres, à l'exception de sign et signMethod, par ordre alphabétique, puis concaténez les noms et les valeurs sans délimiteur.
-
Signez la chaîne concaténée à l'aide de signMethod et du ProductSecret du produit.
Exemple de signature :
hmac_sha1(productSecret, deviceNamedeviceName1234productKeya1234******random123)signMethod
String
L'algorithme de signature. Valeurs valides : hmacmd5, hmacsha1, hmacsha256.
code
Integer
Le code de résultat.
deviceSecret
String
Le secret de l'appareil.
-