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 für die Integration von Sensorpartnern sollte ausgeführt werden, um den Kunden mit dem Anbieter zu verbinden. Die integrationId 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 Telemetrie zu definieren. Alle vom Sensor gesendeten Telemetriedaten werden gemäß diesem Datenmodell überprüft.

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 verwenden – Erstellen oder Aktualisieren , um das Gerät zu erstellen.

API-Dokumentation: Sensoren – Erstellen oder Aktualisieren

Schritt 5: Abrufen von IoTHub-Verbindungszeichenfolge

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

API-Dokumentation: Sensoren – abrufen Verbinden ion-Zeichenfolge

Schritt 6: Pushdaten mit IoT Hub

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

Für alle Sensor-Telemetrieereignisse ist "Timestamp" eine obligatorische Eigenschaft und muss im ISO 8601-Format (JJJJ-MM-DDTHH:MM:SSZ) vorliegen.

Sie sind jetzt alle bereit, sensordaten für alle Sensoren zu pushen, indem Sie die jeweils für jeden Sensor bereitgestellten Verbindungszeichenfolge 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.