이번엔 전 시간에 이어 부가 기능인 PC UI 및 리모컨을 만들어 보았다. 

 

 

 

마이크 & 멜로디 모듈, 리모컨 모듈과 PC는 MQTT 통신을 이용해 통신하였다. 

 

MQTT란? 

작은 코드 공간이 필요하거나 네트워크 대역폭이 제한되는 원격 통신을 위해, 즉 IoT와 같은 제한된, 혹은 대규모 트래픽 전송을 위해 만들어진 프로토콜이다. 그렇기에 TCP/IP 프로토콜 위에서 동작하지만 동시에 굉장히 가벼우며, 많은 통신 제약들을 해결해준다.

MQTT의 가장 큰 특징은 Broker라고 보면될거 같다. 

 

  • Pub/Sub 모델: 메시지를 발행하는 클라이언트와 구독하는 클라이언트가 분리되어 있어 클라이언트 간의 직접적인 연결 없이 통신이 가능합니다.
  • 브로커: 메시지 브로커가 중간에서 메시지를 중재하고, 이를 통해 발행된 메시지가 구독자에게 전달된다.

즉 메시지를 전달하고 싶으면 발행자가 되어 메시지를 Broker에 발행한다. 구독자는 발행한 메시지를 가져간다. 

 

QOS: Quality of Service를 설정할 수 있는데, 0,1,2에 따라 전송의 보장의 정도를 선택한다고 보면된다. 

 

그리고 NODE - RED를 통해 UI및 통신 시스템을 설계하엿는데 Node-RED는 시각적인 방식으로 인터넷의 사물 (IoT) 애플리케이션을 개발하고 연결할 수 있도록 해주는 오픈 소스 플로 기반 개발 도구로 보면된다.

위와 같은 블록 설계로, 웹 UI를 통해 MQTT로 멜로디에 변화를 줄 수 있는 메시지를 전달하도록 설계하였다. 

 

 

NODE RED를 통한 웹 UI는 위와같고, 선택하면 MQTT를 통해 데이터가 전송된다 .

 

 


아래는 실행한 동영상이다.

 

 

아두이노 프로젝트는 여기서 끝이다. 

다락공방