Delen via


Zelfstudie: Azure Stream Analytics implementeren als een IoT Edge-module

Van toepassing op:IoT Edge 1.5-vinkje IoT Edge 1.5

Belangrijk

IoT Edge 1.5 LTS is de ondersteunde release. IoT Edge 1.4 LTS is het einde van de levensduur vanaf 12 november 2024. Raadpleeg IoT Edge bijwerken als u een eerdere versie hebt.

In deze zelfstudie maakt u een Azure Stream Analytics-taak in Azure Portal en implementeert u deze als een IoT Edge-module zonder extra code.

In deze handleiding leer je hoe je:

  • Een Azure Stream Analytics-taak maken om gegevens te verwerken.
  • Verbinding maken tussen de nieuwe Azure Stream Analytics-taak en andere IoT Edge-modules.
  • De Azure Stream Analytics-taak implementeren op een IoT Edge-apparaat vanuit Azure Portal.

Diagram met stroomarchitectuur, inclusief fasering en implementatie van een Azure Stream Analytics-taak.

Met de Stream Analytics-module in deze zelfstudie wordt gedurende 30 seconden (lopende telling) de gemiddelde temperatuur gemeten. Wanneer het gemiddelde 70 bereikt, stuurt de module een waarschuwing voor het apparaat om actie te ondernemen. In dit geval is de actie het opnieuw instellen van de gesimuleerde temperatuursensor. In een productieomgeving kunt u deze functionaliteit gebruiken om een machine af te sluiten of preventieve maatregelen te nemen wanneer de temperatuur gevaarlijke niveaus bereikt.

Waarom Azure Stream Analytics gebruiken in IoT Edge?

Veel IoT-oplossingen maken gebruik van analyseservices om inzicht te krijgen in gegevens wanneer deze binnenkomen in de cloud vanaf IoT-apparaten. Met Azure IoT Edge verplaatst u Azure Stream Analytics-logica naar het apparaat zelf. Het verwerken van telemetriestromen aan de rand vermindert de hoeveelheid geüploade gegevens en de tijd die nodig is om te reageren op bruikbare inzichten. Azure IoT Edge en Azure Stream Analytics kunnen worden geïntegreerd om de ontwikkeling van uw workload te vereenvoudigen.

Azure Stream Analytics maakt gebruik van een gestructureerde querysyntaxis voor gegevensanalyse in de cloud en op IoT Edge-apparaten. Zie Documentatie voor Azure Stream Analytics voor meer informatie.

Vereisten

Als u geen Azure-account hebt, maak dan een gratis account aan voordat u begint.

  • Een Azure IoT Edge-apparaat.

    Gebruik een virtuele Azure-machine als een IoT Edge-apparaat door de stappen in de quickstart voor Linux - of Windows-apparaten te volgen.

  • Een gratis of standaard IoT Hub-laag in Azure.

Een Azure Stream Analytics-taak maken

In deze sectie maakt u een Azure Stream Analytics-taak die:

  • Ontvangt gegevens van uw IoT Edge-apparaat.
  • Query's uitvoeren op de telemetriegegevens voor waarden buiten een bepaald bereik.
  • Neemt actie op het IoT Edge-apparaat op basis van de queryresultaten.

Een opslagaccount maken

Wanneer u een Azure Stream Analytics-taak maakt die moet worden uitgevoerd op een IoT Edge-apparaat, moet u deze opslaan zodat het apparaat er toegang toe heeft. U kunt een bestaand Azure Storage-account gebruiken of een nieuw account maken.

  1. Ga in Azure Portal naar Een resource maken>Opslag>Opslagaccount.

  2. Geef de volgende waarden op om uw opslagaccount te maken:

    Veld Waarde
    Abonnement Kies het hetzelfde abonnement als uw IoT-hub.
    Resourcegroep Gebruik dezelfde resourcegroep voor al uw testresources voor IoT Edge-quickstarts en -zelfstudies. zoals IoTEdgeResources.
    Naam Voer een unieke naam in voor het opslagaccount.
    Locatie Selecteer een locatie dicht bij u in de buurt.
  3. Behoud de standaardwaarden voor de andere velden en selecteer Beoordelen en maken.

  4. Controleer uw instellingen en selecteer Maken.

Een nieuwe taak maken

  1. Selecteer in Azure Portal:

    1. Een resource maken
    2. Internet of Things in het menu aan de linkerkant
    3. Typ Stream Analytics in de zoekbalk om deze te vinden in Azure Marketplace
    4. Selecteer Maken en vervolgens Stream Analytics-taak in de vervolgkeuzelijst
  2. Geef de volgende waarden op om uw nieuwe Stream Analytics-taak te maken:

    Veld Waarde
    Naam Geef de taak een naam. Bijvoorbeeld IoTEdgeJob.
    Abonnement Kies het hetzelfde abonnement als uw IoT-hub.
    Resourcegroep Gebruik dezelfde resourcegroep voor alle testresources die u maakt tijdens de quickstarts en zelfstudies van IoT Edge. Bijvoorbeeld een resource met de naam IoTEdgeResources.
    Regio Kies een locatie dicht bij u in de buurt.
    Hostingomgeving Selecteer Edge. Met deze optie kunt u implementeren op een IoT Edge-apparaat in plaats van in de cloud.
  3. Selecteer Controleren + maken.

  4. Bevestig uw opties en selecteer Vervolgens Maken.

Uw taak configureren

Nadat u uw Stream Analytics-taak in de Azure Portal hebt gemaakt, configureert u deze met een invoer, een uitvoer en een query om te draaien op de gegevens die worden doorgegeven.

In deze sectie wordt beschreven hoe u een taak maakt die temperatuurgegevens ontvangt van een IoT Edge-apparaat. De gegevens worden geanalyseerd in een doorlopend venster van 30 seconden. Als de gemiddelde temperatuur in dat venster meer dan 70 graden bedraagt, verzendt de taak een waarschuwing naar het IoT Edge-apparaat.

Notitie

U geeft op waar de gegevens vandaan komen en gaat in de volgende sectie, IoT Edge-instellingen configureren wanneer u de taak implementeert.

Uw invoer en uitvoer instellen

  1. Navigeer naar uw Stream Analytics-taak in de Azure-portal.

  2. Selecteer Invoer onder Taaktopologie en selecteer Invoer toevoegen.

  3. Kies Edge Hub in de vervolgkeuzelijst.

    Als u de optie Edge Hub niet in de lijst ziet, hebt u mogelijk uw Stream Analytics-taak gemaakt als een in de cloud gehoste taak. Probeer een nieuwe taak te maken en zorg ervoor dat u Edge als hostingomgeving selecteert.

  4. Voer in het deelvenster Nieuwe invoer de temperatuur in als de invoeralias.

  5. Behoud de standaardwaarden van de andere velden en selecteer Opslaan.

  6. Selecteer uitvoer onder taaktopologie en selecteer vervolgens Toevoegen.

  7. Kies Edge Hub in de vervolgkeuzelijst.

  8. Voer in het deelvenster Nieuwe uitvoerwaarschuwing in als de uitvoeralias.

  9. Behoud de standaardwaarden van de andere velden en selecteer Opslaan.

Een query maken

  1. Selecteer Query onder Taaktopologie.

  2. Vervang de standaardtekst door de volgende query:

    SELECT  
        'reset' AS command
    INTO
       alert
    FROM
       temperature TIMESTAMP BY timeCreated
    GROUP BY TumblingWindow(second,30)
    HAVING Avg(machine.temperature) > 70
    

    In deze query verzendt de SQL-code een opdracht voor opnieuw instellen naar de waarschuwingsuitvoer als de gemiddelde temperatuur van de machine in een venster van 30 seconden 70 graden bereikt. De opdracht Reset wordt vooraf in de sensor geprogrammeerd als een actie.

  3. Selecteer Query opslaan.

Instellingen voor IoT Edge configureren

Als u uw Stream Analytics-taak op een IoT Edge-apparaat wilt implementeren, koppelt u uw Azure Stream Analytics-taak aan een opslagaccount. Wanneer u uw taak implementeert, exporteert de taakdefinitie als een container naar het opslagaccount.

  1. Selecteer in uw Stream Analytics-service in het menu Instellingen de instellingen van het opslagaccount.

  2. Kies de optie Blob Storage/ADLS Gen 2 selecteren in uw abonnementsoptie .

  3. Uw Azure-opslagaccount wordt automatisch weergegeven op de pagina. Als u er geen ziet, controleert u of u een opslag maakt. Als u een andere opslag wilt kiezen dan de opslag die wordt vermeld in het veld Opslagaccount , selecteert u deze in de vervolgkeuzelijst.

  4. Selecteer Opslaan als u wijzigingen hebt aangebracht.

De taak implementeren

U bent nu klaar om de Azure Stream Analytics-taak te implementeren op uw IoT Edge-apparaat.

