Saltar al contenido

Crear un modelo de dispositivo con la API


Necesita un inquilino y un usuario con rol de administrador. Para obtener más información, consulte el tutorial Crear usuario e inquilino.

Paso 1: crear habilidad

Lo siguiente es una creación de capacidad. La capacidad se puede reutilizar ya que se puede asignar a diferentes tipos de sensores. Cada habilidad puede tener una o varias propiedades.

  1. Abra la API de administración de dispositivos:

    https://<HOST_NAME>/<INSTANCE_ID>/iot/core/api/v1/doc/

    Verá la página principal con una descripción general de las categorías.

  2. Escoger Autorización.

  3. Ingrese sus credenciales de usuario.

  4. Escoger Autorización.

  5. Sa Capacidades categoría, seleccione la POST /tenant/{tenantId}/capabilities solicitud.

  6. Escoger Pregunta a E.

  7. Sa tenantId campo, ingrese su ID de inquilino.

  8. Copia el Cadena JSON y reemplazar {CapabilityName} con el nombre de tu habilidad, sustituye {PropertyName} con nombre de propiedad, sustituto {DataTypeName} con el tipo de datos de la propiedad y otro {UnitOfMeasureName} con la unidad de medida.

    {
      "name": "{CapabilityName}",
      "properties": [
       {
          "name" : "{PropertyName}",
          "dataType" : "{DataTypeName}",
          "unitOfMeasure" : "{UnitOfMeasureName}"
        }
      ]
    }
    

    Los tipos de datos admitidos son: entero, largo, flotante, doble, booleano, cadena, binario y fecha. Para obtener más información, consulte la sección Modelo de dispositivo sa Introducción.

  9. Pega el modificador Cadena JSON sa Valor de muestra campo para la solicitud POST.

    {
      "name": "MyData",
      "properties": [
       {
          "name" : "temperature",
          "dataType" : "float",
          "unitOfMeasure" : "Celsius"
        },
        {
          "name" : "humidity",
          "dataType" : "float",
          "unitOfMeasure" : "g/kg"
        }
      ]
    }
    
  10. Escoger Ejecución.

  11. Desplácese hasta el Respuestasdel servidor cuerpo y Código. Donde tiene éxito es el código de respuesta 200 y el Cuerpo de respuesta toda la información sobre la capacidad está probada.

    {
    "id": "2bc72771-595d-483e-be50-3b0d8e372bf1",
    "name": "MyData",
    "alternateId": "ba19f8b6584cf3bd",
    "properties": [
      {
        "name": "temperature",
        "dataType": "float",
        "unitOfMeasure": "Celsius"
      },
      {
        "name": "humidity",
        "dataType": "float",
        "unitOfMeasure": "g/kg"
      }
    ]
      }
    
  12. Anote el id de la capacidad.

Hecho

Inicie sesión para responder la pregunta

Paso 2: cree un tipo de sensor

A continuación, se crea un tipo de sensor. La capacidad creada anteriormente se asigna al tipo de sensor.

  1. Ve a la SensorTypes categoría.

  2. Sa SensorTypes categoría, seleccione la POST /tenant/{tenantId}/sensorTypes solicitud.

  3. Escoger Pregunta a E.

  4. Sa tenantId campo, ingrese su ID de inquilino.

  5. Copia el Cadena JSON y reemplazar {SensorTypeName} con el nombre del tipo de sensor y sustitúyalo por otro {CapabilityId} con el id de la mencionada capacidad.

    {
      "capabilities": [
    {
      "id": "{CapabilityId}",
      "type": "{type}"
    }
      ],
      "name": "{SensorTypeName}"
    }
    
  6. Pegar el Cadena JSON sa Valor de muestra campo para aplicaciones POST.

    {
      "capabilities": [
        {
          "id": "2bc72771-595d-483e-be50-3b0d8e372bf1",
          "type": "measure"
        }
      ],
      "name": "MySensorType"
    }
    
  7. Escoger Ejecución.

  8. Desplácese hasta el Respuestasdel servidor cuerpo y Código. Donde tiene éxito es el código de respuesta 200 y el Cuerpo de respuesta Se crea toda la información del tipo de sensor.

    {
      "id": "052bbcf8-a48d-4822-ad5e-fa1765783dfb",
      "alternateId": "1",
      "name": "MySensorType",
      "capabilities": [
        {
          "id": "2bc72771-595d-483e-be50-3b0d8e372bf1",
          "type": "measure"
        }
      ]
    }
    
  9. Anote el id del tipo de sensor.

Hecho

Inicie sesión para responder la pregunta

Paso 3: crea un dispositivo

A continuación, se crea una entidad de dispositivo. La entidad del dispositivo se asignará a una puerta de enlace específica.

  1. Ve a la Puertas categoría.

  2. Sa Puertas categoría, seleccione la GET /tenant/{tenantId}/gatewayss solicitud.

  3. Escoger Pregunta a E.

  4. Sa tenantId campo, ingrese su ID de inquilino.

  5. Desplácese hasta el cuerpo de la respuesta y anote el id de la puerta con el nombre REST Gateway (por ejemplo, 3). Si desea crear un dispositivo MQTT, anote el id de la puerta con el nombre MQTT Gateway (por ejemplo, 2).

    Los identificadores de puerta se asignan por orden de aparición.

    [
      {
        "id": "2",
        "name": "MQTT Gateway",
        "protocolId": "mqtt",
        "status": "online",
        "creationTimestamp": 1510043734156,
        "alternateId": "GATEWAY_CLOUD_MQTT",
        "type": "cloud"
      },
      {
        "id": "3",
        "name": "REST Gateway",
        "protocolId": "rest",
        "status": "online",
        "creationTimestamp": 1510043734531,
        "alternateId": "GATEWAY_CLOUD_REST",
        "type": "cloud"
      }
    ]
    
  6. Ve a la Dispositivos categoría.

  7. Sa Dispositivos categoría, seleccione la POST /tenant/{tenantId}/devices solicitud.

  8. Escoger Pregunta a E.

  9. Sa tenantId campo, ingrese su ID de inquilino.

  10. Copia el Cadena JSON y reemplazar {gatewayId} con el id lo notaste antes y reemplázalo {deviceName} con el nombre de su dispositivo.

    {
      "gatewayId": "{gatewayId}",
      "name": "{deviceName}"
    }
    
    
  11. Pegar el Cadena JSON sa Valor de muestra campo para aplicaciones POST.

    {
    	"gatewayId" : "3",
    	"name": "MyDevice"
    }
    

    (Opcional) Puede configurar el dispositivo como un dispositivo de enrutador, que está autorizado para comunicarse en nombre de cualquier otro dispositivo en el mismo inquilino. Para obtener más información, consulte la sección Conéctese como un dispositivo de enrutador sa Puerta de enlace de Internet de las cosas documentación. Configure el parámetro de la siguiente manera:

    "authorizations":[{"type":"router"}]
    

    La política de autorización ya no se puede cambiar después de que se crea el dispositivo. No se admite una actualización para esta propiedad.

  12. Escoger Ejecución.

  13. Desplácese hasta el Respuestasdel servidor cuerpo y Código. Donde tiene éxito es el código de respuesta 200 y el Cuerpo de respuesta se crea toda la información sobre el dispositivo.

    {
      "id": "5",
      "gatewayId": "3",
      "name": "MyDevice",
      "alternateId": "d6e50978854c0f9b",
      "creationTimestamp": 1510049163054,
      "online": true,    
      "authentications": [
        {
          "type": "clientCertificate"
        }
      ]
    }
    
  14. Anote el id del dispositivo.

Hecho

Inicie sesión para responder la pregunta

Paso 4: crea un sensor

