Go to file
2025-04-09 13:25:45 +02:00
backend Ignore if temperature is above 200 2025-04-09 13:25:45 +02:00
docs Add documentation to readme 2025-04-09 10:22:05 +02:00
frontend Fix changing password in frontend 2025-04-09 09:43:52 +02:00
iot Ignore if temperature is above 200 2025-04-09 13:25:45 +02:00
.gitignore Model/backend 2025-03-18 10:03:01 +01:00
deploy.sh Fix dockerfile and add exec perms to deploy script 2025-03-25 09:40:06 +01:00
README.md Add note to readme 2025-04-09 12:19:55 +02:00

Temperature Alarm

Picture of the BeagleBone

Screenshot of the dashboard

Setup

In the backend/Api folder, copy appsettings.example.json into appsettings.json and fill out the values.

In the frontend folder, copy shared/constants.example.js into shared/constants.js and fill out the values.

In the iot folder, copy config.example.h into config.h and fill out the values.

Running

To run the backend, type dotnet run within the backend/Api folder. Make sure you have the .NET 8 SDK installed.

The frontend should just be hosted with a static web server. To run locally, you may e.g. use PHP: php -S 0.0.0.0:80

The IoT code should be run on a BeagleBone Black with:

  • A Grove Base Cape, set to 5V
  • A JHD1313 Grove-LCD RGB Backlight display in one of the I2C_2 ports
  • An MCP9808 Grove High Accuracy Temperature Sensor in one of the I2C_2 ports
  • A Grove Buzzer in the GPIO_51 port

The following library packages are required by the IoT code and should be installed on the BeagleBone:

apt install libmosquitto-dev librabbitmq-dev libi2c-dev libgpiod-dev libcjson-dev

Note

The gpiod library must be below version 2.0. Debian Bookworm still distributes the old version of the library.

Note

The RabbitMQ apt package is missing the header files - They can be copied from here into the /usr/include/rabbitmq-c folder

Copy the source files onto the BeagleBone and run the following command to compile and run the code:

make && ./a.out

To run in the background, a program such as GNU Screen can be used.