0️⃣ AWS와 Node-RED





▶️ AWS IoT Core

Core로부터 받은 데이터를 처리해주는 서비스

IoT 디바이스를 AWS에서 관리





▶️ AWS와 Node-RED Core

✨ 장점 ✨

보안 : MQTT 프로토콜을 통해 암호화된 연결을 사용하여 데이터를 안전하게 전송

확장성 : AWS IoT Core는 여러개의 장치 연결 지원, Node-RED 기반 솔루션 쉽게 확장 관리 가능

통합 및 상호운용성 : Node-RED는 시각적 프로그래밍 도구로 다양한 프로토콜, 서비스, 장치 통합 지원 / AWS의 다른 서비스와 상호작용 가능

데이터 분석 : AWS IoT Core는 IoT 데이터를 쉽게 수집, 저장, 분석 기능 제공하여 데이터 분석 및 대시보드 및 시각화 활용 가능







1️⃣ AWS와 Node-RED 연결







전주차 사용했던 AWS Iot core를 통해 Node-red에 접속 가능

1. AWS IOT core에서 정책 변경

image

* 는 모든 작업을 허용함.







2. Node-RED 실행 후 inject 추가 후 ‘테스트’입력

image





3. mqtt-out 노드 추가 후 설정

image

1) 토픽 원하는 단어로 지정

2) QoS 0으로 설정

3) 보존 사용하지 않음 설정





4. mqtt-out -> mqtt-broker 설정

image

image

1) 서버란에 AWS 엔드포인트

2) 포트 8883 설정

3) TLS 사용하여 순서대로 인증키 / 프라이빗키 / CA1 파일 업로드





5. 노드 연결

image





6. mqtt-in 노드 추가 후 mqtt-out노드와 같이 설정

image





7. debug 노드 추가 후 mqtt-in과 연결

image





8. AWS MQTT 테스트 클라이언트에서 Node-RED에서 설정한

topic 구독

image





9. Node-RED에서 inject 클릭하여 AWS MQTT 테스트 클라이언트에서 확인

image

image





10. Node-RED debug창에서도 확인

image





11. AWS에서 주제게시탭에서 게시를 통해 노드레드에서 출력값 확인

image

image

image











2️⃣ ESP32 DHT11센서 AWS mqtt와 Node-RED 출력







1. esp32에 코드 업로드

전주차 secrets.h는 그대로 사용





2. Node-RED에 노드 아래와 같이 생성

image


1) function 코드 수정


1-1) humidity

msg.payload = msg.payload.humidity;
return msg;

image



1-1) temperature

msg.payload = msg.payload.temperature;
return msg;

image







3. 배포 후 시리얼 모니터 / 디버그 창 / AWS 출력 확인

image

image

image





4. Node-RED Dashboard UI 확인

image







결론

1학기 동안 ESP32에 대한 사용 방법을 습득하였고, AWS, Node-RED, MQTT, Bluetooth, WIFI 등을 활용하는 방법을 알게 되었다. 데이터를 송수신하는데 다양한 방도를 알게 되었으며, 추후 웹프로그래밍이나, IoT 관련 스터디를 진행하고자 할 때 색다른 방법으로 활용할 수 있을 것 같다.









참고

https://velog.io/@markyang92/AWS-IoT-Core-IoT-Core-%EC%83%9D%EC%84%B1-node-red-%EC%97%B0%EB%8F%99

https://bota.tistory.com/2167

https://bota.tistory.com/2168