Uw ontwikkel- en testomgeving voorbereiden voor IoT Edge

Van toepassing op:IoT Edge 1.4 checkmark IoT Edge 1.4

Belangrijk

IoT Edge 1.4 is de ondersteunde release. Raadpleeg IoT Edge bijwerken als u een eerdere versie hebt.

IoT Edge verplaatst uw bestaande bedrijfslogica naar apparaten die aan de rand werken. Als u uw toepassingen en workloads wilt voorbereiden voor uitvoering als IoT Edge-modules, moet u ze bouwen als containers. Dit artikel bevat richtlijnen voor het configureren van uw ontwikkelomgeving, zodat u een IoT Edge-oplossing kunt maken. Zodra u uw ontwikkelomgeving hebt ingesteld, kunt u leren hoe u uw eigen IoT Edge-modules kunt ontwikkelen.

In elke IoT Edge-oplossing zijn er ten minste twee computers waarmee u rekening moet houden: het IoT Edge-apparaat (of apparaten) waarop de IoT Edge-module wordt uitgevoerd en de ontwikkelcomputer waarmee modules worden gebouwd, getest en geïmplementeerd. Dit artikel richt zich voornamelijk op de ontwikkelcomputer. Voor testdoeleinden kunnen de twee machines hetzelfde zijn. U kunt IoT Edge uitvoeren op uw ontwikkelcomputer en modules erop implementeren.

Besturingssysteem

IoT Edge wordt uitgevoerd op een specifieke set ondersteunde besturingssystemen. Bij het ontwikkelen voor IoT Edge kunt u de meeste besturingssystemen gebruiken die een containerengine kunnen uitvoeren. De containerengine is een vereiste voor de ontwikkelcomputer om uw modules als containers te bouwen en naar een containerregister te pushen.

Als uw ontwikkelcomputer IoT Edge niet kan uitvoeren, gaat u verder met de sectie Testhulpprogramma's van dit artikel voor informatie over het lokaal testen en opsporen van fouten.

De besturingssystemen van de ontwikkelcomputer en IoT Edge-apparaten hoeven niet overeen te komen. Het containerbesturingssysteem moet echter consistent zijn met de ontwikkelcomputer en het IoT Edge-apparaat. U kunt bijvoorbeeld modules ontwikkelen op een Windows-computer en deze implementeren op een Linux-apparaat. De Windows-computer moet Linux-containers uitvoeren om de modules voor het Linux-apparaat te bouwen.

Containerengine

Het centrale concept van IoT Edge is dat u uw bedrijfs- en cloudlogica op afstand op apparaten kunt implementeren door deze in containers te verpakken. Als u containers wilt bouwen, hebt u een containerengine nodig op uw ontwikkelcomputer.

De enige ondersteunde containerengine voor IoT Edge-apparaten in productie is Moby. Elke containerengine die compatibel is met het Open Container Initiative, zoals Docker, kan echter installatiekopieën van IoT Edge-modules bouwen.

Ontwikkelhulpprogramma's

Het Azure IoT Edge-ontwikkelhulpprogramma is een opdrachtregelprogramma voor het ontwikkelen en testen van IoT Edge-modules. U kunt nieuwe IoT Edge-scenario's maken, module-installatiekopieën bouwen, modules uitvoeren in een simulator en berichten bewaken die naar IoT Hub worden verzonden. Het iotedgedev-hulpprogramma is het aanbevolen hulpprogramma voor het ontwikkelen van IoT Edge-modules.

Zowel Visual Studio als Visual Studio Code hebben uitbreidingen om IoT Edge-oplossingen te ontwikkelen. Deze extensies bieden taalspecifieke sjablonen voor het maken en implementeren van nieuwe IoT Edge-scenario's. De Azure IoT Edge-extensies voor Visual Studio en Visual Studio Code helpen u bij het codeeren, bouwen, implementeren en fouten opsporen in uw IoT Edge-oplossingen. U kunt een volledige IoT Edge-oplossing maken die meerdere modules bevat en de extensies automatisch een implementatiemanifestsjabloon bijwerken met elke nieuwe module-toevoeging. Met de extensies kunt u ook IoT-apparaten beheren vanuit Visual Studio of Visual Studio Code. U kunt modules implementeren op een apparaat, de status bewaken en berichten bekijken wanneer ze binnenkomen bij IoT Hub. Ten slotte gebruiken beide extensies het IoT EdgeHub-ontwikkelhulpprogramma om lokaal uitvoeren en foutopsporing van modules op uw ontwikkelcomputer in te schakelen.

IoT Edge-ontwikkelhulpprogramma

Het azure IoT Edge-ontwikkelhulpprogramma vereenvoudigt ioT Edge-ontwikkeling met opdrachtregelmogelijkheden. Dit hulpprogramma biedt CLI-opdrachten voor het ontwikkelen, opsporen van fouten en het testen van modules. Het IoT Edge-ontwikkelprogramma werkt met uw ontwikkelsysteem, ongeacht of u de afhankelijkheden handmatig op uw computer hebt geïnstalleerd of de vooraf gedefinieerde IoT Edge Dev Container gebruikt om het iotedgedev-hulpprogramma in een container uit te voeren.

Zie de wiki voor ioT Edge-ontwikkelhulpprogramma's voor meer informatie en om aan de slag te gaan.

Visual Studio Code-extensie

