라즈베리 파이에 설치하는 경우 mosquitto의 개발자인 Roger Light이 Mosquitto Debian Repository를 만들어 놓았기 때문에 이를 이용하면 손쉽게 최신버젼을 설치할 수 있다. 먼저 repository를 추가해 줘야 한다.
$ curl -O http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
$ sudo apt-key add mosquitto-repo.gpg.key
$ rm mosquitto-repo.gpg.key
$ cd /etc/apt/sources.list.d
$ sudo curl -O http://repo.mosquitto.org/debian/mosquitto-repo.list
$ sudo apt-get update
이제 repository가 추가되었으니 mosquitto를 설치하면 된다. mosquitto, mosquitto-clients, python-mosquitto 3개의 패키지가 있고 전부 설치해도 약 665KB의 공간만을 차지하기 때문에 설치하는데 공간 부담은 별로 없다.
* mosquitto : MQTT 브로커
* mosquitto-clients : 커맨드라인 클라이언트
* python-mosquitto : python binding
apt-get으로 설치하면 된다.
$ sudo apt-get install mosquitto mosquitto-clients python-mosquitto
설치가 완료되면 mosquitto가 자동으로 실행된다.
설정을 변경하고 싶으면 먼저 mosquitto의 실행을 중단시킨다.
$ sudo /etc/init.d/mosquitto stop
이제 원하는대로 설정을 변경하면 된다. 설정파일은 디폴트로 /etc/mosquitto/mosquitto.conf 가 된다. 설정을 변경했으면 제대로 동작하는지 확인해 볼 수 있다.
$ sudo /usr/bin/mosquitto -c /etc/mosquitto/mosquitto.conf
1378042632: mosquitto version 1.2 (build date 2013-08-09 21:49:03+0100) starting
1378042632: Config loaded from /etc/mosquitto/mosquitto.conf.
1378042632: Opening ipv4 listen socket on port 1883.
1378042632: Opening ipv4 listen socket on port 8883.
1378042632: Opening ipv6 listen socket on port 8883.
1378042632: Warning: Address family not supported by protocol ...^C 1
378042634: mosquitto version 1.2 terminating
1378042634: Saving in-memory database to /tmp/mosquitto.db.
원하는대로 설정이 된것이 확인되었으면 다시 서비스를 시작시키면 된다.
$ sudo /etc/init.d/mosquitto restart
이제 MQTT publisher/subscriber가 브로커를 사용할 수 있다.
만일 TLS를 사용하도록 설정해 놓은 경우 mosquitto 클라이언트는 CA certificate(ca.cert)의 복사본을 가지고 있어야만 브로커에 억세스 할 수 있다. ca.cert는 public certificate이기 때문에 암호화 하지 않고 전달해도 상관없다.
$ mosquitto_pub —cafile ca.cert -h 127.0.0.1 -p 8883 …
새 버젼인 mosquitto 1.2 클라이언트는 디폴트로 TLS v1.2를 사용하기 때문에 TLS v1을 사용하도록 하려면 옵션을 추가해 줘야 한다.
$ mosquitto_pub —cafile ca.cert -h 127.0.0.1 -p 8883 —tls-version tlsv1 …
댓글 없음:
댓글 쓰기