Smart Campus indoor climate dataset
Indoor air-quality, presence and light measurements from the University of Oulu Linnanmaa-campus and botanical garden are published at fairdata.fi.
The dataset begins on 1.7.2020. Read more about our open data timeline.
'application' and 'lora' .csv-tables
The data is split into two tables, 'application' and 'lora', the former containing a numeric representation of the physical quantities under measurement, and the latter containing values exposed by our LoRa-gateway, including metrics such as signal strength.
A month of this .csv formatted data consumes around 100 MiB's of memory, however the files are distributed in a compressed archive.
Sensors and measurements
The network consists of 429 deployed sensors. Each of which transmit once every 15 minutes.
application.csv
The following quantities are included in the 'application'-table.
| Description | Column name | Unit | Only in |
|---|---|---|---|
| Air temperature | temperature | [°C] | |
| Relative humidity | humidity | [% RH] | |
| Light | light | (linear index) | |
| Passive infrared | motion | (linear index, pir) | |
| Co2 | co2 | [ppm] | ers-co2 |
| Battery voltage | battery | [V] | |
| Average SPL | sound_avg | [dB] | ers-sound |
| Peak SPL | sound_peak | [dB] | ers-sound |
| Soil moisture | moisture | [%] | elt-2-with-soil-moisture |
| Atmospheric | pressure | [bar] | elt-2-with-soil-moisture |
| Acceleration (X) | acceleration_x | [g] | elt-2-with-soil-moisture |
| Acceleration (Y) | acceleration_y | [g] | elt-2-with-soil-moisture |
| Acceleration (Z) | acceleration_z | [g] | elt-2-with-soil-moisture |
Data from three different kinds of sensors are combined. Some quantites are only measured by some sensors, as indicated by the 'Only in' column above. Latest information on sensor accuracy can be found from the vendors datasheets.
This format is similar to the Prelude data format.
lora.csv
The gateway publishes LoRaWAN link related messages over MQTT. These messages are JSON, but in the data release these messages are represented as .csv. The field keys are documented by our vendor (under Fields in up messages):
Sensor metadata
devices.json uses the jsonlines-format. It contains metadata about individual sensor devices, including the geolocation (Web Mercator EPSG:3785) and spoken description of installation location.
Base station
If you're looking to compare the location of the base station's antenna to the locations of the sensors as provided in the devices.json, you may assume that the location is:
GeoJSON
{
"type": "Point",
"coordinates": [65.05809420045529, 25.468898266029942]
}
Time format
The time format of the 'time'-column is epoch milliseconds (example in python):
example = 1596240013479 import time time.gmtime(example / 1000) # time.struct_time(tm_year=2020, tm_mon=8, ...) time.localtime(example / 1000) # time.struct_time(tm_year=2020, tm_mon=8, ...) from datetime import datetime as dt dt.fromtimestamp(example / 1000) # datetime.datetime(2020, 8, 1, 3, 0, 13, 479000)
Issue: missing .csv headers
| Affecting | release-2021062800 |
|---|---|
| Fixed by | release-2021062801 |
On 22.3.2022 it was brought to our attention that the initial release is missing .csv headers. A fix was implemented by releasing this data again, now including the expected headers.