InfluxDB를 사용하여 하루의 환경 데이터 집계

1994 단어 influxqlinfluxdbIoT
InfluxDB를 이용하여
하루의 환경 데이터를 집계했기 때문에
절차를 함께 둡니다.

지금까지 가정 채소밭에서 환경 모니터링으로
외기온도, 상대습도, 토양수분, 토양온도를 취득했습니다.



취득한 데이터를 InfluxDB에 보존한 것을 Grfana를 이용해 시계열로 그래프화하는 것은 실시하고 있었습니다만, 그 이상은 실시하고 있지 않았습니다.

이것만으로는 그다지 의미가 있다고는 생각되지 않지만 안정적으로 움직이고 있는 것 같습니다.
모처럼 데이터를 취득하고 있기 때문에, 앞으로 분석에 이용해 나가려고 생각하고 있습니다.

그 시작으로 이번에는 전날의 최고 온도, 최저 온도, 평균 온도를 표시해 보겠습니다.

이번에는 IndluxDB에서 데이터를 호출하는 조건에서 데이터 선택, 집계를 실시해 나갑니다.
InfluxDB에서는 쿼리를 할 때는 influxQL이라는 것을 이용합니다.
InfluxDB 에 대한 기초적인 것은 이쪽에 정리되어 있으므로 흥미가 있으면 봐 주세요.

우선은 어제 분의 데이터의 호출로부터 시험해 보겠습니다.
InfluxDB는 시계열 데이터베이스이므로 호출 조건을 시간으로 만드는 것은 간단합니다.
SELECT key FROM Measurement WHERE time > now() -1d

에서 호출할 수 있습니다.

이번에는 하루 중 최고 온도를 부르고 싶지만,
InfluxDB는 MAX 함수라는 최대값을 호출하는 함수를 제공하므로 이 함수를 사용합니다.
SELECT max("Wtemp") AS "max_temp_c" FROM "SunnyLettus" WHERE time > now() -1d

wtemp의 부분이 컬럼, max_temp_c의 부분이 호출한 후에 붙이는 key, SunnyLettusno 부분이 measurement가 되어 있습니다.
이제 24시간 스팬에서 최고 온도가 호출되었습니다.

마찬가지로
최소값 선택 MIN()
평균값 집계 MEAN()
등도 준비되어 있으므로 상황에 따라 구분합니다.

쉽지요.

참고 정보
InfluxDB에 대해 먼저 알아야 할 10가지 사항
공식 문서
FAQ

좋은 웹페이지 즐겨찾기