# VM Install Script – Azure IoT Edge `install.sh` installeert op een Debian- of Ubuntu-VM: 1. de Microsoft package repository 2. `moby-engine` (Docker), met `log-driver: local` 3. `aziot-edge`, gekoppeld aan de IoT Hub met jouw Device ID en Shared Access Key ## Benodigd - Een VM met Debian (bijv. 12) of Ubuntu (bijv. 22.04 / 24.04) - Een gebruiker met `sudo`-rechten en internettoegang - De **Device ID** en **Shared Access Key** van het IoT Edge-device (Azure Portal → IoT Hub → Devices → jouw device) ## Stap 1 – Script naar de VM kopiëren Vanaf je Windows-pc (PowerShell): ```powershell scp .\install.sh gebruiker@:~/ ``` Of maak het bestand direct op de VM aan met `nano install.sh` en plak de inhoud. ## Stap 2 – Uitvoerbaar maken Log in op de VM (`ssh gebruiker@`) en voer uit: ```bash chmod +x install.sh ``` > **Let op (Windows line endings):** als je de foutmelding > `/usr/bin/env: 'bash\r': No such file or directory` krijgt, is het bestand > opgeslagen met Windows-regeleinden. Los dit op met: > > ```bash > sed -i 's/\r$//' install.sh > ``` ## Stap 3 – Script draaien ```bash sudo ./install.sh ``` Voorbeeld: ```bash sudo ./install.sh mijn-edge-device-01 'abc123...=' ``` Zet de key tussen **enkele aanhalingstekens**, omdat keys vaak tekens als `=`, `+` of `/` bevatten. ### Andere IoT Hub gebruiken Standaard wordt `iot-shared-v6odheqozqccs-prod.azure-devices.net` gebruikt. Een andere hub geef je zo op: ```bash sudo IOT_HUB_HOSTNAME=mijn-hub.azure-devices.net ./install.sh ``` ## Stap 4 – Controleren ```bash sudo iotedge system status # services moeten 'Running' zijn sudo iotedge check # uitgebreide controle van configuratie en verbinding sudo iotedge list # draaiende modules (edgeAgent, edgeHub, ...) ``` Het kan een paar minuten duren voordat `edgeAgent` en `edgeHub` verschijnen. ## Opnieuw draaien Het script kan veilig opnieuw gedraaid worden, bijvoorbeeld met een andere Device ID. De bestaande `/etc/aziot/config.toml` wordt dan overschreven. ## Problemen oplossen | Probleem | Oplossing | |---|---| | `Dit script moet als root draaien` | Start het script met `sudo`. | | `Kon packages-microsoft-prod.deb niet downloaden` | Je OS-versie wordt (nog) niet door Microsoft ondersteund, of er is geen internet. | | `iotedge check` geeft verbindingsfouten | Controleer Device ID, key, hostname en of uitgaande poorten 443/5671/8883 open zijn. | | Logs bekijken | `sudo iotedge system logs` |