Training
Certificering
Bouw end-to-end-oplossingen in Microsoft Azure om Azure Functions te maken, web-apps te implementeren en te beheren, oplossingen te ontwikkelen die gebruikmaken van Azure Storage en meer.
Deze browser wordt niet meer ondersteund.
Upgrade naar Microsoft Edge om te profiteren van de nieuwste functies, beveiligingsupdates en technische ondersteuning.
Azure Device Update voor IoT Hub ondersteunt updates op basis van installatiekopieën, pakketten en scripts. In deze zelfstudie ziet u een end-to-end update voor apparaatupdate op basis van installatiekopieën die gebruikmaakt van een Ubuntu-simulatoragent.
Installatiekopieënupdates bieden een hoge mate van vertrouwen in de eindstatus van het apparaat en vormen niet dezelfde problemen met pakket- en afhankelijkheidsbeheer als updates op basis van pakketten of scripts. Het is eenvoudiger om de resultaten van een installatiekopie-update tussen een preproductie- en productieomgeving te repliceren of eenvoudig een A/B-failovermodel te gebruiken.
In deze zelfstudie hebt u:
Voeg een apparaat toe aan het apparaatregister in uw IoT-hub. Elk apparaat dat verbinding maakt met IoT Hub, moet worden geregistreerd.
Nadat u het apparaat hebt geregistreerd, maakt u een module-id. Modules zijn onafhankelijke identiteiten voor IoT-apparaatonderdelen, waardoor gedetailleerdere granulariteit mogelijk is wanneer het apparaat meerdere processen uitvoert.
Voor deze zelfstudie maakt u een module-id voor de Device Update-agent die op het apparaat wordt uitgevoerd. Zie Moduledubbels begrijpen en gebruiken in IoT Hub voor meer informatie.
Device Update organiseert apparaten automatisch in groepen op basis van hun toegewezen tags en compatibiliteitseigenschappen. Elk apparaat behoort tot slechts één groep, maar groepen kunnen meerdere subgroepen hebben om verschillende apparaatklassen te sorteren.
U kunt een tag toewijzen aan elk apparaat dat door Device Update wordt beheerd om het apparaat toe te wijzen aan een apparaatupdategroep. De tag kan zich in de apparaatdubbel of in de moduledubbel bevinden, zoals in deze zelfstudie. Elk apparaat kan worden toegewezen aan slechts één Apparaatupdate-groep.
Selecteer Op de pagina Identiteitsdetails van module module de optie Identiteitsdubbel.
Voeg op de pagina Module Identity Twin een nieuwe DeviceUpdateGroup
tag toe aan de JSON-code op hetzelfde niveau als modelId
en version
, als volgt:
"tags": {
"DeviceUpdateGroup": "DU-simulator-tutorial"
},
Selecteer Opslaan. De portal herformatteert de moduledubbel om de tag op te nemen in de JSON-structuur.
De Device Update-agent wordt uitgevoerd op elk apparaat dat door Device Update wordt beheerd. In deze zelfstudie installeert u de Device Update-agent op het Ubuntu 18.04-apparaat en configureert u deze om te worden uitgevoerd als simulator, waarmee wordt gedemonstreerd hoe u een update op een apparaat kunt toepassen zonder de apparaatconfiguratie te wijzigen.
Notitie
U kunt de Azure IoT Identity Service ook gebruiken om het apparaat in te richten.
Hiervoor installeert u de Azure IoT Identity Service voordat u de Device Update-agent installeert. Configureer vervolgens de Device Update-agent met "connectionType": "AIS"
en laat connectionData
deze staan als een lege tekenreeks in het configuratiebestand.
Voeg de Microsoft-pakketopslagplaats toe en voeg vervolgens de ondertekeningssleutel van het Microsoft-pakket toe aan uw lijst met vertrouwde sleutels.
wget https://packages.microsoft.com/config/ubuntu/18.04/multiarch/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
Installeer de Device Update-agent .deb pakketten.
sudo apt-get update
sudo apt-get install deviceupdate-agent
Open het configuratiebestand van de du-config.json agent.
sudo nano /etc/adu/du-config.json
Werk du-config.json bij met de volgende voorbeeldwaarden. Vervang de <connection string>
tijdelijke aanduiding door de verbindingsreeks die u hebt gekopieerd uit de module-id. Zie Device Update-configuratiebestand voor meer informatie over de parameters.
manufacturer: "contoso"
model: "video"
agents.name: "aduagent"
agents.connectionData: <connection string>
agents.manufacturer: "contoso"
agents.model: "video"
Het bewerkte du-config.json-bestand moet er als volgt uitzien:
{
"schemaVersion": "1.0",
"aduShellTrustedUsers": [
"adu",
"do"
],
"manufacturer": "contoso",
"model": "video",
"agents": [
{
"name": "aduagent",
"runas": "adu",
"connectionSource": {
"connectionType": "string",
"connectionData": <connection string>
},
"manufacturer": "contoso",
"model": "video"
}
]
}
Druk op Ctrl+X om de editor af te sluiten en voer y in om uw wijzigingen op te slaan.
Als u de agent wilt instellen voor uitvoering als een simulator, voert u de volgende opdracht uit op het IoT-apparaat. De Device Update-agent roept de simulatorhandler aan om updates te verwerken die gebruikmaken van de Microsoft SWUpdate-extensie.
sudo /usr/bin/AducIotAgent --extension-type updateContentHandler --extension-id 'microsoft/swupdate:1' --register-extension /var/lib/adu/extensions/sources/libmicrosoft_simulator_1.so
Download en pak het Tutorial_Simulator.zip archief uit de meest recente releaseassetsvan GitHub Device Update Releases naar uw Ubuntu 18.04-computer.
U kunt het ZIP-bestand downloaden wget
. Vervang bijvoorbeeld door <release_version>
de nieuwste versie 1.0.0
.
wget https://github.com/Azure/iot-hub-device-update/releases/download/<release_version>/Tutorial_Simulator.zip
Kopieer het sample-du-simulator-data.json bestand uit de uitgepakte Tutorial_Simulator map naar de tmp-map .
cp sample-du-simulator-data.json /tmp/du-simulator-data.json
Notitie
Als de map tmp niet bestaat, maakt u deze als volgt:
sudo mkdir/tmp
sudo chown root:root/tmp
sudo chmod 1777/tmp
Wijzig de machtigingen voor het bestand /tmp/sample-du-simulator-data.json .
sudo chown adu:adu /tmp/du-simulator-data.json
sudo chmod 664 /tmp/du-simulator-data.json
Start de Device Update-agent opnieuw om uw wijzigingen toe te passen.
sudo systemctl restart deviceupdate-agent
Download en pak het Tutorial_Simulator.zip archief uit de meest recente releaseassetsvan GitHub Device Update Releases uit op uw ontwikkelcomputer, als deze verschilt van uw Ubuntu 18.04 IoT-apparaat. In deze sectie worden de bestanden TutorialImportManifest_Sim.importmanifest.json en adu-update-image-raspberrypi3.swu uit de map Tutorial_Simulator gebruikt.
Het updatebestand is hetzelfde als in de Raspberry Pi-zelfstudie. Omdat de update in deze zelfstudie wordt gesimuleerd, maakt de specifieke bestandsinhoud niet uit.
Meld u op uw ontwikkelcomputer aan bij Azure Portal en ga naar de IoT-hub die is geconfigureerd met uw Device Update-exemplaar.
Selecteer Apparaatbeheer> Updates in het navigatiedeelvenster.
Selecteer Een nieuwe update importeren op de pagina Updates.
Selecteer Selecteren in opslagcontainer op de pagina Update importeren.
Selecteer een bestaand opslagaccount of maak een nieuw account door Opslagaccount te selecteren.
Selecteer een bestaande container of maak een nieuwe container door Container te selecteren. Deze container wordt gebruikt voor het faseren van de updatebestanden voor het importeren.
Notitie
Als u wilt voorkomen dat bestanden uit eerdere updates per ongeluk worden geïmporteerd, gebruikt u telkens wanneer u een update importeert een nieuwe container. Als u geen nieuwe container gebruikt, moet u alle bestanden uit de bestaande container verwijderen.
Selecteer Uploaden op de containerpagina. Blader naar de bestanden TutorialImportManifest_Sim.importmanifest.json en adu-update-image-raspberrypi3.swu en selecteer vervolgens Uploaden.
Schakel de selectievakjes in voor beide bestanden en selecteer vervolgens Selecteren om terug te keren naar de pagina Update importeren .
Controleer op de pagina Update importeren de bestanden die moeten worden geïmporteerd en selecteer vervolgens Update importeren.
Het importproces wordt gestart en u kunt importgeschiedenis weergeven selecteren om de importgeschiedenis en -status weer te geven. Op de pagina Updategeschiedenis wordt in het veld Status geslaagd weergegevenwanneer het importeren is voltooid. U kunt Vernieuwen selecteren om de status bij te werken.
De geïmporteerde update wordt nu weergegeven op de pagina Updates .
Zie Een update importeren naar Device Update voor IoT Hub voor meer informatie over het importproces.
U kunt de groepstag gebruiken die u op uw apparaat hebt toegepast om de update te implementeren in de apparaatgroep. Selecteer het tabblad Groepen en implementaties boven aan de pagina Updates om de lijst met groepen en implementaties en het updatenalevingsdiagram weer te geven.
In het diagram voor updatecompatibiliteit ziet u het aantal apparaten in verschillende nalevingsstatussen: Bij de meest recente update, nieuwe updates die beschikbaar zijn en updates die worden uitgevoerd. Zie Apparaatupdate-naleving voor meer informatie.
Onder Groepsnaam ziet u een lijst met alle apparaatgroepen voor apparaten die zijn verbonden met deze IoT-hub en de beschikbare updates, met koppelingen voor het implementeren van de updates onder Status. Apparaten die niet voldoen aan de apparaatklassevereisten van een groep, worden weergegeven in een overeenkomstige ongeldige groep. Zie Apparaatgroepen beheren voor meer informatie over tags en groepen.
U ziet nu de apparaatgroep die het gesimuleerde apparaat bevat dat u in deze zelfstudie hebt ingesteld. Selecteer de groepsnaam om de details ervan weer te geven.
Op de pagina Groepsdetails ziet u een nieuwe update die beschikbaar is voor deze groep. Selecteer Implementeren om de implementatie te starten.
De update die u hebt geïmporteerd, wordt vermeld als de best beschikbare update voor deze groep. Selecteer Implementeren.
Plan de implementatie om onmiddellijk te starten en selecteer vervolgens Maken.
Navigeer naar het tabblad Huidige updates. Onder Implementatiedetails wordt de status geactiveerd.
Nadat het apparaat is bijgewerkt, gaat u terug naar de pagina Updates . U ziet dat uw nalevingsgrafiek en implementatiegegevens zijn bijgewerkt om de geïnstalleerde update op te nemen.
Ga terug naar de pagina met groepsdetails en selecteer het tabblad Implementatiegeschiedenis .
Selecteer Implementatiedetails weergeven naast de implementatie die u hebt gemaakt. Selecteer Vernieuwen om de meest recente statusdetails weer te geven.
Als u doorgaat met de volgende zelfstudie, houdt u de Resources voor Apparaatupdate en IoT Hub bij. Wanneer u de resources die u voor deze zelfstudie hebt gemaakt niet meer nodig hebt, kunt u ze verwijderen.
Training
Certificering
Bouw end-to-end-oplossingen in Microsoft Azure om Azure Functions te maken, web-apps te implementeren en te beheren, oplossingen te ontwikkelen die gebruikmaken van Azure Storage en meer.