# SmartGarden - LoRaWAN Environmental Sensor Network ## Project Description [This is an open section where you can provide comprehensive context about your project using any markdown formatting. Describe the background, objectives, methodology, data sources, experimental setup, or any other information that helps users understand and work with your data. There are no content restrictions here—use paragraphs, lists, tables, links, or code blocks as needed to fully document your project.] --- ## Standardized Metadata ### File Information - **File Name:** `smartgarden_sensor_measurements.csv` (main data), `smartgarden_sensor_inventory.csv` (device metadata) - **Creation Date:** 2026-07-06 - **Data Date Range:** 2026-07-04 (7-day TTN Storage export; UTC timestamps) - **Source file:** `stored_messages_*.csv` (TTN Console Storage export) - **Contact:** Quyen [kim.ly@telecom-paris.fr] - **DOI:** [https://doi.org/10.14768/9b5dffd7-b3ec-4eb8-a4dc-b64afdc8b99d] - **License:** CC BY-NC 4.0 ([license](https://creativecommons.org/licenses/by-nc/4.0/)). The use of data and code for AI training is forbidden without explicit authorization. ### Data Collection Methodology - **Sampling:** SHTC3 sensor read every 60 seconds on the node; values buffered and uplinked approximately every 30 minutes (LoRaWAN duty-cycle constraint). - **Transmission:** LoRaWAN Class A, EU863-870 MHz, OTAA join. - **Decoding:** TTN payload decoder (delta-compressed format: base + delta measurements per uplink). - **Storage:** TTN EU Storage Integration (application `lora4dtest`), exported from TTN Console as CSV. - **Export:** `build_datahub_package.py` loads the device inventory from the TTN EU1 online registry (`lora4dtest`), parses the 7-day stored-messages CSV, and expands each uplink `measurements[]` array into per-minute rows. - **Quality notes:** The current 7-day export contains uplinks for the devices present in the source file only. Re-export from TTN Console (last 7 days, all devices) to extend coverage before final DataHub submission. ### Authors and Contributors [List of authors and contributors of the project] ### Acknowledgement request Users of these data are kindly requested to acknowledge the E4C DataHub service when publishing results derived from this dataset. Proper acknowledgment helps us demonstrate the scientific impact of the infrastructure and supports the continued operation and development of the service. When using these data in a publication, presentation, or any public dissemination of results, please include one of the following acknowledgments: #### Recommended acknowledgment Data used in this work were accessed through the E4C DataHub, a data service of the Energy4Climate Interdisciplinary Center (E4C) at Institut Polytechnique de Paris. The Energy4Climate Interdisciplinary Center is partly supported by the 3rd Programme d'Investissements d'Avenir [ANR-18-EUR-0006-02] and by the Foundation of Ecole polytechnique with the private sponsor Fonds Ifker pour le Climat, financed by Stephane and Agnes Ifker. #### Recommended acknowledgment (short version) This work uses data provided by the E4C DataHub of the Energy4Climate Interdisciplinary Center (E4C), Institut Polytechnique de Paris, partly supported by the 3rd Programme d'Investissements d'Avenir [ANR-18-EUR-0006-02] and by the Foundation of Ecole polytechnique with the private sponsor Fonds Ifker pour le Climat. #### Dataset citation Pautet L., Graba T., Tardieu S., Ly K.-Q. . 2026. SmartGarden. E4C DataHub, Energy4Climate Interdisciplinary Center (E4C), Institut Polytechnique de Paris. [https://doi.org/10.14768/9b5dffd7-b3ec-4eb8-a4dc-b64afdc8b99d] --- ## Standardized Variables Section ### Variable Definitions (Machine-Readable Format) ```YAML variables: - raw_name: "measurement_time_utc" descriptive_name: "Measurement timestamp" description: "UTC time of the environmental sample. Estimated as one minute per sample within each uplink bundle, ending at the uplink reception time." unit: "YYYY-MM-DD HH:MM:SS" - raw_name: "device_id" descriptive_name: "Internal sensor ID" description: "Unique node identifier in S-P-L format (e.g. s2-p1-l2 = sensor 2, patio 1, level 2)." unit: "dimensionless" - raw_name: "position_x" descriptive_name: "Sensor index (X)" description: "X coordinate in the deployment grid: sensor number within a patio/level (S in S-P-L nomenclature)." unit: "dimensionless" - raw_name: "position_y" descriptive_name: "Patio index (Y)" description: "Y coordinate in the deployment grid: patio number (P in S-P-L nomenclature)." unit: "dimensionless" - raw_name: "position_z" descriptive_name: "Level index (Z)" description: "Z coordinate in the deployment grid: level / elevation index (L in S-P-L nomenclature)." unit: "dimensionless" - raw_name: "dev_eui" descriptive_name: "LoRaWAN DevEUI" description: "64-bit LoRaWAN device EUI from the TTN EU1 device registry." unit: "hex string" - raw_name: "join_eui" descriptive_name: "LoRaWAN Join EUI" description: "Join EUI (AppEUI) from the TTN EU1 device registry." unit: "hex string" - raw_name: "last_activity_utc" descriptive_name: "Last TTN activity" description: "Last seen timestamp reported by the TTN EU1 application device registry." unit: "ISO 8601 UTC" - raw_name: "temperature_c" descriptive_name: "Air temperature" description: "Air temperature measured by the onboard SHTC3 sensor at the node enclosure." unit: "degC" - raw_name: "humidity_pct" descriptive_name: "Relative humidity (hydrometry)" description: "Relative air humidity measured by the onboard SHTC3 sensor." unit: "%" - raw_name: "battery_soc_pct" descriptive_name: "Battery state of charge" description: "Remaining battery capacity reported by the MAX17055 fuel gauge, expressed as percentage of full charge." unit: "%" - raw_name: "measurement_type" descriptive_name: "Decoder sample type" description: "Indicates how the sample was encoded in the uplink: base (anchor), delta (1-minute delta from previous), or average." unit: "text" - raw_name: "uplink_received_at_utc" descriptive_name: "Uplink reception timestamp" description: "UTC timestamp when TTN EU1 received the LoRaWAN uplink carrying this sample." unit: "ISO 8601 UTC" - raw_name: "f_cnt" descriptive_name: "LoRaWAN frame counter" description: "Uplink frame counter extracted from TTN field uplink_message.f_cnt (or FCnt in TTN CSV export)." unit: "integer" ``` ### Inventory file variables (`smartgarden_sensor_inventory.csv`) ```YAML variables: - raw_name: "device_id" descriptive_name: "Internal sensor ID" description: "Unique node identifier (S-P-L format)." unit: "dimensionless" - raw_name: "position_x" descriptive_name: "Sensor index (X)" description: "X coordinate: sensor number within patio/level." unit: "dimensionless" - raw_name: "position_y" descriptive_name: "Patio index (Y)" description: "Y coordinate: patio number." unit: "dimensionless" - raw_name: "position_z" descriptive_name: "Level index (Z)" description: "Z coordinate: level / elevation index." unit: "dimensionless" - raw_name: "dev_eui" descriptive_name: "LoRaWAN DevEUI" description: "64-bit LoRaWAN device EUI from the TTN EU1 device registry." unit: "hex string" - raw_name: "join_eui" descriptive_name: "LoRaWAN Join EUI" description: "Join EUI from the TTN EU1 device registry." unit: "hex string" - raw_name: "last_activity_utc" descriptive_name: "Last TTN activity" description: "Last seen timestamp from the TTN EU1 device registry." unit: "ISO 8601 UTC" ```