안녕하세요. 이번에는 라즈베리 파이에서MQTT를 활용한 실습환경을 만드는 방법을 작성하려고 합니다.
우선 라즈베리파이에서 MQTT를 사용할 수 있도록 브로커를 설치해야 합니다. 브로커는 Mosquitto라는 오픈소스 프로그램을 사용할 수 있습니다.
해당 블로그를 참고해서 설치했습니다.
모스키토(mosquitto)를 설치하기 전에 모스키토 프로그램의 서명키(인증키)를 다운로드해야 합니다.
cd ~ wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key sudo apt-key add mosquitto-repo.gpg.key
모스키토의 저장소 패키지를 등록해 줍니다.
cd /etc/apt/source.list.d/ sudo wget http://repo.mosquitto.org/debian/mosquitto-stretch.list
이제 MQTT 브로커를 설치합니다.
sudo apt-get update sudo apt-cache search mosquitto sudo apt-get install mosquitto mosquitto-clients
sudo /etc/init.d/mosquitto start
이 명령어로 모스키토를 실행시킬 수 있습니다.
여기까지 모두 하셨다면 라즈베리파이에서 MQTT 클라이언트를 실행해서 메시지를 보내거나 받아서 확인할 수 있습니다.
hello/ 토픽에서의 메시지를 받고 보내기를 해보는 코드를 확인해 보겠습니다.
mosquitto_sub -d -t hello/world
hello/world 토픽에 오는 값을 확인하는 코드이며 프로그램을 종료할 때까지 값을 받아오게 됩니다.
mosquitto_pub -d -t hello/world -m "Hi!"
hello/world 토픽에 "Hi!"라는 메시지를 전송하게 됩니다.
이런 방식으로 mqtt를 사용할 수 있으며 스마트폰의 어플로도 가능합니다.