Note that the project is aimed at deploying an image classification app to an edge device (in my case a raspberry pi). The computed results will send messages to the Azure IoT Hub and can be analyzed through its analytics service, Stream Analytics. Here are the steps that are involved in deploying the project:
- Build the image through Docker or Visual Studio Code Extension for Azure Iot. This should create an image
- Tag the image and upload it to a Azure Container Registry
- Deploy the image from Azure IoT Hub or through Azure Cli (your terminal)
- Start a BlobStorage and link it to the Stream Analytics service
- View the messages received by the IoT Hub on the analytics service via query
Here are the results. We found that both Azure IoT and the AWS Greengrass platforms performed similarly in the image classification task:
Note that in total you will need these services:
- Azure Container Registry
- Azure IoT Hub
- Azure Stream Analytics
- Azure Storage Account
Note that all of these services have a free tier, but IoT Hub has a limitations on how many messages you can send per day. So be aware! Also, note that you will need to install these software:
- Azure Cli on both your development machine and the edge node machine
- Docker on your development machine
- (optional) Visual Studio Code
- (optional) Raspbian (OS for Raspberry Pi)
We recognize that this project was largely a small modification project to the original EdgeBench Project. Here is a link to the original repository by Anirban Das and his team: