C.2 MQTT API

MQTT API ist ein Wrapper um HTTP, aber basierend auf den MQTT-Eigenschaften müssen Anfragen und Antworten getrennt werden

C.2.1 Anfrage

Topic ist control/{gateway_id}/v1, wobei gateway_id die Gateway-ID ist Anfrage-Payload ist

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

其中

  • cmd_id ist die eindeutige Befehlsnummer, es wird empfohlen, uuid zu verwenden, das Payload des Rückgabe-Topics wird damit übereinstimmen
  • url bezieht sich auf http api
  • method bezieht sich auf http api
  • data bezieht sich auf den Anfrage-Body der http api, wenn kein Anfrage-Body vorhanden ist, verwenden Sie “data”:null

C.2.2 Antwort

Topic ist echo/{gateway_id}/v1, wobei gateway_id die Gateway-ID ist Nach dem Senden des control-Topics gibt es ein echo Antwort-Payload ist

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

其中 * cmd_id ist die eindeutige Befehlsnummer, stimmt mit der cmd_id in control überein * msg, Rückgabewert der Anfrage * ret wenn die Anfrage erfolgreich ist, ist der Wert 0, wenn sie fehlschlägt, lesen Sie den http_statuscode der http api