Freigeben über


Sensorintegration als Partner und Kunde in Azure Data Manager für Landwirtschaft

Führen Sie die folgenden Schritte aus, um sich als Sensorpartner zu registrieren, damit Sie mit dem Pushen Ihrer Daten in Ihre Data Manager for Agriculture-Instanz beginnen können.

Schritt 1: Aktivieren der Sensorintegration

  1. Die Sensorintegration sollte aktiviert werden, bevor sie initiiert werden kann. In diesem Schritt sind interne Azure-Ressourcen für die Sensorintegration für die Instanz "Data Manager für Landwirtschaft" erforderlich. Dazu führen Sie den folgenden Armclient-Befehl aus.
armclient patch /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.AgFoodPlatform/farmBeats/<datamanager-instance-name>?api-version=2023-06-01-preview "{properties:{sensorIntegration:{enabled:'true'}}}"

Beispielausgabe:

{
  "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. Der oben genannte Auftrag kann einige Minuten dauern, bis er abgeschlossen ist. Um den Status des Auftrags zu kennen, sollte der folgende Armclient-Befehl ausgeführt werden:
armclient get /subscriptions/<subscription-id>/resourceGroups/<resource-group-name> /providers/Microsoft.AgFoodPlatform/farmBeats/<datamanager-instance-name>?api-version=2023-06-01-preview
  1. Um zu überprüfen, ob es abgeschlossen ist, schauen Sie sich das hervorgehobene Attribut an. Sie sollte im vorherigen Schritt als "Erfolgreich" aus "Erstellen" aktualisiert werden. Das Attribut, das angibt, dass die Sensorintegration aktiviert ist, wird durch provisioningState innerhalb des sensorIntegration-Objekts angegeben.

Beispielausgabe:

{
  "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>"
}

Sobald der Bereitstellungsstatus für die Sensorintegration abgeschlossen ist, können Sensorintegrationsobjekte erstellt werden.

Schritt 2: Erstellen der Sensorpartnerintegration

Der Schritt zur Integration von Sensorpartnern sollte ausgeführt werden, um Kunden mit Anbietern zu verbinden. Der IntegrationId-Wert wird später bei der Sensorerstellung verwendet.

API-Dokumentation: Sensorpartnerintegrationen – Erstellen oder Aktualisieren

Schritt 3: Erstellen eines Sensordatenmodells

Verwenden Sie das Sensordatenmodell, um das Modell der gesendeten Telemetriedaten zu definieren. Alle vom Sensor gesendeten Telemetriedaten werden gemäß diesem Datenmodell validiert.

API-Dokumentation: Sensordatenmodelle – Erstellen oder Aktualisieren

Beispieltelemetrie

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

Entsprechendes Sensordatenmodell

{
  "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
  }
}

Schritt 4: Erstellen eines Sensors

Erstellen Sie einen Sensor mit der entsprechenden Integrations-ID und Sensordatenmodell-ID. DeviceId und HardwareId sind optionale Parameter. Falls erforderlich, können Sie die Geräte – Erstellen oder Aktualisieren verwenden, um das Gerät zu erstellen.

API-Dokumentation: Sensoren – Erstellen oder Aktualisieren

Schritt 5: Abrufen der IoTHub-Verbindungszeichenfolge

Rufen Sie die IoT Hub-Verbindungszeichenfolge ab, um Sensortelemetrie an die Plattform für den erstellten Sensor zu übertragen.

API-Dokumentation: Sensoren – Abrufen der Verbindungszeichenfolge

Schritt 6: Pushdaten mit IoT Hub

Verwenden Sie die IoT Hub-Geräte-SDKs, um die Telemetrie mithilfe der Verbindungszeichenfolge zu übertragen.

Für alle Sensortelemetrieereignisse ist „timestamp“ eine obligatorische Eigenschaft und muss im ISO 8601-Format (YYYY-MM-DDTHH:MM:SSZ) vorliegen.

Sie sind nun bereit, Sensordaten für alle Sensoren zu übertragen, indem Sie die bereitgestellten Verbindungszeichenfolgen für jeden Sensor verwenden. Sensordaten sollten jedoch im Format gesendet werden, das im in Schritt 3 erstellten Sensordatenmodell definiert ist. Ein Beispiel für das Telemetrieschema finden Sie im folgenden Beispiel:

{
	"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
} 

Nächste Schritte

  • Testen Sie hier unsere APIs.