以前に、準備編でapt-getでの mosquitto 関連のインストール記事を記載しましたが
今回は、LAN上に自前でMQTT サーバ (websocket対応)環境を構築したいと思います。
対応方法を調査しましたが 結構面倒な為。メモです
ソース取得して、コンパイル必要です。
OS: Linux (debian wheezy), Raspberry PI 2
[MQTT]
mosquitto 1.4.2
port MQTT: 1883
port Websocket : 8080
*) 既存のmosquittoを削除後、インストールしています。
*) 試しにLAN上にインストールする為、MQTT アカウントの認証を省略しています。
# 1)関連パッケージ
$ sudo apt-get update
$ sudo apt-get install build-essential python quilt devscripts python-setuptools python3
$ sudo apt-get install libssl-dev
$ sudo apt-get install cmake
$ sudo apt-get install libc-ares-dev
$ sudo apt-get install uuid-dev
$ sudo apt-get install daemon
# 2) libwebsockets
$ wget http://git.libwebsockets.org/cgi-bin/cgit/libwebsockets/snapshot/libwebsockets-1.4-chrome43-firefox-36.tar.gz
$ tar zxvf libwebsockets-1.4-chrome43-firefox-36.tar.gz
$ cd libwebsockets-1.4-chrome43-firefox-36
$ mkdir build
$ cd build
$ cmake ..
$ sudo make install
$ sudo ldconfig
$ cd
# 3) mosquitto 1.4.2
$ wget http://mosquitto.org/files/source/mosquitto-1.4.2.tar.gz
$ tar zxvf mosquitto-1.4.2.tar.gz
$ cd mosquitto-1.4.2
config.mk 修正します。
WITH_WEBSOCKETS:=no
[修正後]
WITH_WEBSOCKETS:=yes
$ make
===update 2015-10-29 =====
===update 2015-10-29 =====
$ sudo make install
$ sudo ldconfig
$ sudo ldconfig
# 4) mosquitto.conf ,setting
ホームに、mosquitto.conf を作成 (下記の内容)
######
pi@raspberrypi:~$ more mosquitto.conf
listener 1883
listener 8080 127.0.0.1
protocol websockets
######
# 5) rebootします。
# 6) mosquitto起動。
pi@raspberrypi:~/work/mosquitto-1.4.2$ pwd
/home/pi/work/mosquitto-1.4.2
pi@raspberrypi:~/work/mosquitto-1.4.2$ pwd
/home/pi/work/mosquitto-1.4.2
*) 今回は、src フォルダで起動。
mosquitto_sub が動作しない場合がありました。
*)共有ライブラリの設定で解決しました。
===update 2015-10-29 =====
/usr/local/sbin/mosquitto -c ~/mosquitto.conf -d
*) 起動後は Sub/Pub できました、
ブラウザからのアクセスも可能。(paho-js)
# 参考の記事
http://www.xappsoftware.com/wordpress/2015/05/18/six-steps-to-install-mosquitto-1-4-2-with-websockets-on-debian-wheezy/comment-page-1/
# 関連の記事
http://knaka0209.blogspot.jp/2015/10/mqtt-1.html
# 開発者向けのまとめ記事
http://knaka0209.blogspot.jp/2015/04/agri.html
0 件のコメント:
コメントを投稿