In deze sectie gaat u de wizard Modules instellen in de Azure-portal gebruiken om een distributiemanifest te maken. Een implementatiemanifest is een JSON-bestand dat alle modules beschrijft die op een apparaat worden geïmplementeerd. Het manifest toont ook de containerregisters waarin de moduleinstallatiekopieën worden opgeslagen, hoe de modules moeten worden beheerd en hoe de modules met elkaar kunnen communiceren. Uw IoT Edge-apparaat haalt het distributiemanifest op uit IoT Hub en gebruikt vervolgens de informatie die zich daarin bevindt, om alle modules die eraan zijn toegewezen te implementeren en te configureren.

In deze zelfstudie gaat u twee modules implementeren. De eerste is SimulatedTemperatureSensor, een module waarmee een temperatuur- en vochtigheidssensor wordt gesimuleerd. De tweede is uw Stream Analytics-taak. De sensormodule biedt de gegevensstroom die door uw taakquery wordt geanalyseerd.

  1. Ga in Azure Portal naar uw IoT-hub.

  2. Selecteer Apparaten in het menu Apparaatbeheer en selecteer vervolgens uw IoT Edge-apparaat om het te openen.

  3. Selecteer Modules instellen.

  4. Als u de module SimulatedTemperatureSensor al eerder op dit apparaat hebt geïmplementeerd, wordt deze mogelijk automatisch ingevuld. Als dit niet het probleem is, voegt u de module toe met de volgende stappen:

    1. Selecteer + Toevoegen en kies IoT Edge-module.
    2. Typ SimulatedTemperatureSensor als de naam.
    3. Voer voor de afbeeldings-URI mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.5 in.
    4. Laat de overige standaardinstellingen staan en selecteer Vervolgens Toevoegen.
  5. Voeg uw Azure Stream Analytics Edge-taak toe met behulp van de volgende stappen:

    1. Selecteer + Toevoegen en kies Azure Stream Analytics-module.
    2. Selecteer uw abonnement en de Azure Stream Analytics-taak die u hebt gemaakt.
    3. Selecteer Opslaan.

    Zodra u de wijzigingen hebt opgeslagen, worden de details van uw Stream Analytics-taak gepubliceerd in de opslagcontainer die u hebt gemaakt.

  6. Nadat de implementatie van de Stream Analytics-toevoeging is voltooid, controleert u of er twee nieuwe modules worden weergegeven op de pagina Modules instellen.

    Schermopname waarin wordt bevestigd dat twee nieuwe modules zich op uw apparaat bevinden. In de schermopname ziet u ook waar de knop Beoordelen en maken zich bevindt.

  7. Selecteer Controleren + maken. Het implementatiemanifest wordt weergegeven.

  8. Selecteer Maken.

  9. Op de pagina Modules instellen van uw apparaat ziet u na een paar minuten dat de modules worden vermeld en uitgevoerd. Vernieuw de pagina als u geen modules ziet of wacht nog een paar minuten en vernieuw deze opnieuw.

Inzicht in de twee nieuwe modules

  1. Selecteer op het tabblad Modules instellen van uw apparaat de naam van de Stream Analytics-module om naar de pagina IoT Edge-module bijwerken te gaan. Hier kunt u de instellingen bijwerken.

    Het tabblad Instellingen bevat de afbeeldings-URI die verwijst naar een standaardInstallatiekopieën van Azure Stream Analytics. Deze enkele installatiekopie wordt gebruikt voor elke Stream Analytics-module die wordt geïmplementeerd op een IoT Edge-apparaat.

    Op het tabblad Instellingen van moduledubbel wordt de JSON weergegeven waarmee de ASA-eigenschap (Azure Stream Analytics) ASAJobInfo wordt gedefinieerd. De waarde van deze eigenschap verwijst naar de taakdefinitie in uw opslagcontainer. Deze eigenschap bepaalt hoe de installatiekopie van Stream Analytics wordt geconfigureerd met uw specifieke taakdetails.

    Standaard krijgt de Stream Analytics-module dezelfde naam als de taak waarop deze is gebaseerd. U kunt de modulenaam desgewenst op deze pagina wijzigen, maar dat hoeft niet.

  2. Selecteer Toepassen als u wijzigingen hebt aangebracht of Annuleren als u geen wijzigingen hebt aangebracht.

Routes toewijzen aan uw modules

  1. Selecteer volgende op de pagina Modules instellen op het apparaat:<uw-apparaatnaampagina>: Routes.

  2. Op het tabblad Routes definieert u hoe berichten tussen modules en de IoT Hub worden uitgewisseld. Berichten worden samengesteld met behulp van naam- en waardeparen.

    Voeg de routenamen en -waarden toe met de paren die worden weergegeven in de volgende tabel. Vervang exemplaren van {moduleName} door de naam van uw Azure Stream Analytics-module. Deze module moet dezelfde naam hebben die u ziet in de moduleslijst van uw apparaat op de pagina Modules instellen, zoals wordt weergegeven in Azure Portal.

    Schermopname van de naam van uw Stream Analytics-modules op uw IoT Edge-apparaat in Azure Portal.

    Naam Waarde
    telemetrieNaarDeCloud FROM /messages/modules/SimulatedTemperatureSensor/* INTO $upstream
    waarschuwingen naar de cloud FROM /messages/modules/{moduleName}/* INTO $upstream
    waarschuwingenOmTeResetten FROM /messages/modules/{moduleName}/* INTO BrokeredEndpoint("/modules/SimulatedTemperatureSensor/inputs/control")
    telemetrieNaarAsa FROM /messages/modules/SimulatedTemperatureSensor/* INTO BrokeredEndpoint("/modules/{moduleName}/inputs/temperature")

    De routes die u hier declareert, definiëren de gegevensstroom via het IoT Edge-apparaat. De telemetriegegevens van SimulatedTemperatureSensor worden naar IoT Hub verzonden en naar de temperatuurinvoer die is geconfigureerd in de Stream Analytics-taak. De waarschuwingsuitvoerberichten worden verzonden naar IoT Hub en naar de module SimulatedTemperatureSensor om de opdracht voor opnieuw instellen te activeren.

  3. Selecteer Volgende: controleren en maken.

  4. Op het tabblad Beoordelen en maken kunt u zien hoe de gegevens die u in de wizard hebt opgegeven, worden geconverteerd naar een JSON-implementatiemanifest.

  5. Wanneer u klaar bent met het controleren van het manifest, selecteert u Maken om de instelling van de module te voltooien.

Gegevens weergeven

Ga naar uw IoT Edge-apparaat om de interactie tussen de Azure Stream Analytics-module en de Module SimulatedTemperatureSensor te bekijken.

Notitie

Als u een virtuele machine voor een apparaat gebruikt, gebruikt u Azure Cloud Shell om rechtstreeks toegang te krijgen tot alle geverifieerde Azure-services.

  1. Controleer of alle modules worden uitgevoerd in Docker:

    iotedge list  
    
  2. Bekijk alle systeemlogboeken en metrische gegevens. Vervang {moduleName} door de naam van uw Azure Stream Analytics-module:

    iotedge logs -f {moduleName}  
    
  3. Bekijk hoe de opdracht Reset van invloed is op simulatedTemperatureSensor door de sensorlogboeken weer te geven:

    iotedge logs SimulatedTemperatureSensor
    

    U ziet nu dat de temperatuur van de machine geleidelijk stijgt totdat deze gedurende 30 seconden 70 graden is. Vervolgens worden met de Stream Analytics-module de beginwaarden ingesteld. De temperatuur van de machine zakt nu weer naar 21 graden.

    Schermopname van de opdracht Reset in de uitvoer van de modulelogboeken.

Resources opschonen

Als u wilt doorgaan naar het volgende aanbevolen artikel, moet u de resources en configuraties die u hebt gemaakt behouden en opnieuw gebruiken. U kunt ook hetzelfde IoT Edge-apparaat blijven gebruiken als een testapparaat.

Verwijder anders de lokale configuraties en Azure-resources die u in dit artikel hebt gebruikt om kosten te voorkomen.

Azure-resources verwijderen

Het verwijderen van de Azure-resources en resourcegroepen kan niet ongedaan worden gemaakt. Zorg ervoor dat u niet per ongeluk de verkeerde resourcegroep of resources verwijdert. Als u de IoT Hub hebt gemaakt in een bestaande resourcegroep met resources die u wilt behouden, verwijdert u alleen de IoT Hub-resource zelf, niet de resourcegroep.

Om de resources te verwijderen:

  1. Meld u aan bij Azure Portal en selecteer vervolgens Resourcegroepen.

  2. Selecteer de naam van de resourcegroep die uw IoT Edge-testresources bevat.

  3. Bekijk de lijst met resources die uw resourcegroep bevat. Als u alle mappen wilt verwijderen, kunt u Resourcegroep verwijderen selecteren. Als u slechts enkele resources wilt verwijderen, kunt u elke resource selecteren om ze afzonderlijk te verwijderen.

Volgende stappen

In deze zelfstudie stelt u een Azure Stream Analytics-taak in om gegevens van uw IoT Edge-apparaat te analyseren. U hebt de Azure Stream Analytics-module op uw IoT Edge-apparaat geladen om de temperatuur lokaal te verwerken en erop te reageren en de geaggregeerde gegevensstroom naar de cloud te verzenden. Als u wilt weten hoe Azure IoT Edge u kan helpen bij het bouwen van meer oplossingen, kunt u de volgende zelfstudie proberen.