WARNING: Never ever use code from this repository to build AND actually use on public roads.
There are different prerequisites depending on how you want to run:
- Running just the simulation
- Running with all or several sensors
Continu under the heading that is right for you.
Note: It is possible to run with one hardware sensor and the other being a simulated sensor.
- Just your computer
- A Raspberry Pi
- A HC-SR04, HC-SR501 and/or Piezo Buzzer Controller
- Jumper wires (female-female, male-female, male-male)
- (optional) breadboard (for (attempting) to keep the wiring organized)
Getting started will be finished in a few days...
This project is merely created for playing around with several cool techniques. To name a few:
- Clean Architecture
- MediatR (mediator pattern implementation for in-process communication)
- Azure pipelines (yaml)
- .NET Core self-contained deployments (apps that ship their own runtime)
- Single file applications (convienient single file app for end users)
- Assembly linking (reduced app size by trimming unused assemblies)
- .NET Core service workers for creating background services
Aside from above techniques the application also leverages: logging, configuration and dependency injection.
Following sensors are currently supported and are working together:
- HC-SR04 - Ultrasonic Ranging Module - For distance measurement
- HC-SR501 - PIR Motion Sensor - For motion detection
- Buzzer - Piezo Buzzer Controller- For sound effects
- .NET Core IoT Libraries - Used communication with IoT devices
- Clean architecture - Used for creating a loosely-coupled, dependency-inverted architecture
- MediatR - Used for in-process messaging in application