C.2 MQTT API

MQTT APIはHTTPのラッパーですが、MQTTの特性に基づいて、リクエストとレスポンスを分離する必要があります

C.2.1 リクエスト

トピックは control/{gateway_id}/v1 で、gateway_idはゲートウェイIDです リクエストペイロードは

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

其中

  • cmd_idは一意のコマンド番号で、uuidの使用を推奨します。戻りトピックのペイロードはこれと一致します
  • urlはhttp apiを参照
  • methodはhttp apiを参照
  • dataはhttp apiのリクエストボディを参照。リクエストボディがない場合は”data”:nullを使用

C.2.2 レスポンス

トピックは echo/{gateway_id}/v1 で、gateway_idはゲートウェイIDです controlトピックを送信した後、echoがあります レスポンスペイロードは

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

其中 * cmd_idは一意のコマンド番号で、controlのcmd_idと一致します * msg、リクエスト戻り値 * ret リクエストが成功した場合、値は0です。失敗した場合、http apiのhttp_statuscodeを参照してください