Azure IoT-apparaatontwikkeling

Azure IoT is een verzameling beheerde en platformservices waarmee uw IoT-apparaten worden verbonden, bewaakt en beheerd. Azure IoT biedt ontwikkelaars een uitgebreide set opties. Uw opties zijn onder andere apparaatplatformen, ondersteunende cloudservices, SDK's, MQTT-ondersteuning en hulpprogramma's voor het bouwen van cloudtoepassingen met apparaatondersteuning.

In dit artikel worden verschillende belangrijke overwegingen beschreven voor ontwikkelaars die aan de slag gaan met Azure IoT.

Paden voor apparaatontwikkeling

In dit artikel worden twee algemene paden voor apparaatontwikkeling besproken. Elk pad bevat een set gerelateerde ontwikkelopties en taken.

  • Algemene apparaatontwikkeling: is afgestemd op moderne ontwikkelprocedures, is gericht op talen met een hogere volgorde en wordt uitgevoerd op een algemeen besturingssysteem, zoals Windows of Linux.

    Notitie

    Als uw apparaat een algemeen besturingssysteem kan uitvoeren, raden we u aan het pad voor apparaatontwikkeling te volgen. Het biedt een uitgebreidere set ontwikkelopties.

  • Ingesloten apparaatontwikkeling: beschrijft de ontwikkeling die is gericht op apparaten met beperkte resources. Vaak gebruikt u een apparaat met resourcebeperkingen om de kosten, het energieverbruik of de apparaatgrootte per eenheid te verlagen. Deze apparaten hebben directe controle over het hardwareplatform waarop ze worden uitgevoerd.

Algemene apparaatontwikkeling

Sommige ontwikkelaars passen bestaande apparaten voor algemeen gebruik aan om verbinding te maken met de cloud en te integreren in hun IoT-oplossingen. Deze apparaten kunnen talen met een hogere volgorde ondersteunen, zoals C# of Python, en ondersteunen vaak een robuust besturingssysteem voor algemeen gebruik, zoals Windows of Linux. Veelgebruikte doelapparaten zijn pc's, containers, Raspberry Pis en mobiele apparaten.

In plaats van beperkte apparaten op schaal te ontwikkelen, richten algemene apparaatontwikkelaars zich op het inschakelen van een specifiek IoT-scenario dat is vereist voor hun cloudoplossing. Sommige ontwikkelaars werken ook op beperkte apparaten voor hun cloudoplossing. Zie het pad Voor ontwikkelaars die werken met apparaten met beperkte resources het pad Voor apparaatontwikkeling ingesloten.

Belangrijk

Zie de Apparaat-SDK's voor informatie over SDK's die u kunt gebruiken voor algemene apparaatontwikkeling.

Ontwikkeling van ingesloten apparaten

Ingesloten ontwikkeldoelen voor beperkte apparaten met beperkt geheugen en verwerking. Beperkte apparaten beperken wat kan worden bereikt in vergelijking met een traditioneel ontwikkelplatform.

Ingesloten apparaten gebruiken doorgaans een realtime besturingssysteem (RTOS) of helemaal geen besturingssysteem. Ingesloten apparaten hebben volledige controle over hun hardware, vanwege het ontbreken van een algemeen besturingssysteem. Dat maakt ingesloten apparaten een goede keuze voor realtime systemen.

De huidige ingesloten SDK's zijn gericht op de C-taal . De ingesloten SDK's bieden geen besturingssysteem of Eclipse ThreadX-ondersteuning. Ze zijn ontworpen met ingesloten doelen in gedachten. De ontwerpoverwegingen omvatten de noodzaak van een minimale footprint en een niet-geheugentoewijzingsontwerp.

Belangrijk

Zie de SDK's voor ingesloten apparaten voor informatie over SDK's die kunnen worden gebruikt met ingesloten apparaatontwikkeling.

Uw hardware kiezen

Azure IoT-apparaten zijn de basisbouwstenen van een IoT-oplossing en zijn verantwoordelijk voor het observeren en communiceren met hun omgeving. Er zijn veel verschillende typen IoT-apparaten en het is handig om inzicht te krijgen in de soorten apparaten die bestaan en hoe ze van invloed kunnen zijn op uw ontwikkelingsproces.

Zie Over IoT-apparaattypen voor meer informatie over het verschil tussen apparaattypen die in dit artikel worden besproken.

Een SDK kiezen

Als Azure IoT-apparaatontwikkelaar hebt u een diverse set SDK's, protocollen en hulpprogramma's om cloudtoepassingen met apparaatondersteuning te bouwen.

Er zijn twee belangrijke opties om apparaten te verbinden en te communiceren met IoT Hub:

  • Gebruik de Azure IoT SDK's. In de meeste gevallen wordt u aangeraden de Azure IoT SDK's te gebruiken in plaats van MQTT rechtstreeks te gebruiken. De SDK's stroomlijnen uw ontwikkelingsinspanningen en vereenvoudigen de complexiteit van het verbinden en beheren van apparaten. IoT Hub ondersteunt het MQTT v3.1.1-protocol en de IoT SDK's vereenvoudigen het proces van het gebruik van MQTT om te communiceren met IoT Hub.
  • Gebruik het MQTT-protocol rechtstreeks. Er zijn enkele voordelen van het bouwen van een IoT Hub-oplossing om MQTT rechtstreeks te gebruiken. Een oplossing die rechtstreeks gebruikmaakt van MQTT zonder de SDK's kan bijvoorbeeld worden gebouwd op de open MQTT-standaard. Een op standaarden gebaseerde benadering maakt de oplossing draagbaarder en geeft u meer controle over hoe apparaten verbinding maken en communiceren. IoT Hub is echter geen volledige MQTT-broker en biedt geen ondersteuning voor alle gedragingen die zijn opgegeven in de MQTT v3.1.1-standaard. Met de gedeeltelijke ondersteuning voor MQTT v3.1.1 worden de ontwikkelingskosten en complexiteit toegevoegd. Apparaatontwikkelaars moeten de afwegingen afwegen van het gebruik van de SDK's van het IoT-apparaat versus het rechtstreeks gebruiken van MQTT. Zie Communiceren met een IoT-hub met behulp van het MQTT-protocol voor meer informatie.

Er zijn drie sets IoT SDK's voor apparaatontwikkeling:

  • Apparaat-SDK's (voor het gebruik van talen met een hogere volgorde om bestaande apparaten voor algemeen gebruik te verbinden met IoT-toepassingen)
  • SDK's voor ingesloten apparaten (voor het verbinden van apparaten met beperkte resources met IoT-toepassingen)
  • Service-SDK's (voor het bouwen van Azure IoT-oplossingen die apparaten verbinden met services)

Zie Azure IoT SDK's voor meer informatie over het kiezen van een Azure IoT-apparaat of service-SDK.

Een service selecteren

Een belangrijke stap in het ontwikkelingsproces is het selecteren van een service waarmee u uw apparaten wilt verbinden. Er zijn twee primaire Azure IoT-serviceopties voor het verbinden en beheren van apparaten: IoT Hub en IoT Central.

  • Azure IoT Hub. Iot Hub gebruiken om IoT-toepassingen te hosten en apparaten te verbinden. IoT Hub is een PaaS-toepassing (Platform-as-a-Service) die fungeert als een centrale berichtenhub voor bidirectionele communicatie tussen IoT-toepassingen en verbonden apparaten. IoT Hub kan worden geschaald om miljoenen apparaten te ondersteunen. Vergeleken met andere Azure IoT-services biedt IoT Hub de grootste controle en aanpassing van uw toepassingsontwerp. Het biedt ook de meeste opties voor ontwikkelaarshulpprogramma's voor het werken met de service, tegen de kosten van enige toename van de complexiteit van ontwikkeling en beheer.
  • Azure IoT Central. IoT Central is ontworpen om het werken met IoT-oplossingen te vereenvoudigen. U kunt het gebruiken als een proof-of-concept om uw IoT-oplossingen te evalueren. IoT Central is een SaaS-toepassing (software-as-a-service) die een webgebruikersinterface biedt om de taken van het maken van toepassingen te vereenvoudigen en apparaten te verbinden en te beheren. IoT Central maakt gebruik van IoT Hub om toepassingen te maken en te beheren, maar houdt de meeste details transparant voor de gebruiker.

Hulpprogramma's voor het verbinden en beheren van apparaten

Nadat u hardware en een apparaat-SDK hebt geselecteerd die u wilt gebruiken, hebt u verschillende opties voor ontwikkelhulpprogramma's. U kunt deze hulpprogramma's gebruiken om uw apparaat te verbinden met IoT Hub en deze te beheren. De volgende tabel bevat een overzicht van veelgebruikte hulpprogrammaopties.

Hulpprogramma Documentatie Description
Azure Portal Een IoT-hub maken met Azure Portal Browserportal voor IoT Hub en apparaten. Werkt ook met andere Azure-resources, waaronder IoT Central.
Azure IoT Explorer Azure IoT Explorer Kan geen IoT-hubs maken. Verbinding maken naar een bestaande IoT-hub voor het beheren van apparaten. Vaak gebruikt met CLI of Portal.
Azure-CLI Een IoT-hub maken met CLI Opdrachtregelinterface voor het maken en beheren van IoT-toepassingen.
Azure PowerShell Een IoT-hub maken met PowerShell PowerShell-interface voor het maken en beheren van IoT-toepassingen
Azure IoT Tools voor VS Code Een IoT-hub maken met Hulpprogramma's voor VS Code VS Code-extensie voor IoT Hub-toepassingen.

Notitie

Naast de eerder vermelde hulpprogramma's kunt u programmatisch IoT-toepassingen maken en beheren met behulp van REST API's, Azure SDK's of Azure Resource Manager-sjablonen. Meer informatie vindt u in de ioT Hub-servicedocumentatie .

Volgende stappen

Zie het volgende artikel voor meer informatie over apparaat-SDK's die u kunt gebruiken om apparaten te verbinden met Azure IoT.

Als u aan de slag wilt gaan met het ontwikkelen van apparaten, selecteert u een zelfstudie voor apparaatontwikkeling die relevant is voor de apparaten die u gebruikt. De volgende zelfstudies zijn goede uitgangspunten voor algemene apparaatontwikkeling of ingesloten apparaatontwikkeling.