라즈베리팡팡

Node-RED + InfluxDB + Grafana 조합으로 데이터 가시화 본문

전자공작/Raspberry pi

Node-RED + InfluxDB + Grafana 조합으로 데이터 가시화

절망로정말적 2022. 4. 12. 09:15
 

Raspberry Pi를 Node-RED로 AWS IoT에 연결하는 방법

라즈베리파이에서 수집한 데이터를 AWS IoT에 연결하는 방법에 대해서 정리한다. 아래는 사용한 도구들. (3, 4, 5는 테스트를 위해서 사용) AWS계정 (프리티어) Raspberry Pi4 (Raspbian 설치됨) Arduino nano BM

prasowa.tistory.com

라즈베리파이에 설치된 Node-RED를 사용해서 AWS IoT에 데이터를 전송하는 내용에 대해서 정리했었는데, 이번에는 MQTT로 전송받은 데이터를 가시화하는 방법에 대해서 기록한다🥺

 

Node-RED 설치

https://prasowa.tistory.com/24

InfluxDB 설치

https://prasowa.tistory.com/25

Grafana 설치

https://prasowa.tistory.com/26

 

Node-RED의 mqtt노드

위 포스팅을 참고해서 센서 데이터를 수신하는 Node-RED 쪽에서도  node-red-contrib-influxdb를 추가로 설치한다. 송신 쪽은 mqtt out, 수신 쪽은 mqtt in 노드를 사용한다.  

mqtt in 노드의 수정 내용은 아래와 같이 설정하고, 토픽 부분은 송신쪽과 동일하게 입력한다.

mqtt 노드 수정

서버의 세부설정에서는 송신 쪽과 같은 엔드포인트를 입력.

 

Node-RED에서 InfluxDB노드

node-red-contrib-influxdb 노드 추가하고 influxdb out 노드를 사용

Organization, Bucket은 influxdb의 설정대로 입력한다. 

Measurement는 임의로 입력.

 

server의 설정에서는 influx 2.0 버전으로, url은 influx의 웹주소를 입력한다.

Token은 influx의 api 토큰을 입력.

 

Node-RED의 flow

 

이제 mqtt로 수신한 데이터를 influxDB에 보존 할 수 있다. 

 

Grafana 설정

- Configuration > Add data source > 타입은 InfluxDB 선택

- 데이터소스의 이름은 임의로 지정.

- Query Language는 Flux

- HTTP의 URL은 http://<<your ip address>>:8086

- 버킷, 조직은 influxdb의 설정대로 입력

- 토큰은 http://<<your ip address>>:8086에서 data > api tokens 값을 입력

Grafana 설정

 

Grafana 그래프 만들기

create > add a new pannel 에서 아래의 쿼리 부분을 입력.

버킷, measurement, 태그는 노드레드와 influx와 동일하게 입력.

설정을 적용 하면 그래프 패널 생성 완료

예전에 만들었던 grafana의 모니터링 화면 모습. 

Grafana + InfluxDB + Node-RED 조합의 모니터링