Condividi tramite


Integrazione dei sensori sia come partner che come cliente in Azure Data Manager per l'agricoltura

Seguire questa procedura per registrarsi come partner del sensore in modo da poter iniziare a eseguire il push dei dati nell'istanza di Data Manager for Agriculture.

Passaggio 1: Abilitare l'integrazione dei sensori

  1. L'integrazione del sensore deve essere abilitata prima di poter essere avviata. Questo passaggio effettua il provisioning delle risorse interne di Azure necessarie per l'integrazione dei sensori per l'istanza di Data Manager per l'agricoltura. A tale scopo, eseguire il comando armclient seguente.
armclient patch /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.AgFoodPlatform/farmBeats/<datamanager-instance-name>?api-version=2023-04-01-preview "{properties:{sensorIntegration:{enabled:'true'}}}"

Output di esempio:

{
  "id": "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.AgFoodPlatform/farmBeats/<datamanager-instance-name>",
  "type": "Microsoft.AgFoodPlatform/farmBeats",
  "sku": {
    "name": "A0"
  },
  "systemData": {
    "createdBy": "<customer-id>",
    "createdByType": "User",
    "createdAt": "2022-03-11T03:36:32Z",
    "lastModifiedBy": "<customer-id>",
    "lastModifiedByType": "User",
    "lastModifiedAt": "2022-03-11T03:40:06Z"
  },
  "properties": {
    "instanceUri": "https://<datamanager-instance-name>.farmbeats.azure.net/",
    "provisioningState": "Succeeded",
    "sensorIntegration": {
      "enabled": "True",
      "provisioningState": "**Creating**"
    },
    "publicNetworkAccess": "Enabled"
  },
  "location": "eastus",
  "name": "myfarmbeats"
}
  1. Il completamento del processo precedente potrebbe richiedere alcuni minuti. Per conoscere lo stato del processo, è necessario eseguire il comando armclient seguente:
armclient get /subscriptions/<subscription-id>/resourceGroups/<resource-group-name> /providers/Microsoft.AgFoodPlatform/farmBeats/<datamanager-instance-name>?api-version=2023-04-01-preview
  1. Per verificare se è stato completato, esaminare l'attributo evidenziato. Deve essere aggiornato come "Succeeded" da "Creating" (Creazione) nel passaggio precedente. L'attributo che indica che l'integrazione del sensore è abilitata è indicata da provisioningState all'interno dell'oggetto sensorIntegration.

Output di esempio:

{
  "id": "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.AgFoodPlatform/farmBeats/<datamanager-instance-name>",
  "type": "Microsoft.AgFoodPlatform/farmBeats",
  "sku": {
    "name": "A0"
  },
  "systemData": {
    "createdBy": "<customer-id>",
    "createdByType": "User",
    "createdAt": "2022-03-11T03:36:32Z",
    "lastModifiedBy": "<customer-id>",
    "lastModifiedByType": "User",
    "lastModifiedAt": "2022-03-11T03:40:06Z"
  },
  "properties": {
    "instanceUri": "https://<customer-host-name>.farmbeats.azure.net/",
    "provisioningState": "Succeeded",
    "sensorIntegration": {
      "enabled": "True",
      "provisioningState": "**Succeeded**"
    },
    "publicNetworkAccess": "Enabled"
  },
  "tags": {
    "usage": "<sensor-partner-id>"
  },
  "location": "eastus",
  "name": "<customer-id>"
}

Una volta completato lo stato di provisioning per l'integrazione del sensore, è possibile creare oggetti di integrazione del sensore.

Passaggio 2: Creare l'integrazione del partner del sensore

Creare il passaggio di integrazione del partner del sensore deve essere eseguito per connettere il cliente al provider. L'integrationId viene usato successivamente nella creazione del sensore.

Documentazione dell'API: Integrazioni dei partner del sensore - Creare o aggiornare

Passaggio 3: Creare un modello di dati del sensore

Usare il modello di dati del sensore per definire il modello di telemetria inviato. Tutti i dati di telemetria inviati dal sensore vengono convalidati in base a questo modello di dati.

Documentazione dell'API: Modelli di dati dei sensori - Creare o aggiornare

Telemetria di esempio

{
	"pressure": 30.45,
	"temperature": 28,
	"name": "sensor-1"
}

Modello di dati del sensore corrispondente

{
  "type": "Sensor",
  "manufacturer": "Some sensor manufacturer",
  "productCode": "soil m",
  "measures": {
    "pressure": {
      "description": "measures soil moisture",
      "dataType": "Double",
      "type": "sm",
      "unit": "Bar",
      "properties": {
        "abc": "def",
        "elevation": 5
      }
    },
	"temperature": {
      "description": "measures soil temperature",
      "dataType": "Long",
      "type": "sm",
      "unit": "Celsius",
      "properties": {
        "abc": "def",
        "elevation": 5
      }
    },
	"name": {
      "description": "Sensor name",
      "dataType": "String",
      "type": "sm",
      "unit": "none",
      "properties": {
        "abc": "def",
        "elevation": 5
      }
    }
  },
  "sensorPartnerId": "sensor-partner-1",
  "id": "sdm124",
  "status": "new",
  "createdDateTime": "2022-01-24T06:12:15Z",
  "modifiedDateTime": "2022-01-24T06:12:15Z",
  "eTag": "040158a0-0000-0700-0000-61ee433f0000",
  "name": "my sdm for soil moisture",
  "description": "description goes here",
  "properties": {
    "key1": "value1",
    "key2": 123.45
  }
}

Passaggio 4: Creare un sensore

Creare un sensore usando l'ID di integrazione e l'ID del modello di dati del sensore corrispondenti. DeviceId e HardwareId sono parametri facoltativi, se necessario, è possibile usare Dispositivi - Crea o Aggiorna per creare il dispositivo.

Documentazione dell'API: Sensori - Creare o aggiornare

Passaggio 5: Ottenere i stringa di connessione IoTHub

Ottenere i stringa di connessione IoTHub per eseguire il push dei dati di telemetria dei sensori nella piattaforma per il sensore creato.

Documentazione dell'API: Sensors - Get Connessione ion String

Passaggio 6: Eseguire il push dei dati usando hub IoT

Usare hub IoT SDK per dispositivi per eseguire il push dei dati di telemetria usando il stringa di connessione.

Per tutti gli eventi di telemetria del sensore, "timestamp" è una proprietà obbligatoria e deve essere in formato ISO 8601 (AAAA-MM-GGTHH:MM:SSZ).

È ora tutto pronto per iniziare a eseguire il push dei dati dei sensori per tutti i sensori usando i rispettivi stringa di connessione forniti per ogni sensore. Tuttavia, i dati del sensore devono essere inviati nel formato definito nel modello di dati del sensore creato nel passaggio 3. Fare riferimento a un esempio dello schema di telemetria seguente:

{
	"timestamp": "2022-02-11T03:15:00Z",
	"bar": 30.181,
	"bar_absolute": 29.748,
	"bar_trend": 0,
	"et_day": 0.081,
	"humidity": 55,
	"rain_15_min": 0,
	"rain_60_min": 0,
	"rain_24_hr": 0,
	"rain_day": 0,
	"rain_rate": 0,
	"rain_storm": 0,
	"solar_rad": 0,
	"temp_out": 58.8,
	"uv_index": 0,
	"wind_dir": 131,
	"wind_dir_of_gust_10_min": 134,
	"wind_gust_10_min": 0,
	"wind_speed": 0,
	"wind_speed_2_min": 0,
	"wind_speed_10_min": 0
} 

Passaggi successivi