IBM Bluemix:打造自己的 MQTT Broker

將 7688 和各種 IoT 裝置連接起來

wesleyboy42
Maker Cup
Published in
4 min readMar 23, 2016

--

在前一篇文章「IBM Bluemix : IoT Platform Starter 初探!」,已經成功佈建好了 IoT 環境,接下來將會練習 MQTT 其他範例,如果您對 MQTT 仍有些陌生的話,可以先閱讀另一篇何育誠所寫的文章「Linkit Smart 7688 Duo 物聯網通訊起手式」。

本文的範例也將把 Publish(推送)和 Subscribe(訂閱)分成兩個 IoT 設備來做,只是中間的Broker 換成以 IBM Bluemix 來搭建環境:

在前一篇文章內的範例中已經有建立一個設備 ID 7688–1,主要是當作 Publish 的設備,如果要把 Subscribe 也分成另外一個 IoT 設備的話,那就必須要再新增一個設備 ID,所以回到 IoT API 服務頁面中,點選啟動儀表板:

點進去會發現已經有一個設備,而設備的類型是7688duo:

點開側邊選單,並點選裝置:

進入裝置頁面後,點選右上角的新增裝置:

由於之前已經新增過裝置類型,所以這時就一樣選7688duo就好:

設定裝置ID,在這範例是用 7688–2:

其餘的步驟都一樣,就一直按下一步就好了,最後一樣會得到鑑別記號(Token),記得要保存好:

新增完裝置之後,接下來就能填入我們的 IoT 設備中,程式範例可從以下連結中下載:

下載 mqtt-subscribe.js 並修改如下:

其中組織ID和鑑別記號則填入剛新增的裝置資訊。

接下來就可以執行 node mqtt-subscribe.js:

如果一切正常將會看到以上畫面。

但 IBM bluemix 的 IoT 應用程式還傳送訊息到這IoT設備上,所以接下來將回到 IBM bluemix 的 wesleyiot 應用程式繼續剩下的編程:

從 function 中拖拉一個 function 圖示:

拖拉後點擊兩下打開並設定如下:

接下來從 output 中拖拉出 ibmiot 圖示出來:

拖拉後點擊兩下打開並設定如下:

完成後點擊 Deploy 來佈建這支應用程式:

接下來就能連到 Publish 執行 node mqtt-publish.js:

執行後會發現 Subscribe 接收到了 demo 的資料:

以上這些就是最精簡的 MQTT 範例,接下來會再介紹更進階的用法,例如 broker 是否能過濾 Topic(訊息)或是 Device ID,function 圖示中能多一些複雜的編程等。

--

--