티스토리 뷰

IOT

AWS IOT -2 (Node-red)

@서비 2022. 3. 30. 21:01

1. 설치 

NodeJS가 설치돼 있어야 하고 버전 확인(https://nodejs.org/en/)에 접속해서 다운로드하자.

보통은 LTS 버전을 많이 쓰니까 나는 LTS 버전을 다운로드하였다.

download nodejs

node --version && npm --version

 

그다음에 npm으로 node-red 설치

sudo npm install -g --unsafe-perm node-red

 

 

 

2. 실행

 

Terminal에서 실행을 한다.

node-red

 

그다음에 웹브라우저에서 접속

http://127.0.0.1:1880

 

node-red 첫 실행 화면

 

 

 

3. 사용 방법

왼쪽에서 요소를 그림판처럼 붙여 넣어서 테스트 구성을 할 수 있다. (신세계)

 

우리는 MQTT로 명령어를 전달하고 받아 볼 예정이다.

1) Publish를 하기 위해서 우선 Common의 Inject를 하나 끌어 다 두고 Network의 mqtt out을 끌어다 두었다

2) Subscribe를 하기 위해서 Network의 mqtt in을 끌어다 두고 Common의 debug를 끌어다 두었다.

3) 다시 각각을 연결하였다.

 

사용방법 연결화면

 

4-1) Inject의 속성 설정

에 가서 Publish 할 토픽과 message를 적어준다. 테스트 니까 아래와 같이 작성한다.

그리고 문자 앞쪽에 속성이 있는데 속성은 string으로 바꾸어 준다.

 

TOPIC : service

msg : "테스트입니다."

 

 

4-2) mqtt out의 속성 설정

서버 엔드포인트를 적어 두고 TLS사용을 클릭한다. 여기서 포트 번호는 8883을 사용한다.(잘못된 걸 찾느라 힘들었다.)

그리고 연필 모양을 클릭하면 인증서를 업로드할 수 있는 화면이 나오고 CERT 파일, private key 파일 CA 인증서 파일을 업로드해준다.

 

mqtt 오브젝트 속성
인증서 업로드

 

4-3) mqtt in의 경우 보통 out 오브젝트를 수정하면 같이 수정되는데 혹시 안돼 있으면 동일하게 설정하면 된다.

이제 다 왔다. Node-red 오른쪽 상단의 배포하기를 누른다.

5) 배포하기 누르면 mqtt 오브젝트 아래에 "접속됨"으로 표시되면 성공이다. 여기서 메시지를 보내려면 inject 오브젝트의 왼쪽에 버튼을 마우스로 클릭하면 된다. 그러면 Publish가 된 것이고 mqtt in을 통해 전달된 메시지는 오른쪽 디버그 창에 표시된다.

 

 

 

AWS에서도 확인 할 수 있는데 테스트에 mqtt 테스트 클라이언트에 가서 같은 주제를 구독 해 두면 아래처럼 메시지가 발생하는 것을 볼 수 있다.

 

 

 

 

정리: 전반적으로 사용은 편의성이 있었다. 간이로 테스트할 때는 이만한 게 없을 거 같다. 마우스로 동작시키니 동작도 편하다.

다만, AWS IOT 서버에서 사물 생성 / 정책 생성/ 인증서 생성해서 연결하고, 엔드포인트 포트번호 인증서를 세팅하는 데 좀 헤매었다.

'IOT' 카테고리의 다른 글

AWS IOT -1  (0) 2022.01.13
VPC Peering  (0) 2022.01.10
MQTT QoS Level  (0) 2022.01.09
MQTT 상호 인증  (0) 2022.01.09
open ssl 로 상호 인증을 위한 인증서 발행하기  (0) 2022.01.09
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함