IoT Central handleiding voor het ontwikkelen van apparaten
Met een IoT Central-toepassing kunt u miljoenen apparaten tijdens hun levenscyclus bewaken en beheren. Deze handleiding is bedoeld voor apparaatontwikkelaars die code implementeren om te worden uitgevoerd op apparaten die verbinding maken met IoT Central.
Apparaten communiceren met een IoT Central-toepassing met behulp van de volgende primitieven:
- Telemetrie zijn de gegevens die een apparaat naar IoT Central verzendt. Bijvoorbeeld een stroom van de temperatuurwaarden van een ingebouwde sensor.
- Eigenschappen zijn statuswaarden die een apparaat rapporteert aan IoT Central. Bijvoorbeeld de huidige firmwareversie van het apparaat. U kunt ook schrijfbare eigenschappen hebben die door IoT Central op het apparaat kunnen worden bijgewerkt, zoals een doeltemperatuur.
- Opdrachten worden aangeroepen vanuit IoT Central om het gedrag van een apparaat te bepalen. Uw IoT Central-toepassing kan bijvoorbeeld een opdracht aanroepen om een apparaat opnieuw op te starten.
Een bouwer van oplossingen is verantwoordelijk voor het configureren van dashboards en apparaatweergaven in de IoT Central-webinterface om telemetrie te visualiseren, eigenschappen te beheren en opdrachten aan te roepen.
Apparaattypen
In de volgende secties worden de belangrijkste apparaattypen beschreven die u kunt verbinden met een IoT Central-toepassing:
IoT-apparaat
Een IoT-apparaat is een zelfstandig apparaat dat rechtstreeks verbinding maakt met IoT Central. Een IoT-apparaat verzendt doorgaans telemetrie van de ingebouwde of verbonden sensoren naar uw IoT Central toepassing. Zelfstandige apparaten kunnen ook eigenschapswaarden rapporteren, schrijfbare eigenschapswaarden ontvangen en reageren op opdrachten.
IoT Edge-apparaat
Een IoT Edge maakt rechtstreeks verbinding met IoT Central. Een IoT Edge kan eigen telemetrie verzenden, de eigenschappen ervan rapporteren en reageren op beschrijfbare updates en opdrachten voor eigenschappen. IoT Edge-modules kunnen gegevens lokaal op het IoT Edge verwerken. Een IoT Edge kan ook fungeren als intermediair voor andere apparaten die leaf-apparaten worden genoemd. Scenario's die gebruikmaken IoT Edge apparaten zijn onder andere:
- Aggregatie- of filtertelemetrie voordat deze wordt verzonden naar IoT Central. Met deze aanpak kunt u de kosten van het verzenden van gegevens naar IoT Central verlagen.
- Schakel apparaten in die niet rechtstreeks verbinding kunnen maken met IoT Central om verbinding te maken via IoT Edge apparaat. Een leaf-apparaat kan bijvoorbeeld bluetooth gebruiken om verbinding te maken met IoT Edge apparaat, dat vervolgens via internet verbinding maakt met IoT Central.
- Beheer leaf-apparaten lokaal om de latentie te voorkomen die samenhangt met het maken van verbinding met IoT Central via internet.
IoT Central ziet alleen het IoT Edge apparaat, niet de leaf-apparaten die zijn verbonden met IoT Edge apparaat.
Zie Add an Azure IoT Edge device to your Azure IoT Central application (Een Azure IoT Edge-apparaat toevoegen aan uw Azure IoT Central-toepassing) voor meer informatie.
Gateways
Een gatewayapparaat beheert een of meer downstreamapparaten die verbinding maken met uw IoT Central-toepassing. U gebruikt IoT Central voor de configuratie van de relaties tussen de downstreamapparaten en het gatewayapparaat. Zowel IoT-apparaten als IoT Edge kunnen fungeren als gateways. Zie Define a new IoT gateway device type in your Azure IoT Central application (Een nieuw IoT-gatewayapparaattype definiëren in uw Azure IoT Central-toepassing) voor meer informatie.
Een apparaat verbinden
Azure IoT Central maakt gebruik van de Azure IoT Hub Device Provisioning Service (DPS) om alle apparaatregistratie en -verbindingen te beheren.
Met DPS kunt u het volgende doen:
- IoT Central voor het ondersteunen van onboarding en op schaal verbinding van apparaten.
- U kunt de referenties van het apparaat genereren en de apparaten offline configureren zonder de apparaten te registreren via IoT Central-gebruikersinterface.
- U kunt uw eigen apparaat-id's gebruiken om apparaten te registreren in IoT Central. Het gebruik van uw eigen apparaat-id's vereenvoudigt de integratie met bestaande back-officesystemen.
- Een enkele, consistente manier om apparaten te verbinden met IoT Central.
Zie Verbinding maken met Azure IoT Central en Best practices voor meer informatie.
Beveiliging
De verbinding tussen een apparaat en uw IoT Central-toepassing wordt beveiligd met behulp van handtekeningen voor gedeelde toegang of de industriestandaard X. 509-certificaten.
Communicatieprotocollen
Communicatieprotocollen die een apparaat kan gebruiken om verbinding te maken met IoT Central zijn MQTT, AMQP en HTTPS. Intern gebruikt IoT Central een IoT-hub om connectiviteit van apparaten in te schakelen. Zie Een communicatieprotocol kiezen voor meer informatie over de communicatieprotocollen die door IoT Hub worden ondersteund voor connectiviteit van apparaten.
Het apparaat implementeren
Een IoT Central-apparaatsjabloon bevat een model dat het gedrag specificeert dat een apparaat van dat type moet implementeren. Gedragingen zijn onder andere telemetrie, eigenschappen en opdrachten.
Zie Een bestaande apparaatsjabloon bewerken voor meer informatie over best practices voor het bewerken van een model.
Tip
U kunt het model exporteren vanuit IoT Central als een JSON-bestand van Digital Twins Definition Language (DTDL) v2.
Elk model heeft een unieke model-id van apparaatdubbel (DTMI), zoals dtmi:com:example:Thermostat;1. Wanneer een apparaat verbinding maakt met IoT Central, verzendt het een DTMI van het model dat het implementeert. IoT Central kan vervolgens de juiste apparaatsjabloon aan het apparaat koppelen.
IoT Plug en Play een reeks conventies die een apparaat moet volgen wanneer het een DTDL-model implementeert.
De Azure IoT Device SDK’s bevat ook ondersteuning voor de IoT-Plug and Play-conventies.
Apparaatmodel
Een apparaatmodel wordt gedefinieerd met behulp van de DTDL. Met deze taal kunt u het volgende definiëren:
- De telemetrie die het apparaat verzendt. De definitie bevat de naam en het gegevenstype van de telemetrie. Zo verstuurt een apparaat bijvoorbeeld de temperatuurtelemetrie als een dubbel.
- De eigenschappen die het apparaat rapporteert aan IoT Central. Een eigenschapsdefinitie bevat de naam en het gegevenstype. Zo rapporteert een apparaat bijvoorbeeld de status van een klep als een Booleaanse waarde.
- De eigenschappen van het apparaat kunnen ontvangen van IoT Central. U kunt desgewenst een eigenschap markeren als beschrijfbaar. IoT Central verzendt bijvoorbeeld een doeltemperatuur als een dubbel naar een apparaat.
- De opdrachten waarop een apparaat reageert. De definitie bevat de naam van de opdracht en de namen en gegevenstypen van parameters. Een apparaat reageert bijvoorbeeld op een opdracht voor opnieuw opstarten, waarmee wordt opgegeven hoeveel seconden moet worden gewacht voordat opnieuw wordt opgestart.
Een DTDL-model kan een model met geen-onderdeel of multi-onderdeel zijn:
- Geen-onderdeelmodel: Een eenvoudig model maakt geen gebruik van ingesloten of trapsgewijze onderdelen. Alle telemetrie, eigenschappen en opdrachten zijn gedefinieerd als één hoofdonderdeel. Zie het Thermostaat-model voor een voorbeeld.
- Multi-onderdeelmodel. Een complexer model met twee of meer onderdelen. Deze onderdelen bevatten één hoofdonderdeel en een of meer extra geneste onderdelen. Zie het Temperatuur-controller-model voor een voorbeeld.
Zie IoT Plug en Play modeling guide (IoT Plug en Play modelleerhandleiding) voor meer informatie
Conventies
Een apparaat moet de IoT Plug and Play-conventies volgen wanneer het gegevens uitwisselt met IoT Central. De conventies zijn onder andere:
- De DTMI verzenden wanneer deze verbinding maakt met IoT Central.
- De juist geformatteerde JSON-payloads en -metagegevens verzenden naar IoT Central.
- Op de juiste manier reageren op schrijfbare eigenschappen en opdrachten van IoT Central.
- De naamconventies voor onderdeelopdrachten volgen.
Notitie
Momenteel biedt IoT Central geen volledige ondersteuning voor de Matrix- en Georuimtelijke gegevenstypen van DTDL.
Zie Telemetrie-, eigenschap- en opdracht-payloads voor meer informatie over de indeling van de JSON-berichten die door een apparaat worden uitgewisseld met IoT Central.
Zie voor meer informatie over de IoT Plug and Play-conventies IoT Plug and Play-conventies.
Apparaat-SDK's
Gebruik een van de SDK's voor Azure IoT-apparaten om het gedrag van uw apparaat te implementeren. De code moet:
- Het apparaat registreren met DPS en de informatie van DPS gebruiken om verbinding te maken met de interne IoT-hub in uw IoT Central-toepassing.
- De DTMI aankondigen van het model dat het apparaat implementeert.
- Telemetrie verzenden in de indeling die door het apparaatmodel wordt opgegeven. IoT Central gebruikt het model in de apparaatsjabloon om te bepalen hoe u de telemetrie gebruikt voor visualisaties en analyses.
- De eigenschapswaarden synchroniseren tussen het apparaat en IoT Central. In het model worden de eigenschapsnamen en gegevenstypen opgegeven, zodat IoT Central de informatie kan weergeven.
- Opdrachthandlers implementeren voor de opdrachten die worden opgegeven in het model. In het model worden de opdrachtnamen en parameters opgegeven die het apparaat moet gebruiken.
Zie Wat zijn apparaatsjablonen? voor meer informatie over de rol van apparaatsjablonen.
Zie Een clienttoepassing maken en er verbinding mee makenvoor voorbeeldcode.
Talen en SDK's
Zie Understand and use Azure IoT Hub device SDKs (SDK's voor Azure IoT Hub-apparaten begrijpen en gebruiken) voor meer informatie over de ondersteunde talen en SDK's.
Volgende stappen
Als u apparaatontwikkelaar bent en u meer wilt weten over coderen, kunt u het beste de stap Create and connect a client application to your Azure IoT Central application (Een clienttoepassing maken en verbinden met uw Azure IoT Central-toepassing) volgen.
Als u meer wilt weten over het gebruik van IoT Central, kunt u de volgende stappen uitvoeren om de quickstarts te proberen, te beginnen met Een Azure IoT Central-toepassing maken.