This repository contains an nRF Connect SDK based Fire Detection System application. This project is designed for early detection of wildfires using a network of sensors monitoring temperature, humidity, and smoke levels. The system is built on the Zephyr RTOS and utilizes LTE-M communication for reliable data transmission even in remote areas.
Before getting started, make sure you have a proper nRF Connect SDK development environment. Follow the official Installation guide.
The first step is to initialize the workspace folder (fire-detection-system-workspace) where
the fire-detection-system and all nRF Connect SDK modules will be cloned. Run the following
command:
# initialize fire-detection-system-workspace for the fire-detection-system (main branch)
west init -m https://github.com/nmpluta/fire-detection-system --mr main fire-detection-system-workspace
# update nRF Connect SDK modules
cd fire-detection-system-workspace
west updateTo build the application, run the following command:
cd fire-detection-system
west build -b $BOARD appwhere $BOARD is the target board.
A sample debug configuration is also provided. To apply it, run the following command:
west build -b $BOARD app -- -DEXTRA_CONF_FILE=debug.confOnce you have built the application, run the following command to flash it:
west flashTo execute Twister integration tests, run the following command:
west twister -T tests --integrationA minimal documentation setup is provided for Doxygen and Sphinx. To build the
documentation first change to the doc folder:
cd docBefore continuing, check if you have Doxygen installed. It is recommended to use the same Doxygen version used in CI. To install Sphinx, make sure you have a Python installation in place and run:
pip install -r requirements.txtAPI documentation (Doxygen) can be built using the following command:
doxygenThe output will be stored in the _build_doxygen folder. Similarly, the
Sphinx documentation (HTML) can be built using the following command:
make htmlThe output will be stored in the _build_sphinx folder. You may check for
other output formats other than HTML by running make help.