데이터 다운로드
기간과 장치를 골라 측정값을 CSV로 내려받습니다. 원자료(10초 간격) 또는 1분·10분·1시간·1일 평균으로 받을 수 있습니다.
원자료 열 (간격: 원자료)
| 열 | 내용 | 단위 |
|---|---|---|
id | 행 번호(DB 등록 순서) | |
device_id | 장치 고유번호(화면 MCU MAC 12자리) | |
device_name, location | 장치 이름, 설치 위치(장치의 서버 설정 → 장치 정보) | |
recorded_at | 장치 시계 기준 측정 시각. 시간 동기 전에는 빈칸 | KST |
received_at | 서버가 받은 시각. 기간 조건은 이 열로 거릅니다 | 서버 시각 |
sensor_boot_id, snapshot_seq | 센서 MCU 부팅 번호, 측정 순번(누락 확인용) | |
sensor_fw, display_fw | 센서·화면 펌웨어 버전 | |
pm1_0, pm2_5, pm10 | 극초미세·초미세·미세먼지 | ㎍/㎥ |
co2 | 이산화탄소(SCD40) | ppm |
temp_c, rh_pct | 온도, 상대습도. 사용한 센서는 t_rh_source | °C, % |
tvoc_ppb | 총휘발성유기화합물(ENS160, 에탄올 환산값) | ppb |
eco2_ppm | ENS160 추정 CO₂(실측 CO₂ 아님) | ppm |
aqi_uba | ENS160 공기질지수(1 좋음 ~ 5 나쁨) | 1~5 |
hcho_ppb | 폼알데하이드(ZE08-CH2O) | ppb |
occupancy | 재실 감지(1 = 감지) | 0/1 |
noise_db | 소음(미보정, ±3 dB) | dB(A) |
집계 열 (간격: 1분·10분·1시간·1일)
| 열 | 내용 |
|---|---|
device_id, device_name, location | 장치. 한 파일에 여러 장치가 있으면 구간마다 장치별로 한 행 |
period_start | 구간 시작 시각(서버 시각, 자정 기준으로 정렬) |
samples | 구간 안의 원자료 행 수. 정상이면 1분 6, 10분 60, 1시간 360, 1일 8,640 |
항목_avg, 항목_min, 항목_max | 구간 평균·최소·최대. 항목과 단위는 원자료와 같습니다(pm1_0 ~ noise_db) |
occupancy_ratio | 구간 중 재실 감지 비율(0 ~ 1) |
- 빈칸은 센서가 예열 중이거나 고장·미장착으로 값을 보내지 않은 것입니다. 평균에는 들어가지 않습니다.
- CSV에서 폼알데하이드·TVOC는 ppb입니다(화면의 ppm × 1000).
- 파일은 UTF-8(BOM) CSV라 Excel에서 한글이 바로 보입니다. Excel은 1,048,576행까지만 열리므로 그보다 많으면 집계 간격을 쓰세요.
주소로 직접 받기
- 위에서 고른 조건의 주소를 복사해 두면 브라우저나
curl -OJ "주소"로 같은 파일을 받을 수 있습니다. - 형식:
/api/export.csv?start=YYYY-MM-DD&end=YYYY-MM-DD[&device=장치번호][&interval=raw|1m|10m|1h|1d][&gzip=true] - 건수만 확인:
/api/export/count?뒤에 같은 조건(gzip 제외) - 이 페이지를 조건을 채운 채 열기:
/download?device=장치번호&start=2026-10-01&end=2026-10-07&interval=1h - 한 번에 받을 수 있는 기간: 원자료 31일, 집계 366일. 종료일은 그날 24시까지 포함합니다.