Gateways mit der HTTP-Bridge verwenden

Wenn Sie ein Gateway mit der HTTP-Bridge verwenden, müssen Sie die Geräte an das Gateway binden. Allgemeine Informationen zur Verwendung der HTTP-Bridge mit Cloud IoT Core finden Sie unter HTTP-Bridge verwenden.

So verwenden Sie Gateways mit der HTTP-Bridge:

  1. Erstellen und konfigurieren Sie das Gateway, falls noch nicht geschehen.
  2. Erstellen Sie Geräte, falls noch nicht geschehen.
  3. Binden Sie die Geräte an das Gateway.
  4. Mit dem Gateway können Sie Telemetrieereignisse veröffentlichen und die Konfiguration eines Geräts aktualisieren.

Telemetrieereignisse des Geräts über das Gateway veröffentlichen

Nachdem Sie das Gerät an das Gateway gebunden haben, verwenden Sie die Methode publishEvent, um Telemetrieereignisse im Namen des Geräts in Cloud IoT Core zu veröffentlichen. Binärnutzlastdaten müssen base64-codiert sein.

Für zusätzliche Sicherheit können Sie das JWT des Geräts zum Senden der Nachricht anstelle des JWT des Gateways verwenden. Unabhängig davon, welches JWT Sie angeben, muss es mit dem Gerätepfad der Anfrage übereinstimmen.

JWT des Gateways verwenden:

curl -X POST -H 'authorization: Bearer GATEWAY_JWT' -H 'content-type: application/json' --data '{"binary_data": "DATA", "gateway_info": {"delegated_device_id: "device-id"}}' -H 'cache-control: no-cache' 'https://cloudiotdevice.googleapis.com/v1/projects/{project-id}/locations/{cloud-region}/registries/{registry-id}/devices/{gateway-id}:publishEvent'

JWT des Geräts verwenden:

curl -X POST -H 'authorization: Bearer DEVICE_JWT' -H 'content-type: application/json' --data '{"binary_data": "DATA", "gateway_info": {"gateway_id: "gateway-id"}}' -H 'cache-control: no-cache' 'https://cloudiotdevice.googleapis.com/v1/projects/{project-id}/locations/{cloud-region}/registries/{registry-id}/devices/{device-id}:publishEvent'

Telemetrieereignisse werden an ein Cloud Pub/Sub-Thema weitergeleitet, wie in der Google Cloud Console oder mit dem Feld eventNotificationConfigs[i].pubsubTopicName in der Geräteregistrierungsressource angegeben. Die Methode publishEvent bietet ein optionales subFolder-Feld für die Klassifizierung von Telemetrieereignissen. Weitere Informationen zum Veröffentlichen von Daten aus Unterordnern in separaten Pub/Sub-Themen finden Sie unter HTTP-Bridge verwenden.

Gerätekonfiguration über das Gateway aktualisieren

Gateways müssen explizit neue Konfigurationen für die damit verbundenen Geräte anfordern, wenn die HTTP-Bridge verwendet wird.

Verwenden Sie eine getConfig-Anfrage, um die Gerätekonfiguration abzurufen, die derzeit von Cloud IoT Core verfügbar ist. Sie können das JWT entweder vom Gateway oder vom Gerät im Header des Autorisierungsinhabers aufnehmen.

JWT des Gateways verwenden:

curl -X POST -H 'authorization: Bearer GATEWAY_JWT' -H 'content-type: application/json' --data '{"binary_data": "DATA", "gateway_info": {"delegated_device_id: "device-id"}}' -H 'cache-control: no-cache' 'https://cloudiotdevice.googleapis.com/v1/projects/{project-id}/locations/{cloud-region}/registries/{registry-id}/devices/{gateway-id}/config?local_version=0'

JWT des Geräts verwenden:

curl -X POST -H 'authorization: Bearer DEVICE_JWT' -H 'content-type: application/json' --data '{"binary_data": "DATA", "gateway_info": {"gateway_id: "gateway-id"}}' -H 'cache-control: no-cache' 'https://cloudiotdevice.googleapis.com/v1/projects/{project-id}/locations/{cloud-region}/registries/{registry-id}/devices/{device-id}/config?local_version=0'

Gerätestatus über das Gateway festlegen

Verwenden Sie eine setState-Anfrage, um den Gerätestatus an Cloud IoT Core zu melden. Statusdaten müssen base64-codiert sein. Sie können das JWT entweder vom Gateway oder vom Gerät im Header des Autorisierungsinhabers aufnehmen.

JWT des Gateways verwenden:

curl -X POST -H 'authorization: Bearer GATEWAY_JWT' -H 'content-type: application/json' --data '{"state": {"binary_data": "DATA"}, "gateway_info": {"delegated_device_id: "device-id"}}' -H 'cache-control: no-cache' 'https://cloudiotdevice.googleapis.com/v1/projects/{project-id}/locations/{cloud-region}/registries/{registry-id}/devices/{gateway-id}:setState'

JWT des Geräts verwenden:

curl -X POST -H 'authorization: Bearer DEVICE_JWT' -H 'content-type: application/json' --data '{"state": {"binary_data": "DATA"}, "gateway_info": {"gateway_id: "gateway-id"}}' -H 'cache-control: no-cache' 'https://cloudiotdevice.googleapis.com/v1/projects/{project-id}/locations/{cloud-region}/registries/{registry-id}/devices/{device-id}:setState'

Gerätestatusdaten abrufen

Wenn Sie Daten zum Gerätestatus abrufen möchten, rufen Sie die Gerätedetails in der Cloud Console auf oder verwenden Sie die API. Weitere Informationen finden Sie unter Gerätestatusdaten abrufen.