Verbinding maken met Azure IoT Central
In dit artikel wordt beschreven hoe apparaten verbinding maken met een Azure IoT Central toepassing. Voordat een apparaat gegevens kan uitwisselen met IoT Central, moet het:
- Verifieren. Verificatie met de IoT Central maakt gebruik van een SAS-token (Shared Access Signature) of een X.509-certificaat. X.509-certificaten worden aanbevolen in productieomgevingen.
- Registreer. Apparaten moeten worden geregistreerd bij de IoT Central toepassing. U kunt geregistreerde apparaten weergeven op de pagina Apparaten in de toepassing.
- Koppelen aan een apparaatsjabloon. In een IoT Central definiëren apparaatsjablonen de gebruikersinterface die operators gebruiken om verbonden apparaten weer te geven en te beheren.
IoT Central ondersteunt de volgende twee scenario's voor apparaatregistratie:
- Automatische registratie. Het apparaat wordt automatisch geregistreerd wanneer het voor het eerst verbinding maakt. In dit scenario kunnen OEM's massaal apparaten maken die verbinding kunnen maken zonder eerst te worden geregistreerd. Een OEM genereert geschikte apparaatreferenties en configureert de apparaten in de fabriek. U kunt eventueel vereisen dat een operator het apparaat goedkeurt voordat het begint met het verzenden van gegevens. Voor dit scenario moet u een X.509- of SAS-groepsregistratie configureren in uw toepassing.
- Handmatige registratie. Operators registreren afzonderlijke apparaten op de pagina Apparaten of importeren een CSV-bestand om apparaten bulksgewijs te registreren. In dit scenario kunt u X.509- of SAS-groepsinschrijving of afzonderlijke X.509- of SAS-inschrijving gebruiken.
Apparaten die verbinding maken met IoT Central moeten de IoT-Plug en Play volgen. Een van deze conventies is dat een apparaat de model-id moet verzenden van het apparaatmodel dat wordt geïmplementeerd wanneer het verbinding maakt. Met de model-id kan IoT Central apparaattoepassing het apparaat koppelen aan de juiste apparaatsjabloon.
IoT Central gebruikt de Azure IoT Hub Device Provisioning Service (DPS) om het verbindingsproces te beheren. Een apparaat maakt eerst verbinding met een DPS-eindpunt om de informatie op te halen die nodig is om verbinding te maken met uw toepassing. Intern gebruikt uw IoT Central een IoT-hub voor het afhandelen van apparaatconnectiviteit. 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.
In dit artikel worden de volgende stappen voor apparaatverbinding beschreven:
- X.509-groepsinschrijving
- Sas-groepsinschrijving
- Afzonderlijke inschrijving
- Apparaatregistratie
- Een apparaat koppelen aan een apparaatsjabloon
X.509-groepsinschrijving
In een productieomgeving is het gebruik van X.509-certificaten het aanbevolen verificatiemechanisme voor apparaten IoT Central. Zie Apparaatverificatie met X.509 CA-certificaten voor meer informatie.
Een apparaat met een X.509-certificaat verbinden met uw toepassing:
- Maak een registratiegroep die gebruikmaakt van het attestation-type Certificaten (X.509).
- Voeg een tussen- of hoofd-X.509-certificaat toe aan en verifieer dit in de registratiegroep.
- Genereer een gewoon certificaat op basis van het basis- of tussencertificaat in de registratiegroep. Verzend het leaf-certificaat vanaf het apparaat wanneer het verbinding maakt met uw toepassing.
Alleen voor testdoeleinden
Alleen voor het testen kunt u de volgende hulpprogramma's gebruiken om basis-, tussen- en apparaatcertificaten te genereren:
- Hulpprogramma's voor de Azure IoT Device Provisioning Device SDK:een verzameling Node.js-hulpprogramma's waarmee u X.509-certificaten en -sleutels kunt genereren en verifiëren.
- CA-testcertificaten voor voorbeelden en zelfstudies beheren:een verzameling PowerShell- en Bash-scripts voor het volgende:
- Maak een certificaatketen.
- Sla de certificaten op als CER-bestanden die u wilt uploaden naar IoT Central toepassing.
- Gebruik de verificatiecode van de IoT Central om het verificatiecertificaat te genereren.
- Maak leaf-certificaten voor uw apparaten met behulp van uw apparaat-ID's als parameter voor het hulpprogramma.
Sas-groepsinschrijving
Een apparaat verbinden met een SAS-sleutel voor uw toepassing:
Maak een registratiegroep die gebruikmaakt van het Shared Access Signature attestation-type (SAS).
Kopieer de primaire of secundaire sleutel van de groep uit de inschrijvingsgroep.
Gebruik de Azure CLI om een apparaatsleutel te genereren op basis van de groepssleutel:
az iot central device compute-device-key --primary-key <enrollment group primary key> --device-id <device ID>Gebruik de gegenereerde apparaatsleutel wanneer het apparaat verbinding maakt met uw IoT Central toepassing.
Notitie
Als u bestaande SAS-sleutels in uw inschrijvingsgroepen wilt gebruiken, schakelt u de schakelknop Sleutels automatisch genereren uit en typt u de SAS-sleutels.
Afzonderlijke inschrijving
Klanten die apparaten verbinden die elk hun eigen verificatiereferenties hebben, gebruiken afzonderlijke inschrijvingen. Een afzonderlijke inschrijving is een vermelding voor één apparaat dat verbinding mag maken. Afzonderlijke inschrijvingen kunnen X.509 leaf-certificaten of SAS-tokens (van een fysiek of virtueel vertrouwd platformmodule) gebruiken als attestation-mechanismen. Een apparaat-id mag alleen letters, cijfers en het teken - bevatten. Zie DPS individual enrollment (Individuele dps-inschrijving) voor meer informatie.
Notitie
Wanneer u een afzonderlijke inschrijving voor een apparaat maakt, heeft deze prioriteit boven de standaardopties voor groepsinschrijving in uw IoT Central toepassing.
Afzonderlijke inschrijvingen maken
IoT Central ondersteunt de volgende attestation-mechanismen voor afzonderlijke inschrijvingen:
Attestation met symmetrische sleutel: Attestation met een symmetrische sleutel is een eenvoudige benadering voor het authenticeren van een apparaat met het DPS-exemplaar. Als u een afzonderlijke inschrijving wilt maken die gebruikmaakt van symmetrische sleutels, opent u de pagina Apparaatverbinding voor het apparaat, selecteert u Afzonderlijke inschrijving als verbindingsmethode en Shared Access Signature (SAS) als mechanisme. Voer met Base64 gecodeerde primaire en secundaire sleutels in en sla uw wijzigingen op. Gebruik het id-bereik, de apparaat-id en de primaire of secundaire sleutel om uw apparaat te verbinden.
Tip
Voor het testen kunt u OpenSSL gebruiken om met Base64 gecodeerde sleutels te genereren:
openssl rand -base64 64X.509-certificaten: Als u een afzonderlijke inschrijving met X.509-certificaten wilt maken, opent u de pagina Apparaatverbinding, selecteert u Afzonderlijke inschrijving als verbindingsmethode en Certificaten (X.509) als mechanisme. Apparaatcertificaten die worden gebruikt met een afzonderlijke inschrijvingsinvoer, moeten de verkender en de onderwerp-CN instellen op de apparaat-id.
Tip
Voor het testen kunt u hulpprogramma's voor de Azure IoT Device Provisioning Device SDK voor Node.jsom een zelf-ondertekend certificaat te genereren:
node create_test_cert.js device "mytestdevice"Trusted Platform Module attestation (TPM) : Een TPM is een type hardwarebeveiligingsmodule. Het gebruik van een TPM is een van de veiligste manieren om een apparaat te verbinden. In dit artikel wordt ervan uitgenomen dat u een discrete, firmware of geïntegreerde TPM gebruikt. Met software geëmuleerde TPI's zijn zeer geschikt voor het maken van prototypen of testen, maar ze bieden niet hetzelfde beveiligingsniveau als discrete, firmware of geïntegreerde TPI's. Gebruik geen software-TPI's in productie. Als u een afzonderlijke inschrijving wilt maken die gebruikmaakt van een TPM, opent u de pagina Apparaatverbinding, selecteert u Afzonderlijke inschrijving als verbindingsmethode en TPM als mechanisme. Voer de TPM-goedkeuringssleutel in en sla de verbindingsgegevens van het apparaat op.
Apparaatregistratie
Voordat een apparaat verbinding kan maken met IoT Central toepassing, moet het worden geregistreerd in de toepassing:
- Apparaten kunnen zich automatisch registreren wanneer ze voor het eerst verbinding maken. Als u deze optie wilt gebruiken, moet u X.509-groepsinschrijving of SAS-groepsinschrijving gebruiken.
- Een operator kan een CSV-bestand importeren om bulksgewijs een lijst met apparaten in de toepassing te registreren.
- Een operator kan handmatig een afzonderlijk apparaat registreren op de pagina Apparaten in de toepassing.
IoT Central kunnen OEM's massaal apparaten maken die zichzelf automatisch kunnen registreren. Een OEM genereert geschikte apparaatreferenties en configureert de apparaten in de fabriek. Wanneer een klant een apparaat voor het eerst in schakelt, maakt het verbinding met DPS, dat het apparaat vervolgens automatisch verbindt met de juiste IoT Central toepassing. U kunt eventueel vereisen dat een operator het apparaat goedkeurt voordat het begint met het verzenden van gegevens naar de toepassing.
Tip
Op de pagina > apparaatverbinding bepaalt de optie Automatisch goedkeuren of een operator het apparaat handmatig moet goedkeuren voordat het kan beginnen met het verzenden van gegevens.
Apparaten die gebruikmaken van X.509-certificaten automatisch registreren
Genereer de leaf-certificaten voor uw apparaten met behulp van het basis- of tussencertificaat dat u hebt toegevoegd aan uw X.509-registratiegroep. Gebruik de apparaat-ID's
CNAMEals de in de leaf-certificaten. Een apparaat-id mag alleen letters, cijfers en het teken-bevatten.Als OEM flasht u elk apparaat met een apparaat-id, een gegenereerd X.509 leaf-certificaat en de bereikwaarde van de toepassings-id. De apparaatcode moet ook de model-id verzenden van het apparaatmodel dat wordt geïmplementeerd.
Wanneer u een apparaat inschakelt, maakt het eerst verbinding met DPS om de verbindingsgegevens IoT Central ophalen.
Het apparaat gebruikt de gegevens van DPS om verbinding te maken met en te registreren bij uw IoT Central toepassing.
De IoT Central gebruikt de model-id die door het apparaat wordt verzonden om het geregistreerde apparaat te koppelen aan een apparaatsjabloon.
Apparaten die gebruikmaken van SAS-tokens automatisch registreren
Kopieer de primaire sleutel voor de groep uit de registratiegroep SAS-IoT-Devices:
Gebruik de
az iot central device compute-device-keyopdracht om de SAS-sleutels van het apparaat te genereren. Gebruik de primaire sleutel van de groep uit de vorige stap. De apparaat-id kan letters, cijfers en het teken-bevatten:az iot central device compute-device-key --primary-key <enrollment group primary key> --device-id <device ID>Als OEM flasht u elk apparaat met de apparaat-id, de gegenereerde SAS-sleutel van het apparaat en de bereikwaarde van de toepassings-id. De apparaatcode moet ook de model-id verzenden van het apparaatmodel dat wordt geïmplementeerd.
Wanneer u een apparaat inschakelt, maakt het eerst verbinding met DPS om de registratiegegevens IoT Central ophalen.
Het apparaat gebruikt de gegevens van DPS om verbinding te maken met en te registreren bij uw IoT Central toepassing.
De IoT Central gebruikt de model-id die door het apparaat wordt verzonden om het geregistreerde apparaat te koppelen aan een apparaatsjabloon.
Apparaten vooraf bulksgewijs registreren
Als u een groot aantal apparaten bij uw IoT Central wilt registreren, gebruikt u een CSV-bestand om apparaat-ID's en apparaatnamen te importeren.
Als uw apparaten SAS-tokens gebruiken om te verifiëren, exporteert u een CSV-bestand uit IoT Central toepassing. Het geëxporteerde CSV-bestand bevat de apparaat-ID's en de SAS-sleutels.
Als uw apparaten X.509-certificaten gebruiken om te verifiëren, genereert u X.509 leaf-certificaten voor uw apparaten met behulp van het basiscertificaat of tussencertificaat dat u hebt geüpload naar uw X.509-registratiegroep. Gebruik de apparaat-ID's die u hebt geïmporteerd CNAME als de waarde in de leaf-certificaten.
Apparaten moeten de waarde id-bereik voor uw toepassing gebruiken en een model-id verzenden wanneer ze verbinding maken.
Tip
U vindt de waarde id-bereik in Beheer > Apparaatverbinding.
Vooraf één apparaat registreren
Deze aanpak is handig wanneer u experimenteert met IoT Central of testen van apparaten. Selecteer + Nieuw op de pagina Apparaten om een afzonderlijk apparaat te registreren. U kunt de SAS-sleutels voor apparaatverbindingen gebruiken om het apparaat te verbinden met uw IoT Central toepassing. Kopieer de SAS-sleutel van het apparaat uit de verbindingsgegevens voor een geregistreerd apparaat:

