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
沒有留言:
張貼留言