Zelfstudie: IoT-apparaten bewaken en meldingen verzenden met Azure Logic Apps

Gebruik Azure Logic Apps om telemetrie van binnenkomende apparaten vanuit IoT Hub te bewaken en meldingen te verzenden wanneer waarschuwingen worden geactiveerd.

End-to-end diagram

Azure Logic Apps kan u helpen bij het organiseren van werkstromen in on-premises en cloudservices, meerdere ondernemingen en verschillende protocollen. Een logische app begint met een trigger, die vervolgens wordt gevolgd door een of meer acties die kunnen worden gesequentieerd met behulp van ingebouwde besturingselementen, zoals voorwaarden en iterators. Dankzij deze flexibiliteit is Logic Apps een ideale IoT-oplossing voor IoT-bewakingsscenario's. De komst van gegevens van een apparaat op een IoT Hub-eindpunt kan bijvoorbeeld werkstromen voor logische apps initiëren om de gegevens in een Azure Storage-blob te bewaren, e-mailwaarschuwingen verzenden om gegevensafwijkingen te waarschuwen, een technicus bezoeken als een apparaat een fout rapporteert, enzovoort.

In deze zelfstudie voert u de volgende taken uit:

Maak een Service Bus-wachtrij. Maak een route in uw IoT-hub die berichten naar de Service Bus-wachtrij verzendt als de berichten afwijkende temperatuurmetingen bevatten. Maak een logische app die kijkt naar berichten die in de wachtrij binnenkomen en een e-mailwaarschuwing verzendt.

De clientcode die op uw apparaat wordt uitgevoerd, stelt een toepassingseigenschap in op temperatureAlertelk telemetriebericht dat wordt verzonden naar uw IoT-hub. Wanneer de clientcode een temperatuur boven een bepaalde drempelwaarde detecteert, wordt deze eigenschap ingesteld op true; anders wordt de eigenschap ingesteld op false.

Berichten die binnenkomen bij uw IoT-hub zien er ongeveer als volgt uit, met de telemetriegegevens in de hoofdtekst en de temperatureAlert eigenschap in de toepassingseigenschappen (systeemeigenschappen worden niet weergegeven):

{
  "body": {
    "messageId": 18,
    "deviceId": "Raspberry Pi Web Client",
    "temperature": 27.796111770668457,
    "humidity": 66.77637926438427
  },
  "applicationProperties": {
    "temperatureAlert": "false"
  }
}

Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.

Vereisten

Bereid de volgende vereisten voor voordat u aan deze zelfstudie begint.

Service Bus-naamruimte en -wachtrij maken

Maak een Service Bus-naamruimte en -wachtrij. Verderop in dit artikel maakt u een routeringsregel in uw IoT-hub om berichten met een temperatuurwaarschuwing voor de Service Bus-wachtrij te sturen. Een logische app bewaakt de wachtrij voor binnenkomende berichten en verzendt een melding voor elke waarschuwing.

Een Service Bus-naamruimte maken

  1. Gebruik in Azure Portal de zoekbalk om Service Bus te zoeken en te selecteren.

  2. Selecteer Maken om een Service Bus-naamruimte te maken.

  3. Geef in het deelvenster Naamruimte maken de volgende informatie op:

    Parameter Weergegeven als
    Abonnement Kies hetzelfde abonnement dat uw IoT-hub bevat.
    Resourcegroep Kies dezelfde resourcegroep die uw IoT-hub bevat.
    Naam van naamruimte Geef een naam op voor uw Service Bus-naamruimte. De naamruimte moet uniek zijn in Azure.
    Location Kies dezelfde locatie die door uw IoT-hub wordt gebruikt.
    Prijscategorie Selecteer Basic in de vervolgkeuzelijst. De Basic-laag is voldoende voor deze zelfstudie.
  4. Selecteer Controleren + maken.

  5. Selecteer Maken.

  6. Wacht tot de implementatie is voltooid en selecteer Vervolgens Ga naar de resource.

Een Service Bus-wachtrij toevoegen aan de naamruimte

  1. Selecteer Wachtrij op de pagina Overzicht van uw Service Bus-naamruimte.

    Screenshot of the namespace overview page to add a queue.

  2. Geef in het veld Naam een naam op voor de wachtrij. Accepteer de standaardwaarden voor de andere velden en selecteer Maken.

  3. Selecteer in uw Service Bus-naamruimte gedeeld toegangsbeleid in de sectie Instellingen van het resourcemenu.

  4. Selecteer het RootManageSharedAccessKey-beleid om de details ervan te openen.

  5. Kopieer de waarde van primaire verbindingsreeks en sla deze op voor later gebruik in deze zelfstudie wanneer u de logische app configureert.