A continuación, se crea una entidad de sensor. El sensor se asignará al dispositivo creado anteriormente y es un tipo del tipo de sensor creado anteriormente.

  1. Ve a la Sensores categoría.

  2. Sa Sensores categoría, seleccione la POST /tenant/{tenantId}/sensors solicitud.

  3. Escoger Pregunta a E.

  4. Sa tenantId campo, ingrese su ID de inquilino.

  5. Copia el Cadena JSON y reemplazar {DeviceId} con el id del dispositivo indicado anteriormente, reemplácelo {SensorName} con el nombre de su sensor y reemplácelo con otro {SensorTypeId} con el id del tipo de sensor observado anteriormente.

    {
      "deviceId": "{DeviceId}",
      "name": "{SensorName}",
      "sensorTypeId": "{SensorTypeId}"
    }
    
  6. Pegar el Cadena JSON sa Valor de muestra campo para aplicaciones POST.

    {
      "deviceId": "5",
      "name": "MySensor",
      "sensorTypeId": "052bbcf8-a48d-4822-ad5e-fa1765783dfb"
    }
    
  7. Escoger Ejecución.

  8. Desplácese hasta el Respuestasdel servidor cuerpo y Código. Donde tiene éxito es el código de respuesta 200 y el Cuerpo de respuesta se crea toda la información sobre el sensor.

    {
      "id": "91",
      "alternateId": "716647de52209f61",
      "name": "MySensor",
      "deviceId": "5",
      "sensorTypeId": "052bbcf8-a48d-4822-ad5e-fa1765783dfb"
    }
    
  9. Anote el id del sensor.

Hecho

Inicie sesión para responder la pregunta

Paso 5: enviar datos a un sensor específico

La siguiente es una descripción de cómo se ve la carga útil para enviar datos a un dispositivo con el modelo de dispositivo probado.

  1. Puede enviar un sensor dentro de un mensaje JSON.

    {
      "capabilityAlternateId": "{capabilityAlternateId}",
      "sensorAlternateId":"{sensorAlternateId}",
      "measures":[ ["{MEASURE}"] ]
    }
    
    • Agregar el parámetro capabilityAlternateId con el ID alternativo en la capacidad creada anteriormente.

    • Agregar el parámetro sensorAlternateId con identificación alternativa del sensor creado.

    • Agregar el parámetro measures con el rango de bytes (y cada byte expresado como un objeto).

    {
      "capabilityAlternateId": "ba19f8b6584cf3bd",
      "sensorAlternateId": "716647de52209f61",
      "measures": [{ "temperature":22.4, "humidity":90 }]
    }
    

    El mensaje ya ha sido enviado. Para obtener más información sobre cómo publicar datos, consulte los tutoriales Enviar datos con MQTT y Enviar datos con REST.

  2. Puede comprobar los valores entrantes utilizando el Visualización de datos del dispositivo en Internet of Things Service Cockpit o en la API de administración de dispositivos. Para obtener más información, consulte el tutorial Medidas para el consumidor.

Hecho

Inicie sesión para responder la pregunta

Paso 6: enviar datos al sensor creado automáticamente

  1. O puede enviar datos usando el ID del tipo de sensor. En este caso, el sistema crea automáticamente un nuevo sensor con el tipo de sensor proporcionado.

    {
      "sensorAlternateId":"{sensorAlternateId}",
      "capabilityAlternateId": "{capabilityAlternateId}",
      "sensorTypeAlternateId":"{sensorTypeAlternateId}",
      "measures":[ ["{MEASURE}"] ]
    }
    
    • Agregar el parámetro sensorAlternateId con identificación de sensor alternativa que se creará.

    • Agregar el parámetro capabilityAlternateId con el ID alternativo en la capacidad creada anteriormente.

    • Agregar el parámetro sensorTypeAlternateId con el ID alternativo del tipo de sensor creado. (Se creará automáticamente un nuevo sensor relacionado con el tipo de sensor).

    • Agregar el parámetro measures con el rango de bytes (y cada byte expresado como un objeto).

    {
      "sensorAlternateId":"sensor1",
      "capabilityAlternateId": "ba19f8b6584cf3bd",
      "sensorTypeAlternateId": "1",
      "measures": [{ "temperature":22.4, "humidity":90 }]
    }
    

    El mensaje ya ha sido enviado. Para obtener más información sobre cómo publicar datos, consulte los tutoriales Enviar datos con MQTT y Enviar datos con REST.

  2. Puede comprobar los valores entrantes utilizando el Visualización de datos del dispositivo en Internet of Things Service Cockpit o en la API de administración de dispositivos. Para obtener más información, consulte el tutorial Medidas del consumidor.