87 lines
2.5 KiB
Markdown
87 lines
2.5 KiB
Markdown
# 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@<VM-IP>:~/
|
||
```
|
||
|
||
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@<VM-IP>`) 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 <DEVICE_ID> <SHARED_ACCESS_KEY>
|
||
```
|
||
|
||
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 <DEVICE_ID> <SHARED_ACCESS_KEY>
|
||
```
|
||
|
||
## 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` |
|