De Azure IoT Edge-extensie voor Visual Studio Code biedt IoT Edge-modulesjablonen die zijn gebouwd op programmeertalen, waaronder C, C#, Java, Node.js en Python. Sjablonen voor Azure-functies in C# zijn ook opgenomen.

Belangrijk

De Azure IoT Edge Visual Studio Code-extensie bevindt zich in de onderhoudsmodus. Het iotedgedev-hulpprogramma is het aanbevolen hulpprogramma voor het ontwikkelen van IoT Edge-modules.

Zie Azure IoT Edge voor Visual Studio Code voor meer informatie en om te downloaden.

Naast de IoT Edge-extensies is het wellicht handig om extra extensies te installeren voor het ontwikkelen. U kunt bijvoorbeeld Docker-ondersteuning voor Visual Studio Code gebruiken om uw installatiekopieën, containers en registers te beheren. Daarnaast hebben alle belangrijke ondersteunde talen extensies voor Visual Studio Code die u kunnen helpen bij het ontwikkelen van modules.

De Azure IoT Hub-extensie is handig als een aanvulling voor de Azure IoT Edge-extensie.

Visual Studio 2017/2019-extensie

De Azure IoT Edge-hulpprogramma's voor Visual Studio bieden een IoT Edge-modulesjabloon die is gebouwd op C# en C.

Belangrijk

De Azure IoT Edge Visual Studio-extensies bevinden zich in de onderhoudsmodus. Het iotedgedev-hulpprogramma is het aanbevolen hulpprogramma voor het ontwikkelen van IoT Edge-modules.

Zie Azure IoT Edge Tools voor Visual Studio 2017 of Azure IoT Edge Tools voor Visual Studio 2019 voor meer informatie en om te downloaden.

Testhulpprogramma's

Er bestaan verschillende testhulpprogramma's waarmee u IoT Edge-apparaten of foutopsporingsmodules efficiënter kunt simuleren. In de onderstaande tabel ziet u een vergelijking op hoog niveau tussen de hulpprogramma's en de volgende afzonderlijke secties.

Alleen de IoT Edge-runtime wordt ondersteund voor productie-implementaties, maar met de volgende hulpprogramma's kunt u IoT Edge-apparaten simuleren of eenvoudig maken voor ontwikkelings- en testdoeleinden. Deze hulpprogramma's sluiten elkaar niet wederzijds uit, maar kunnen samenwerken voor een volledige ontwikkelervaring.

Hulpprogramma Ook wel bekend als Ondersteunde platformen Ideaal voor
IoT EdgeHub-ontwikkelhulpprogramma iotedgehubdev Windows, Linux, macOS Een apparaat simuleren om fouten in modules op te sporen.
IoT Edge-dev-container iotedgedev Windows, Linux, macOS Ontwikkelen zonder afhankelijkheden te installeren.

IoT EdgeHub-ontwikkelhulpprogramma

Het azure IoT EdgeHub-ontwikkelhulpprogramma biedt een lokale ontwikkel- en foutopsporingservaring. Het hulpprogramma helpt IoT Edge-modules te starten zonder de IoT Edge-runtime, zodat u lokaal IoT Edge-modules en -oplossingen kunt maken, ontwikkelen, testen, uitvoeren en fouten kunt opsporen. U hoeft installatiekopieën niet naar een containerregister te pushen en deze te implementeren op een apparaat om te testen.

Het IoT EdgeHub-ontwikkelhulpprogramma is ontworpen om te werken in combinatie met de Visual Studio- en Visual Studio Code-extensies, evenals met het IoT Edge-ontwikkelhulpprogramma. Het dev-hulpprogramma biedt ondersteuning voor het ontwikkelen van interne lus en het testen van de buitenste lus, zodat het ook kan worden geïntegreerd met andere DevOps-hulpprogramma's.

Belangrijk

Het IoT EdgeHub-ontwikkelhulpprogramma bevindt zich in de onderhoudsmodus. Overweeg het gebruik van een virtuele Linux-machine met IoT Edge-runtime geïnstalleerd, fysiek apparaat of EFLOW.

Zie het azure IoT EdgeHub-ontwikkelhulpprogramma voor meer informatie en om te installeren.

IoT Edge-dev-container

De Azure IoT Edge-dev-container is een Docker-container met alle afhankelijkheden die u nodig hebt voor IoT Edge-ontwikkeling. Met deze container kunt u eenvoudig aan de slag gaan met de taal waarin u wilt ontwikkelen, waaronder C#, Python, Node.js en Java. U hoeft alleen maar een containerengine te installeren, zoals Docker of Moby, om de container naar uw ontwikkelcomputer te halen.

Zie azure IoT Edge dev-container voor meer informatie.

DevOps-hulpprogramma’s

Wanneer u klaar bent om op schaal oplossingen te ontwikkelen voor uitgebreide productiescenario's, profiteert u van moderne DevOps-principes, waaronder automatisering, bewaking en gestroomlijnde software-engineeringprocessen. IoT Edge heeft extensies ter ondersteuning van DevOps-hulpprogramma's, waaronder Azure DevOps, Azure DevOps Projects en Jenkins. Als u een bestaande pijplijn wilt aanpassen of een ander DevOps-hulpprogramma zoals CircleCI of TravisCI wilt gebruiken, kunt u dit doen met de CLI-functies die zijn opgenomen in het IoT Edge-ontwikkelhulpprogramma.

Zie de volgende pagina's voor meer informatie, richtlijnen en voorbeelden: