C.2 MQTT API

MQTT API es un envoltorio alrededor de HTTP, pero basado en las características de MQTT, las solicitudes y respuestas deben separarse

C.2.1 Solicitud

El topic es control/{gateway_id}/v1 donde gateway_id es el ID del gateway El payload de la solicitud es

{
  "cmd_id": "uuid",
  "method": "PUT",
  "url": "/api/device/{device_name}/control_by_name",
  "data": {
    "key": "M100",
    "value": 1,
    "value_type": 1
  }
}

其中

  • cmd_id es el número de comando único, se recomienda usar uuid, el payload del topic de retorno coincidirá con él
  • url se refiere a http api
  • method se refiere a http api
  • data se refiere al cuerpo de la solicitud de http api, si no hay cuerpo de solicitud, use “data”:null

C.2.2 Respuesta

El topic es echo/{gateway_id}/v1 donde gateway_id es el ID del gateway Después de enviar el topic control, habrá un echo El payload de la respuesta es

{
  "cmd_id": "uuid",
  "msg": "OK",
  "ret": 0
}

其中 * cmd_id es el número de comando único, coincide con el cmd_id en control * msg, valor de retorno de la solicitud * ret si la solicitud es exitosa, el valor es 0, si falla, consulte el http_statuscode de http api