A collection of software used to utilize IoT devices to control 433MHz based door control systems.
ToDo: Add a Intoduction to project and explaint setup process.
- Device Client
- The Software running on the Edge device which will send the 433 MHz signals to your doors.
- IoT Central Trigger Function
- The Function used to receive signals from the end devices and forwarding them securely to Azure IoT Central
- Microsoft Azure - As main Cloud Environment
- Azure Functions - Main Entrypoint for REST Clients and Connector to Azure IoT Central
- Azure managed Identities - To connect Azure Functions and Azure IoT Central
- Azure IoT Central - IoT AllIn One suite for Communication with the IoT End Devices
- Azure Functions - Main Entrypoint for REST Clients and Connector to Azure IoT Central
- RaspberryPi - As Test Hardware
- .NET 6 as the current LTS version as Client App Framework
You need the following prerequisites to operate the doorcontroller:
- A Raspberry Pi system which can run the latest Version of Raspberry Pi OS 11
- An Azure Subscription to host the Azure Functions in an Azure Function App
The Azure Function can be deployed with the Azure Function CLI. The Setup of a managed Identity with access to the Azure IoT Central app is also neccesary.
An installer is available to setup the device client, the Linux service and the cronjob. You can execute the installer with the following command in the Raspbian OS system as root
:
curl https://raw.githubusercontent.com/abeckDev/IoTDoorController/master/DeviceClient/AbeckDev.DoorController.DeviceClient/setupDoorController.sh | bash -
The Device Client can be updated with a specific updater file. The usage is similiar to the installation process. The script also need to be run as root
:
curl https://raw.githubusercontent.com/abeckDev/IoTDoorController/master/DeviceClient/AbeckDev.DoorController.DeviceClient/updateDoorClient.sh | bash -
- Azure Functions - Serverless Framework which receive signals from the end devices and forwarding them securely to Azure IoT Central
- Azure IoT Central - Central IoT App Plattform
- .NET 6 - The Framework used to build the Device Client software
Please read Contributing for the process for submitting pull requests to us and refer to Code of Conduct for details on our code of conduct.
We use SemVer for versioning. For the versions available, see the tags on this repository.
- Alexander Beck - Initial work - abeckdev
See also the list of contributors who participated in this project.
This project is licensed under the MIT License - see the LICENSE file for details
- Thanks to the Microsoft Learn Plattform Module Create your first iot central app for a great introduction to IoT Central and a sample Application code.