1、IBM Bluemix 賬号
2、物聯網(IoT)
3、Node.js
4、MQTT
MQTT 已經快20年了,可靠、不需要那麼長的Header,省電省帶寬。
5、Node-RED
Node-RED是一個獨立應用,适合做可視化的流程控制,隻要有Node環境就可以了。
相關資料下載下傳:
<a target="_blank" href="http://download.csdn.net/detail/testcs_dn/9702366">Bluemix NodeRed Part1.pdf</a>
<a target="_blank" href="http://download.csdn.net/detail/testcs_dn/9702369">Bluemix NodeRed Part2.pdf</a>
<a target="_blank" href="http://download.csdn.net/detail/testcs_dn/9702371">Bluemix NodeRed Part3.pdf</a>
基于樣闆建立就可以了。
輸入應用程式名稱,其它保持預設,點選“建立”按鈕。
稍等一會你将看到下面的頁面,顯示您的應用程式正在運作,點選檢視應用程式
點選“Go to your Node-RED flow editor”打開一個線上的編輯器
會看到下面的界面:
這一步就到這裡就可以了,後面再來介紹它的使用。
點選目錄,然後在左側選擇Internet of Things,點選 Internet of Things Platform 服務
服務名稱可以保持預設的,你也可以輸入一個
拖動滾動條到下面,套餐選擇免費,然後點選建立
建立完成後,點選啟動儀表闆
滑鼠移動到左側菜單,選擇裝置
點選添加裝置按鈕
首次應用需要先建立裝置類型
輸入裝置名稱,然後點選下一步
現在很多使用預設項就可以,以後管理自己真實的裝置時,最好都填上。
下一步
建立
裝置類型添加完成之後,選擇裝置類型,下一步
輸入裝置辨別,最好英文半角字元,不要超過23個字元,下一步
保持預設,下一步
點選添加按鈕
建立完成之後會看到下圖的資訊
注意:一定要将紅框中的資訊複制出來儲存到其它位置,一會兒還要用到,關閉對話框之後就找不到了。
點選右上角的關閉按鈕
選擇左側的應用程式菜單,然後點選右側的生成API密鑰
點選生成按鈕,同樣要把紅框中的資訊儲存下來,一會兒要用到。
1、使用Nodejs将資料發送到物聯網平台上,程式檔案:mqtt-device-pub-china.js
這裡用到的就是建立裝置時儲存下來的資訊,需要修改的位置都添加了注釋。
2、使用Nodejs訂閱發送到物聯網平台上的資料,程式檔案:mqtt-application-sub-china.js
這個檔案中用到的就是生成 API 密鑰時儲存的資訊,組織辨別要保持一緻。
3、關于兩個檔案中的“clientId”說明:
我們注意到一個是以“a:”開頭代表APP(應用),一個是以“d:”開頭代表Device(裝置);
為什麼這樣設計呢?
因為隻有應用可以訂閱,應用需要等待就是Looping,耗電較大,通常運作在伺服器端;
裝置要接收指令,不需要等什麼;是以Command的隻能給裝置,不能給應用;
4、運作釋出和訂閱端測試
兩端的啟動順序不分先後,啟動後在釋出端輸入資訊,在訂閱端就會看到了。
注意:這個資料是經過IBM Bluemix 上的物聯網平台的。
5、原理示意圖
一開始我們就建立了Node-RED應用程式,打開了一個線上的流程編輯器卻沒有使用,現在它被派上用場了。
1、首先,我們通過按下拖動滑鼠來選中Flow1中的圖形,然後按Delete鍵将其删除。
2、在左側的 input 中選擇 mqtt 拖動添加到 Flow 1 中,輕按兩下它
3、然後點選Server 後面的編輯按鈕
4、輸入Server資訊,就是上面js檔案中的:組織辨別+.messaging.internetofthings.chinabluemix.net
例如:0ct4vz.messaging.internetofthings.chinabluemix.net
Client ID,可以和上面訂閱程式檔案中的一樣。
5、然後選擇Security标簽:
這裡就是你生成的API 密鑰和認證令牌,然後點選Update按鈕。
6、在左側的 output 中選擇 debug 拖動添加到 Flow 1 中
7、在 mqtt 的右側按下滑鼠拖動到 debug 的左側,這樣兩個元件就建立了連接配接,也就是 mqtt 的輸出作為 debug 的輸入。
然後點選 Deploy
8、注意左側的連接配接狀态
9、右側切換到 debug 标簽
10、再回到我們剛剛運作的釋出端程式,輸入資訊釋出吧,然後在上圖的 debug 資訊中就可以看到釋出的資訊了。
是不是很有意思呢?Node-Red的功能遠不止于此。
之前一直想嘗試Bluemx上的物聯網和Node-Red,但限于能力一直也沒搞清楚怎麼用。
非常感謝詹總的分享,讓我們吃着零食,喝着飲料,邊聽邊動手實踐,非常容易的就掌握了使用方法。
希望以後能多組織一些這樣的活動,提供一些最佳實踐;這裡面有一些需要注意的地方,
如果不是有人指導,自己就要去看文檔,可能會有很多彎路要走。
這樣讓我們大大的節省了探索的時間,直接走上捷徑。
===========文檔資訊============
版權聲明:非商用自由轉載-保持署名-注明出處
署名(BY) :testcs_dn(微wx笑)
文章出處:[無知人生,記錄點滴](http://blog.csdn.net/testcs_dn)