Protocols
MQTT 사용하기 - 1
Peter Note
2012. 9. 11. 19:01
MQTT Broker인 OSS Mosquitto를 설치하고 Client 프로그램에서 push 내역을 받아서 display 하는 Prototyping을 해보자
▶ MQTT 준비하기
- MQTT Broker 설치 : http://mosquitto.org/download/ 개발버전은 윈도우 binary 설치, 운영버전은 Linux binary 설치
- 윈도우 버전으로 설치하면 service로 등록된다 (Mosquitto Broker)
- Linux는 mosquitto 계정을 만들고 root에서 설치를 한다 (자동으로 mosquitto 계정을 찾아 설치해 준다)
- mosquitto 운영 : 모스퀴토 브로커(서버)를 기동하는 방법을 알아보자
- http://mosquitto.org/man/mosquitto-8.html 모스퀴토 서버의 기동 방법과 시스템 환경변수의 종류 설명
- mosquitto 의 환경변수는 $SYS topic등록으로 client가 받아 볼 수 있다
- + # 기호를 통해 topic등록 가능
- Bridge 설정을 통해서 multi broker 설정이 가능 (mosquitto.conf)
- 메세지에 대한 file writing을 할 수 있음
- 특정 host, ip 접근 제어가 가능
- https://launchpad.net/mosquitto 버그 레포팅 사이트
- MQTT client 라이브로리 선택
- Android : Java - http://git.eclipse.org/c/paho/org.eclipse.paho.mqtt.java.git/
- iPhone : Object C - https://github.com/njh/marquette
▶ MQTT 설치하기
- 아키텍쳐 설명
- 설치 : mosquitto broker 설치
- 설치하기 : http://ceit.uq.edu.au/content/installing-mosquitto-under-centos
- /etc/sudoers 설정 : sudo su 명령 실행이 안될 경우 셋팅한다
[root@www etc]# cat sudoers | grep mosquitto
mosquitto ALL=(ALL) ALL- bin : /usr/sbin/mosquitto
- 기동 : mosquitto 계정 접속
> sudo su
> ./startMqtt.sh
4. 결과 확인
[root@www mosquitto]# netstat -na | grep 1883
tcp 0 0 0.0.0.0:1883 0.0.0.0:* LISTEN
tcp 0 0 :::1883 :::* LISTEN
[root@www mosquitto]# ps -ef | grep mosquitto
root 2641 2467 0 14:43 pts/0 00:00:00 su - mosquitto
504 2676 1 0 14:44 pts/0 00:00:00 /usr/sbin/mosquitto -d -c /etc/mosquitto/mosquitto.conf
root 2680 2664 0 14:44 pts/0 00:00:00 grep mosquitto
5. 환경설정
- /etc/mosquitto/mosquitto.conf
- wildcard : + #
6. Client
- java 버전 (android) : http://www.eclipse.org/paho/download.php
- object c 버전 (iphone) : https://github.com/njh/marquette
- javascript 버전 : http://mosquitto.org/js/mosquitto-1.0.js