This repository contains a generic application using the Pulga board, developed by Caninos Loucos. This example aims to use all sensors and communication protocols supported by Pulga. The main purpose of this repository, based on Zephyr's own example-application on West T2 topology, is to serve as a reference on how to structure Zephyr-based applications on Pulga. It's recommended to consult the example application before developing new features on Pulga to understand how Zephyr works. The following features are to be demonstrated in this example are:
- Si1133 sensor (luminosity, UV)
- BME280 sensor (umidity, temperature, pressure)
- BMI160 sensor (accelerometer, gyroscope)
- SCD30 sensor - external to the board (CO2)
- LoRaWAN and LoRaWAN peer-to-peer
- Bluetooth
- Using a ring buffer to store sensor data
Before getting started, make sure you have a proper Zephyr development
environment. Follow the official
Zephyr Getting Started Guide
until just before getting Zephyr source code (before west init
command).
The first step is to initialize the workspace folder (my-workspace
) where
the pulga-zephyr
repository and all Zephyr modules will be cloned. Run the following
command:
# initialize my-workspace for pulga-zephyr (main branch)
west init -m https://github.com/caninos-loucos/pulga-zephyr --mr main my-workspace
# update Zephyr modules
cd my-workspace
west update
To build the application, run the following command:
cd pulga-zephyr
west build -b $BOARD app
where $BOARD
is the target board, pulga
.
If you have problems building the application, try running a pristine build
by appending -p
to the last command. There are also other examples in the
samples
folder, that can be built providing by the proper directories instead
of app
.
A sample debug configuration is also provided. To apply it, run the following command:
west build -b $BOARD app -- -DOVERLAY_CONFIG=debug.conf
Once you have built the application, run the following command to flash it:
west flash