AgroPulse accepts sensor readings over plain HTTP, making it straightforward to integrate any device capable of making REST calls — from an ESP32 running Arduino firmware to a Raspberry Pi script. You can start streaming data immediately without pre-registering sensors, or you can register sensors explicitly and reference them by ID for more precise control.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/diarpicu2022-commits/backend-AgroPulse/llms.txt
Use this file to discover all available pages before exploring further.
Supported sensor types
The followingsensorType values are recognised by AgroPulse:
| Value | Measurement | Unit |
|---|---|---|
TEMPERATURE | General temperature | °C |
TEMPERATURE_INTERNAL | Greenhouse interior temperature | °C |
TEMPERATURE_EXTERNAL | Ambient exterior temperature | °C |
HUMIDITY | Relative humidity | % |
SOIL_MOISTURE | Soil moisture level | % |
LIGHT | Luminosity | lux |
CO2 | Carbon dioxide concentration | ppm |
PH | Soil pH | pH |
WIND_SPEED | Wind speed (outdoor sensors) | m/s |
Registration strategies
- Auto-registration
- Manual registration
The simplest approach: post a reading with AgroPulse performs the following lookup on every auto-registered reading:
greenhouseId and sensorType but omit sensorId (or set it to 0). AgroPulse will look up or create the corresponding sensor automatically.- If
sourceis present, search for an existing sensor with the samegreenhouseId,deviceSource, andtype. - If no match is found, create a new sensor named
SOIL_MOISTURE (auto)and link it to the greenhouse. - Store the reading against the resolved sensor ID.
source and sensorType reuse the existing sensor record — no duplicate sensors are created.The
source field maps to the deviceSource column on the Sensor entity. Set it to a stable device identifier such as the ESP32 chip ID or MAC address. This value is used for sensor deduplication: two readings with the same source, sensorType, and greenhouseId always resolve to the same sensor row.