Een apparaat koppelen aan een apparaatsjabloon
IoT Central apparaat automatisch aan een apparaatsjabloon koppelt wanneer het apparaat verbinding maakt. Een apparaat verzendt een model-id wanneer het verbinding maakt. IoT Central gebruikt de model-id om de apparaatsjabloon voor dat specifieke apparaatmodel te identificeren. Het detectieproces werkt als volgt:
- Als de apparaatsjabloon al is gepubliceerd in IoT Central toepassing, wordt het apparaat gekoppeld aan de apparaatsjabloon.
- Als de apparaatsjabloon nog niet is gepubliceerd in de IoT Central toepassing, zoekt IoT Central naar het apparaatmodel in de openbare modelopslagplaats. Als IoT Central het model vindt, wordt het gebruikt om een basisapparaatsjabloon te genereren.
- Als IoT Central het model niet in de openbare modelopslagplaats vindt, wordt het apparaat gemarkeerd als Niet-verbonden. Een operator kan een apparaatsjabloon voor het apparaat maken en vervolgens het niet-verbonden apparaat migreren naar de nieuwe apparaatsjabloon, of automatisch een apparaatsjabloon maken op basis van de gegevens die het apparaat verzendt.
In de volgende schermopname ziet u hoe u de model-id van een apparaatsjabloon in IoT Central. Selecteer een onderdeel in een apparaatsjabloon en selecteer vervolgens Identiteit bewerken:
U kunt het thermostaatmodel weergeven in de openbare modelopslagplaats. De model-id-definitie ziet er als volgende uit:
"@id": "dtmi:com:example:Thermostat;1"
Gebruik de volgende DPS-nettolading om het apparaat te koppelen aan een apparaatsjabloon:
{
"modelId":"dtmi:com:example:TemperatureController;2"
}
Zie de voorbeeldcode die wordt gebruikt in de Zelfstudie: Een clienttoepassing maken en verbinden met uw Azure IoT Central toepassing voor meer informatie over de DPS-nettolading.
Apparaatstatuswaarden
Wanneer een echt apparaat verbinding maakt met IoT Central toepassing, verandert de apparaatstatus als volgt:
De apparaatstatus is eerst Geregistreerd. Deze status betekent dat het apparaat is gemaakt in IoT Central en een apparaat-id heeft. Een apparaat wordt geregistreerd wanneer:
- Er wordt een nieuw echt apparaat toegevoegd op de pagina Apparaten.
- Een set apparaten wordt toegevoegd met Behulp van Importeren op de pagina Apparaten.
De apparaatstatus wordt gewijzigd in Ingericht wanneer het apparaat dat is verbonden met uw IoT Central toepassing met geldige referenties de inrichtingsstap voltooit. In deze stap gebruikt het apparaat DPS om automatisch een connection string op te halen uit de IoT Hub die wordt gebruikt door uw IoT Central toepassing. Het apparaat kan nu verbinding maken met IoT Central en beginnen met het verzenden van gegevens.
Een operator kan een apparaat blokkeren. Wanneer een apparaat is geblokkeerd, kan het geen gegevens naar uw IoT Central verzenden. Geblokkeerde apparaten hebben de status Geblokkeerd. Een operator moet het apparaat opnieuw instellen voordat het de verzending van gegevens kan hervatten. Wanneer een operator een apparaat deblokkeert, keert de status terug naar de vorige waarde, Geregistreerd of Ingericht.
Als de apparaatstatus Wachten op goedkeuring is, betekent dit dat de optie Automatisch goedkeuren is uitgeschakeld. Een operator moet een apparaat expliciet goedkeuren voordat het begint met het verzenden van gegevens. Apparaten die niet handmatig zijn geregistreerd op de pagina Apparaten, maar die zijn verbonden met geldige referenties, hebben de apparaatstatus Wachten op goedkeuring. Operators kunnen deze apparaten goedkeuren vanaf de pagina Apparaten met behulp van de knop Goedkeuren.
Als de apparaatstatus Niet-gekoppeld is, betekent dit dat het apparaat dat verbinding maakt met IoT Central geen gekoppelde apparaatsjabloon heeft. Deze situatie gebeurt meestal in de volgende scenario's:
- Een set apparaten wordt toegevoegd met Behulp van Importeren op de pagina Apparaten zonder de apparaatsjabloon op te geven.
- Een apparaat is handmatig geregistreerd op de pagina Apparaten zonder de apparaatsjabloon op te geven. Het apparaat is vervolgens verbonden met geldige referenties.
Een operator kan een apparaat koppelen aan een apparaatsjabloon vanaf de pagina Apparaten met behulp van de knop Migreren.
Verbindingsstatus van apparaat
Wanneer een apparaat of edge-apparaat verbinding maakt met behulp van het MQTT-protocol, worden er verbonden en niet-verbonden gebeurtenissen voor het apparaat gegenereerd. Deze gebeurtenissen worden niet door het apparaat verzonden. Ze worden intern gegenereerd door IoT Central.
In het volgende diagram ziet u hoe, wanneer een apparaat verbinding maakt, de verbinding wordt geregistreerd aan het einde van een tijdvenster. Als er meerdere verbindings- en verbindingsgebeurtenissen optreden, IoT Central de gebeurtenis geregistreerd die zich het dichtst bij het einde van het tijdvenster aanmeldt. Als een apparaat bijvoorbeeld de verbinding verbreekt en opnieuw verbinding maakt binnen het tijdvenster, IoT Central de verbindingsgebeurtenis geregistreerd. Op dit moment is het tijdvenster ongeveer één minuut.
Bekijk de volgende video voor meer informatie over het bewaken van de verbindingsstatus van apparaten:
U kunt verbindings- en verbindingsgebeurtenissen opnemen in exports van IoT Central. Zie Gebeurtenissen React IoT Hub voor > gebeurtenissen voor verbonden apparaten en niet-verbonden apparaten voor meer informatie.
SDK-ondersteuning
De Azure Device SDK's bieden de eenvoudigste manier om uw apparaatcode te implementeren. De volgende apparaat-SDK's zijn beschikbaar:
- Azure IoT-SDK voor C
- Azure IoT-SDK voor Python
- Azure IoT-SDK voor Node.js
- Azure IoT-SDK voor Java
- Azure IoT-SDK voor .NET
SDK-functies en IoT Hub connectiviteit
Alle apparaatcommunicatie met IoT Hub maakt gebruik van de volgende IoT Hub connectiviteitsopties:
De volgende tabel geeft een overzicht van Azure IoT Central apparaatfuncties zijn IoT Hub functies:
| Azure IoT Central | Azure IoT Hub |
|---|---|
| Telemetrie | Apparaat-naar-cloud-berichten |
| Offlineopdrachten | Cloud-naar-apparaat-berichten |
| Eigenschap | Gerapporteerde eigenschappen van apparaat dubbel |
| Eigenschap (beschrijfbaar) | Gewenste en gerapporteerde eigenschappen van apparaat dubbel |
| Opdracht | Directe methoden |
Protocollen
De Apparaat-SDK's ondersteunen de volgende netwerkprotocollen om verbinding te maken met een IoT-hub:
- MQTT
- AMQP
- HTTPS
Zie Choose a communication protocol (Een communicatieprotocol kiezen) voor meer informatie over deze verschillende protocollen en richtlijnen voor het kiezen van een protocol.
Als uw apparaat geen van de ondersteunde protocollen kan gebruiken, gebruikt u Azure IoT Edge om het protocol te conversie. IoT Edge biedt ondersteuning voor andere intelligence-on-the-edge-scenario's voor het offloaden van verwerking vanuit Azure IoT Central toepassing.
Beveiliging
Alle gegevens die worden uitgewisseld tussen apparaten en uw Azure IoT Central worden versleuteld. IoT Hub verifieert elke aanvraag van een apparaat dat verbinding maakt met een van de apparaat-gerichte IoT Hub eindpunten. Om te voorkomen dat referenties via de kabel worden uitgewisseld, gebruikt een apparaat ondertekende tokens om te verifiëren. Zie Toegang tot uw IoT Hub voor meer IoT Hub.
Volgende stappen
Enkele voorgestelde volgende stappen zijn:
- Bekijk de best practices voor het ontwikkelen van apparaten.
- Bekijk enkele voorbeeldcodes die laten zien hoe u SAS-tokens gebruikt in Zelfstudie: Een clienttoepassing maken en verbinden met uw Azure IoT Central toepassing
- Meer informatie over het verbinden van apparaten met X.509-certificaten met behulp van Node.js device SDK voor IoT Central Application
- Meer informatie over het bewaken van apparaatconnectiviteit met behulp van Azure CLI
- Meer informatie Azure IoT Edge apparaten en Azure IoT Central