This project aims to provide a solution for handling IoT Devices easyly. It leverages on Azure IoT Hub for connectivity and device management.
- Portal Authentication
- IoT Device & device Model management
- IoT Edge device management
- C2D Methods
- LoRA WAN device connectivity
The following should be completed before proceeding with the IoT Hub Portal development or deployment in your environment.
- You must have an Azure subscription. Get an Azure Free account to get started.
- You must have configured an Azure AD B2C Tenant with applications. See Portal AD applications configuration page.
- Understandr how IoTEdge LoraWAN StarterKit work. Have a look at https://azure.github.io/iotedge-lorawan-starterkit to get started.
The template will deploy in your Azure subscription the Following resources:
- IoT Hub
- Azure Function and Consumption Service Plan
- Redis Cache
- Application Insights
- Log Analytics (when opted in to use Azure Monitor)
- Azure WebApp and Service Plan
- Azure Database for PostgreSQL
-
Choose a solution prefix for your deployment.
-
Use Portal AD applications configuration page to configure your AD B2C Tenant.
You should have recorded the following information:
- OpenID authority:
<your-openid-authority>
- OpenID metadata URL:
<your-openid-provider-metadata-url>
- Client ID:
<your-client-id>
- API Client ID:
<your-client-id>
- OpenID authority:
-
Press on the button here below to start your Azure Deployment.
-
You will get to a page asking you to fill the following fields :
- Resource Group: A logical "folder" where all the template resource would be put into, just choose a meaningful name.
- Location: In which DataCenter the resources should be deployed. Make sure to choose a location where IoT Hub is available
- Unique Solution Prefix: A string that would be used as prefix for all the resources name to ensure their uniqueness.
- PostgreSQL user: The PostgreSQL user name to be used for the IoT Hub Portal database.
- PostgreSQL password: The PostgreSQL password to be used for the IoT Hub Portal database.
- Confirm PostgreSQL password: The PostgreSQL password to be used for the IoT Hub Portal database.
- Open Id Authority: The OpenID authority used by the portal.
- OpenId Metadata URL: The OpenID metadata URL used by the portal.
- Client Id: the ID of the web client that will be used to authenticate the portal.
- Api Client Id: the ID of the API client that will be used to authenticate the portal.
- Edge gateway name: the name of your LoRa Gateway node in the IoT Hub.
- Deploy Device: Do you want demo end devices to be already provisioned (one using OTAA and one using ABP)? If yes set this to true, the code located in the Arduino folder would be ready to use immediately.
- Reset pin: The reset pin of your gateway (the value should be 7 for the Seed Studio LoRaWan, 25 for the IC880A)
- Region: In what region are you operating your device (currently only EU868 and US915 is supported)
see: https://azure.github.io/iotedge-lorawan-starterkit/dev/quickstart/#deployed-azure-infrastructure for more information about the LoRaWan IoT Hub and Azure deployment.
Our documentation is present at github page: https://cgi-fr.github.io/IoT-Hub-Portal/.
Refer to Known Issues for known issues, gotchas and limitations.
This is an open source solution. For bugs and issues with the codebase please log an issue in this repo.