Een aangepaste eindpunt- en routeringsregel toevoegen aan uw IoT-hub

Voeg een aangepast eindpunt voor de Service Bus-wachtrij toe aan uw IoT-hub. Maak vervolgens een regel voor berichtroutering om berichten te sturen die een temperatuurwaarschuwing voor dat eindpunt bevatten, waar ze worden opgehaald door uw logische app. De routeringsregel maakt gebruik van een routeringsquery om temperatureAlert = "true"berichten door te sturen op basis van de waarde van de temperatureAlert toepassingseigenschap die is ingesteld door de clientcode die op het apparaat wordt uitgevoerd. Zie berichtrouteringsquery op basis van berichteigenschappen voor meer informatie.

Een aangepast eindpunt en route toevoegen

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

  2. Selecteer in het resourcemenu onder Hub-instellingen de optie Berichtroutering en selecteer Vervolgens Toevoegen.

    Screenshot that shows location of the Add button, to add a new route in your IoT hub.

  3. Maak op het tabblad Eindpunt een eindpunt voor uw Service Bus-wachtrij door de volgende informatie op te geven:

    Parameter Weergegeven als
    Eindpunttype Selecteer De Service Bus-wachtrij.
    Eindpuntnaam Geef een naam op voor het nieuwe eindpunt dat is toegewezen aan uw Service Bus-wachtrij.
    Service Bus-naamruimte Gebruik de vervolgkeuzelijst om de Service Bus-naamruimte te selecteren die u in de vorige sectie hebt gemaakt.
    Service Bus-wachtrij Gebruik de vervolgkeuzelijst om de Service Bus-wachtrij te selecteren die u in uw naamruimte hebt gemaakt.

    Screenshot that shows how to create a service bus queue endpoint for your route.

  4. Selecteer Maken + volgende.

  5. Voer op het tabblad Route de volgende informatie in om een route te maken die verwijst naar uw Service Bus-wachtrijeindpunt:

    Parameter Weergegeven als
    Naam Geef een unieke naam op voor de route.
    Gegevensbron Behoud de standaardgegevensbron apparaattelemetriebericht .
    Routeringsquery Voer temperatureAlert = "true" in als querytekenreeks.

    Screenshot that shows adding a route with a query.

  6. Selecteer Maken + verrijkingen overslaan.

Logic Apps configureren voor meldingen

In de vorige sectie stelt u uw IoT-hub in om berichten met een temperatuurwaarschuwing naar uw Service Bus-wachtrij te routeren. U stelt nu een logische app in om de Service Bus-wachtrij te bewaken en een e-mailmelding te verzenden wanneer een bericht wordt toegevoegd aan de wachtrij.

Een logische app maken

  1. Zoek en selecteer Logic Apps in Azure Portal.

  2. Selecteer Toevoegen om een nieuwe logische app te maken.

  3. Voer de volgende informatie in op het tabblad Basisbeginselen van Logische app maken:

    Parameter Weergegeven als
    Resourcegroep Selecteer dezelfde resourcegroep die uw IoT-hub bevat.
    Naam Geef een naam op voor uw logische app.
    Regio Selecteer een locatie dicht bij u in de buurt.
    Plantype Selecteer Verbruik, wat voldoende is voor deze zelfstudie.

    Screenshot that shows creating a logic app in the Azure portal.

  4. Selecteer Controleren + maken.

  5. Selecteer Maken.

  6. Nadat de implementatie is voltooid, selecteert u Ga naar de resource om uw logische app te openen.

De trigger van de logische app configureren

  1. Open op de resourcepagina van uw logische app in Azure Portal de ontwerpfunctie voor logische apps in de sectie Ontwikkelhulpprogramma's van het resourcemenu.

  2. Schuif in de ontwerpfunctie omlaag naar Sjablonen en selecteer Lege logische app.

    Screenshot that shows selecting the Blank Logic App template.

  3. Selecteer het tabblad Alles om alle connectors en triggers weer te geven en selecteer vervolgens Service Bus.

    Select Service Bus to start creating your logic app in the Azure portal.

  4. Selecteer onder Triggers wanneer een of meer berichten in een wachtrij binnenkomen (automatisch aanvullen).

    Select the trigger for your logic app in the Azure portal.

  5. Maak een Service Bus-verbinding.

    1. Geef een Verbinding maken ionnaam op en plak de Verbinding maken iontekenreeks die u hebt gekopieerd uit uw Service Bus-naamruimte.

    2. Selecteer Maken.

    3. Gebruik in het volgende scherm de vervolgkeuzelijst om de wachtrij te selecteren die u in uw Service Bus-naamruimte hebt gemaakt. Voer vervolgens het maximumaantal berichten in175.

      Screenshot that shows configuring queue settings in the Logic app designer.

  6. Selecteer Opslaan in het ontwerpmenu van de logische app om uw wijzigingen op te slaan.

