Integrace senzorů jako partnera i zákazníka v Azure Data Manageru pro zemědělství

Postupujte podle následujících kroků a zaregistrujte se jako partner senzoru, abyste mohli začít nasdílat data do instance Data Manageru pro zemědělství.

Krok 1: Povolení integrace snímačů

  1. Integrace snímačů by měla být povolena před zahájením. Tento krok zřídí potřebné interní prostředky Azure pro integraci senzorů pro instanci Data Manageru pro zemědělství. Můžete to provést spuštěním následujícího příkazu armclient .
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'}}}"

Ukázkový výstup:

{
  "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. Dokončení výše uvedené úlohy může trvat několik minut. Pokud chcete zjistit stav úlohy, měl by se spustit následující příkaz armclient:
armclient get /subscriptions/<subscription-id>/resourceGroups/<resource-group-name> /providers/Microsoft.AgFoodPlatform/farmBeats/<datamanager-instance-name>?api-version=2023-04-01-preview
  1. Pokud chcete ověřit, jestli je dokončený, podívejte se na zvýrazněný atribut. V předchozím kroku by se měl aktualizovat jako úspěch z možnosti Vytvoření. Atribut, který označuje, že integrace senzoru je povolena, je označena zřizovánímState uvnitř sensorIntegration objektu.

Ukázkový výstup:

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

Po dokončení zřizování integrace senzorů je možné vytvořit objekty integrace snímačů.

Krok 2: Vytvoření integrace partnera pro senzory

Vytvořte krok integrace partnera pro senzor, který by se měl provést pro připojení zákazníka k poskytovateli. Id integrace se později použije při vytváření snímačů.

Dokumentace k rozhraní API: Integrace partnerů snímačů – Vytvoření nebo aktualizace

Krok 3: Vytvoření datového modelu snímače

Použijte datový model snímače k definování modelu odesílané telemetrie. Veškerá telemetrie odeslaná senzorem se ověří podle tohoto datového modelu.

Dokumentace k rozhraní API: Datové modely snímačů – Vytvoření nebo aktualizace

Ukázková telemetrie

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

Odpovídající datový model snímače

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

Krok 4: Vytvoření senzoru

Vytvořte senzor s použitím odpovídajícího ID integrace a ID datového modelu snímače. DeviceId a HardwareId jsou volitelné parametry, v případě potřeby můžete zařízení vytvořit pomocí zařízení – Vytvořit nebo aktualizovat .

Dokumentace k rozhraní API: Senzory – Vytvoření nebo aktualizace

Krok 5: Získání připojovací řetězec IoTHubu

Získejte připojovací řetězec IoTHubu, abyste mohli odesílat telemetrická data ze senzorů do platformy vytvořeného senzorem.

Dokumentace k rozhraní API: Senzory – Získání řetězce Připojení

Krok 6: Nasdílení dat pomocí IoT Hubu

Pomocí sad SDK zařízení služby IoT Hub odešlete telemetrii pomocí připojovací řetězec.

Pro všechny události telemetrie snímačů je "časové razítko" povinná vlastnost a musí být ve formátu ISO 8601 (RRRR-MM-DDTHH:MM:SSZ).

Teď máte všechno nastavené na to, abyste začali tlačit data snímačů pro všechny senzory pomocí příslušných připojovací řetězec poskytovaných pro každý senzor. Data ze senzorů by se ale měla odesílat ve formátu definovaném v datovém modelu senzoru vytvořeném v kroku 3. Podívejte se na příklad schématu telemetrie, které následuje:

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

Další kroky

  • Tady otestujte naše rozhraní API.