For Fun Physical Access Control system (door lock and alarm) - Raspberry Pi, .NET 5, ASP.NET, Azure IoT Hub.
Initially, built in 2018-2019. Code refactored in February 2021.
More info in docs.
Learning about building microservices, better structuring code, and some electronic low-level programming.
Expressing my creativity - having fun.
Since publishing this project, I have been updating everything to .NET 5, from an earlier version of .NET Core.
There has been some drastic restructuring going on since then.
My goal is to recreate my original Raspberry PI set up, and to create guides on how to set everything up.
Alarm | Access Log |
---|---|
Raspberry Pi |
---|
The project consists of the 2 main services:
- AppService - Cloud service
- AccessPoint - Running on the Raspberry Pi
The services connect to these Azure services:
- Azure IoT Hub
- Azure Notification Hub
It also contains these apps:
- Web App (Blazor)
- Mobile App (Xamarin.Forms)
The Raspberry Pi uses the following components:
- Magnet door sensor
- Buzzer (for signal)
- Relay (for a door lock)
- RFID Card Reader (MFRC522)
- RGB LED (light with color)
- Motion Sensor (PIR)
- Button
Schematics for the setup.
- .NET 5 SDK
Additional tools:
- Docker
- Project "Tye" - to simplify launching and running multiple services in parallel when developing.
You can run services separately but that requires some configuration. Instead, Project Tye is strongly recommended.
Having the Tye global tools installed.
To run the projects simply write the following command when in the root directory:
tye run