De actie voor de logische app configureren

  1. Selecteer nieuwe stap in de ontwerpfunctie voor logische apps.

  2. Maak een SMTP-serviceverbinding.

    1. Zoek en selecteer SMTP.

      Screenshot that shows selecting an SMTP connection in the logic app designer.

    2. Selecteer E-mail verzenden (V3) als actie voor deze stap.

    3. Geef een Verbinding maken naam op en vul vervolgens de rest van de velden in met de SMTP-gegevens voor het e-mailaccount dat u wilt gebruiken om de meldingsberichten te verzenden.

      Gebruik de volgende koppelingen om uw SMTP-gegevens te vinden, afhankelijk van uw e-mailprovider:

      Notitie

      Mogelijk moet u TLS/SSL uitschakelen om de verbinding tot stand te brengen. Als dit het geval is en u TLS opnieuw wilt inschakelen nadat de verbinding tot stand is gebracht, raadpleegt u de optionele stap aan het einde van deze sectie.

      Screenshot that shows configuring the SMTP connection settings in the logic app designer.

    4. Selecteer Maken.

  3. Configureer de actie E-mail verzenden.

    1. Selecteer in de vervolgkeuzelijst Nieuwe parameter toevoegen in de stap E-mail verzenden de volgende parameters:

      • Vanaf
      • Als u dit wilt doen
      • Onderwerp
      • Tekst

      Klik of tik ergens op het scherm om het selectievak te sluiten.

      Choose SMTP connection email fields to include in email.

    2. Voer de volgende informatie in voor de e-mailparameters die u in de vorige stap hebt geselecteerd:

      Parameter Weergegeven als
      Vanaf Het e-mailadres dat u hebt geconfigureerd voor de SMTP-verbinding.
      Als u dit wilt doen Het e-mailadres of de adressen waar u e-mailberichten met meldingen wilt verzenden.
      Onderwerp High temperature detected.
      Tekst High temperature detected.

      Als het dialoogvenster Dynamische inhoud toevoegen wordt geopend, selecteert u Verbergen om het te sluiten. In deze zelfstudie gebruikt u geen dynamische inhoud.

      Provide details for SMTP connection email fields.

  4. Selecteer Opslaan om de SMTP-verbinding op te slaan.

  5. (Optioneel) Als u TLS moet uitschakelen om een verbinding met uw e-mailprovider tot stand te brengen en deze opnieuw wilt inschakelen, voert u de volgende stappen uit:

    1. Selecteer API-verbindingen in het deelvenster Logische app onder Ontwikkelhulpprogramma's.

    2. Selecteer de SMTP-verbinding in de lijst met API-verbindingen.

    3. Selecteer in het deelvenster Smtp-API Verbinding maken ion onder Algemeen de optie API-verbinding bewerken.

    4. Selecteer IN het deelvenster API bewerken Verbinding maken ion ssl inschakelen?, voer het wachtwoord voor uw e-mailaccount opnieuw in en selecteer Opslaan.

      Edit SMTP API connection in your logic app in the Azure portal.

Uw logische app is nu klaar om temperatuurwaarschuwingen uit de Service Bus-wachtrij te verwerken en meldingen naar uw e-mailaccount te verzenden.

De logische app testen

Begin met het verzenden van temperatuurberichten van uw IoT-apparaat om de bewakings- en meldingspijplijn te testen.

  1. Start de clienttoepassing op uw apparaat. De clientcode voert willekeurig telemetrieberichten uit en stelt de temperatureAlert eigenschap in op true wanneer de temperatuur hoger is dan 30 C.

  2. U moet beginnen met het ontvangen van e-mailmeldingen die zijn verzonden door de logische app.

    Notitie

    Uw e-mailserviceprovider moet mogelijk de identiteit van de afzender verifiëren om er zeker van te zijn dat u de e-mail verzendt.

Resources opschonen

Als u de resources die u in deze zelfstudie hebt gemaakt niet meer nodig hebt, verwijdert u deze en de resourcegroep in de portal. Hiervoor selecteert u de resourcegroep die uw IoT-hub bevat en selecteert u Verwijderen.

Of gebruik de CLI:

# Delete your resource group and its contents
az group delete --name <RESOURCE_GROUP_NAME>

Volgende stappen

In deze zelfstudie hebt u een logische app gemaakt die uw IoT-hub en uw postvak verbindt voor temperatuurbewaking en meldingen.

Zie het volgende om aan de slag te gaan met Azure IoT Hub en om alle uitgebreide IoT-scenario's te verkennen: