티스토리 뷰
1. 설치
NodeJS가 설치돼 있어야 하고 버전 확인(https://nodejs.org/en/)에 접속해서 다운로드하자.
보통은 LTS 버전을 많이 쓰니까 나는 LTS 버전을 다운로드하였다.
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
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 인증서 파일을 업로드해준다.
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
- Default Rules
- 무료는 아니지만
- Fastlane
- 모듏화
- AppThinning
- jenkins
- GCD
- XCTestExpectation
- Moya
- chatgpt 4o
- 같이쓰기
- ChatGPT
- async
- geohash
- firebase
- CI/CD
- MQTT
- 빌드자동화
- AWS IoT
- ATS failed system trust
- ios
- swift
- bitrise
- swiftLint
- RxSwift
- GPT4
- xcode whitespace trim option
- 코테
- 프로그래머스
- IF (KAKAO) DEV 2022
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |