2016年8月30日 星期二

MQTT 安裝及web socket設定

MQTT:是一個client server的publish/subscribe訊息交換協定

安裝過程:

wget 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 wget http://repo.mosquitto.org/debian/mosquitto-jessie.list

sudo apt-get update

sudo apt-get install mosquitto mosquitto-clients
安裝好之後,
其實就會隨著開機啟動MQTT把這台機器也當作Topic Server,
可以做本地端測試

開啟兩個終端機,分別執行下面的1以及2

1.建立Subscriber(訂閱者),訂閱topic名稱為 TEST_TOPIC
mosquitto_sub -d -t TEST_TOPIC

2.建立Publisher(發布者),發佈到topic名稱為TEST_TOPIC
mosquitto_pub -d -t TEST_TOPIC -m "Test message. Test message. Test message."

此時在1號終端機,Subscriber應該會看到來自Publisher的訊息

而2號終端機所key的那行指令,若預設沒有加上-h指定topic server,則會以自身當作topic server以及一個publisher的腳色

※ 如果要指定port的話 使用-p 8888 參數
※ console使用的port 和 websocket的port不同
=============================================================

使用js與MQTT溝通
sudo vim /etc/mosquitto/mosquitto.conf

修改內容:
 bind_address localhost
port 9999  #預設MQTT的port

#下面2行是設定給websockets的port
listener 8888
protocol websockets



設完重開
sudo service mosquitto restart

server部份設定完成
===============================================================


sample code: https://github.com/xms/MQTT-Client-with-web-socket








沒有留言:

張貼留言