Google Cloud IoT Core verrà ritirato il 16 agosto 2023. Per saperne di più, contatta il team dedicato al tuo account Google Cloud.

Utilizzo dei gateway con il bridge HTTP

Quando utilizzi un gateway con il bridge HTTP, devi associare i dispositivi al gateway. Prima di iniziare, leggi Utilizzo del bridge HTTP per informazioni generali sull'uso del bridge HTTP con Cloud IoT Core.

Per utilizzare i gateway con il bridge HTTP:

  1. Crea e configura il gateway, se non lo hai già fatto.
  2. Crea dispositivi, se non l'hai ancora fatto.
  3. Associa i dispositivi al gateway.
  4. Utilizza il gateway per pubblicare eventi di telemetria e aggiornare la configurazione di un dispositivo.

Pubblicazione degli eventi di telemetria del dispositivo tramite il gateway

Dopo aver collegato il dispositivo al gateway, utilizza il metodo publishEvent per pubblicare eventi di telemetria per conto del dispositivo in Cloud IoT Core. I dati del payload binario devono essere codificati in base64.

Per maggiore sicurezza, puoi utilizzare il JWT del dispositivo per inviare il messaggio anziché il JWT del gateway. Qualsiasi JWT fornito deve corrispondere al percorso del dispositivo della richiesta.

Tramite JWT del gateway:

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'

Tramite il JWT del dispositivo:

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'

Gli eventi di telemetria vengono inoltrati a un argomento Cloud Pub/Sub, come specificato in Google Cloud Console o con il campo eventNotificationConfigs[i].pubsubTopicName nella risorsa del registro dispositivi. Il metodo publishEvent fornisce un campo subFolder facoltativo per la classificazione degli eventi di telemetria. Per scoprire come pubblicare dati dalle sottocartelle in argomenti Pub/Sub separati, consulta la pagina relativa all'utilizzo del bridge HTTP.

Aggiornamento della configurazione del dispositivo tramite gateway

I gateway devono richiedere esplicitamente nuove configurazioni per i dispositivi collegati quando utilizzano il bridge HTTP.

Per ottenere la configurazione del dispositivo attualmente disponibile da Cloud IoT Core, utilizza una richiesta getConfig. Puoi includere il JWT nel gateway o nel dispositivo nell'intestazione dell'autorizzazione di accesso.

Tramite JWT del gateway:

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'

Tramite il JWT del dispositivo:

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'

Impostazione dello stato del dispositivo tramite il gateway

Utilizza una richiesta setState per segnalare lo stato del dispositivo in Cloud IoT Core. I dati sullo stato devono essere codificati in base64. Puoi includere il JWT nel gateway o nel dispositivo nell'intestazione dell'autorizzazione di accesso.

Tramite JWT del gateway:

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'

Tramite il JWT del dispositivo:

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'

Recupero dati sullo stato del dispositivo

Per recuperare i dati sullo stato del dispositivo, visualizza i dettagli del dispositivo in Cloud Console o usa l'API. Per maggiori dettagli, vedi Recuperare i dati sullo stato del dispositivo.