A curated list of awesome Azure IoT Edge projects and resources.
There are many options for the CreateOptions that will enable features for a module. Setting up a Volume to persist data? Exposing a port on the host? Using Privileged mode to enable access to hardware on the UArt? It can be done in the create options. The trick is to go to the docker documentation for all the options:
Using Redis on IoT Edge is really simple. I've used a regular redis docker image as an edge module. I've also tried the RedisEdge module but found the main Redis docker easier to customize.
- Docker Redis
- RedisEdge module A module can connect to a redis module with :6379
There are lots of options for how to build a dotnet docker image. Set the base image to Alpine linux to reduce the size for example.
Tricks to inspect or debug modules.
Export the contents of a module and then inspect the folder structure.
- docker export (Docker Container ID) -o module.tar
- tar -xf module.tar
Attach to a module with a shell. Useful to debug networking.
- docker exec -it (Docker Container Id) /bin/bash
Remove a module from the local edge device container registry. This will force the edgeAgent to reload it from the remote container registry.
- docker rmi -f (ContainerRegistry\ModuleName:tag)
- Azure IoT Edge for Visual Studio Code - Develop, deploy, debug, and manage your IoT Edge solution in Visual Studio Code
- Azure IoT Edge Dev Tool - A CLI tool greatly simplifies your Azure IoT Edge development process.
- Azure IoT Edge for Visual Studio Team Service - Enable IoT Edge continuous integration and continuous deployment in Visual Studio Team Service.
- The IoT extension for Azure CLI 2.0 - Azure CLI 2.0 enables you to manage Azure IoT Hub resources, device provisioning service instances, and linked-hubs out of the box.
- Custom module
- .Net Core module - Run
dotnet
CLI to generate C# or F# module project. - Python module - Run
cookiecutter
to generate Python module project. - Node.js module - Run
yo
to generate Node.js module project. - C module
- Java module
- .Net Core module - Run