Passer au contenu principal

Tutoriel

Un jeton valide OAuth v2 Bearer est requis. Voir Authentification pour plus de détails.

Gestion des passerelles

Ajout d'une passerelle

Les exemples de cette section utilisent les valeurs suivantes :

Informations requisesExemple
Nom de la passerelleACME BS 1
LRR UUID7076FF-024B0B030008
Numéro de série marketing9999-KE-9999-9999

Récupération d'un modèle de passerelle

Un ID de modèle de passerelle est requis pour ajouter une passerelle. Vous pouvez récupérer un modèle de passerelle en listant les modèles de passerelle existants.

  1. Exécutez la requête REST suivante.

    GET /thingpark/wireless/rest/partners/mine/bsProfiles HTTP/1.1
    Authorization: Bearer ...
    Accept: application/json
    Cookie: JSESSIONID=gcn1wPKxdUPUW6yh8aPsAiwY.twa; GLOBALTWA=0
  2. Une réponse 200 OK devrait être retournée. Extrait l'ID du modèle de passerelle sélectionné.

    HTTP/1.1 200 OK
    Content-Type: application/json

    {
    "briefs": [
    {
    "commercialName": "Macro V1.5",
    "vendor": {
    "name": "Kerlink",
    "commercialName": "Kerlink",
    "commercialDescription": "Supplier of Internet of Things infrastructures deployments.",
    "ID": "kerlink"
    },
    "ID": "KERL/WIR2.1",
    "defaultIsmBands": [
    {
    "name": "EU 863-870MHz ISM Band",
    "ID": "eu868"
    },
    {
    "name": "US 902-928MHz ISM Band",
    "ID": "us915"
    }
    ]
    },
    ...
    ],
    "more": false
    }

Ajout de la passerelle

  1. Appeler l'opération de création de passerelle. L'exemple suivant utilise l'ID du modèle de passerelle récupéré dans la tâche précédente :

    POST /thingpark/wireless/rest/partners/mine/bss HTTP/1.1
    Authorization: Bearer ...
    Content-Type: application/json
    Accept: application/json
    Cookie: JSESSIONID=gcn1wPKxdUPUW6yh8aPsAiwY.twa; GLOBALTWA=0

    {
    "lrrUUID": "7076FF-024B0B030008",
    "smn": "9999-KE-9999-9999",
    "model": {
    "ID": "KERL/IBTS.1"
    },
    "name": "ACME BS 1",
    "bsSecurity": {
    "type": "IPSEC_X509"
    }
    }
  2. Une réponse 201 Created devrait être retournée.

    HTTP/1.1 201 Created
    Location: /thingpark/wireless/rest/partners/139/bss/1222

Récupération d'une RF region

La RF region de la passerelle doit être configurée. Vous pouvez récupérer une RF region en listant les RF regions existantes.

  1. Exécutez la requête REST suivante.

    GET /thingpark/wireless/rest/partners/mine/rfRegions HTTP/1.1
    Authorization: Bearer ...
    Accept: application/json
    Cookie: JSESSIONID=gcn1wPKxdUPUW6yh8aPsAiwY.twa; GLOBALTWA=0
  2. Une réponse 200 OK devrait être retournée. Extraire le provID de la RF region sélectionnée.

    HTTP/1.1 200 OK
    Content-Type: application/json

    {
    "briefs": [
    {
    "commercialName": "EU 863-870MHz (8 channels)",
    "commercialDescription": "This 8-channels RF Region applies to any region where the use of the 863-870 MHz ISM radio spectrum is compliant with the ETSI EN300.220 standard.",
    "commercialChangelog": "",
    "provID": "EU868_8channels.172",
    "version": 1,
    "logo": "/thingpark/wireless/rest/resources/files/logo/rFRegion/172",
    "href": "/thingpark/wireless/rest/partners/139/rfRegions/172"
    },
    ...
    ],
    "more": false
    }

Configuration de la RF region de la passerelle

  1. Appelez l'opération de mise à jour de la RF region de la passerelle. L'exemple suivant utilise le LRR UUID et le provID de la RF region récupérée dans la tâche précédente :

    POST /thingpark/wireless/rest/partners/mine/bss/u7076FF-024B0B030008/admins/updateRfRegion HTTP/1.1
    Authorization: Bearer ...
    Content-Type: application/json
    Accept: application/json
    Cookie: JSESSIONID=gcn1wPKxdUPUW6yh8aPsAiwY.twa; GLOBALTWA=0

    {
    "rfRegionID": "EU868_8channels.172"
    }
  2. Une réponse 200 OK devrait être retournée.

    HTTP/1.1 200 OK

Lister les passerelles

  1. Appelez l'opération de récupération des passerelles.

    GET /thingpark/wireless/rest/partners/mine/bss HTTP/1.1
    Authorization: Bearer ...
    Content-Type: application/json
    Accept: application/json
    Cookie: JSESSIONID=gcn1wPKxdUPUW6yh8aPsAiwY.twa; GLOBALTWA=0
  2. Vérifiez votre sortie avec l'extrait de réponse :

    HTTP/1.1 200 OK

    {
    "briefs": [
    {
    "name": "ACME BS 1",
    "model": {
    "commercialName": "Macro V1.5",
    "logo": "/thingpark/wireless/rest/resources/files/logo/baseStationProfile/5"
    },
    "lrrID": "",
    "lrrUUID": "7076FF-024B0B030008",
    "state": "ACTIVE",
    ...
    "href": "/thingpark/wireless/rest/partners/139/bss/1222"
    },
    ...
    ],
    "more": false,
    "now": 1556209037421
    }

Obtention des détails de la passerelle

La ressource de passerelle est récupérée à l'aide de l'UUID de la passerelle.

GET /thingpark/wireless/rest/partners/mine/bss/u7076FF-024B0B030008 HTTP/1.1
Authorization: Bearer ...
Content-Type: application/json
Accept: application/json
Cookie: JSESSIONID=gcn1wPKxdUPUW6yh8aPsAiwY.twa; GLOBALTWA=0

L'opération devrait renvoyer une réponse 200 OK avec la ressource de passerelle.

HTTP/1.1 200 OK

{
"now": 1556274131027,
"occContext": {
"version": 0,
"lastUpdate": 1546598395000,
"who": "John Doe"
},
"name": "ACME BS 1",
"lrrID": "10009534",
"lrrUUID": "7076FF-024B0B030008",
"identificationMode": "LRR_UUID",
"smn": "9999-KE-9999-9999",
"staticAddress": null,
"customerAdminData": null,
"state": "ACTIVE",
...
}

Vous pouvez récupérer les dernières trames uplink et downlink d'une passerelle.

Utiliser l'opération pour obtenir l'historique uplink et downlink de la passerelle.

GET /thingpark/wireless/rest/partners/mine/bss/u7076FF-024B0B030008/frames HTTP/1.1
Authorization: Bearer ...
Content-Type: application/json
Accept: application/json
Cookie: JSESSIONID=gcn1wPKxdUPUW6yh8aPsAiwY.twa; GLOBALTWA=0

L'opération devrait renvoyer une réponse 200 OK avec l'historique uplink/downlink de la passerelle. Le trafic est agrégé en pas de une heure.

HTTP/1.1 200 OK

{
"now": 1560257258301,
"briefs": [
{
"timestamp": 1559959200000,
"up": {
"count": 241,
"size": 5726,
"countOnTime": 241,
"sizeOnTime": 5726,
"countLate": 0,
"sizeLate": 0
},
"dw": {
"count": 3,
"size": 0,
"countSent": 3,
"sizeSent": 0,
"countFailed": 0,
"sizeFailed": 0
}
},
{
"timestamp": 1559970000000,
"up": {
"count": 239,
"size": 5664,
"countOnTime": 239,
"sizeOnTime": 5664,
"countLate": 0,
"sizeLate": 0
},
"dw": {
"count": 2,
"size": 0,
"countSent": 2,
"sizeSent": 0,
"countFailed": 0,
"sizeFailed": 0
}
},
...
]
}