天天看點

【物聯網(IoT)開發】物聯網及NodeRed 技術講解及動手實踐活動分享

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>

基于樣闆建立就可以了。

【物聯網(IoT)開發】物聯網及NodeRed 技術講解及動手實踐活動分享

輸入應用程式名稱,其它保持預設,點選“建立”按鈕。

【物聯網(IoT)開發】物聯網及NodeRed 技術講解及動手實踐活動分享

稍等一會你将看到下面的頁面,顯示您的應用程式正在運作,點選檢視應用程式

【物聯網(IoT)開發】物聯網及NodeRed 技術講解及動手實踐活動分享

點選“Go to your Node-RED flow editor”打開一個線上的編輯器

【物聯網(IoT)開發】物聯網及NodeRed 技術講解及動手實踐活動分享

會看到下面的界面:

【物聯網(IoT)開發】物聯網及NodeRed 技術講解及動手實踐活動分享

這一步就到這裡就可以了,後面再來介紹它的使用。

點選目錄,然後在左側選擇Internet of Things,點選 Internet of Things Platform 服務

【物聯網(IoT)開發】物聯網及NodeRed 技術講解及動手實踐活動分享

服務名稱可以保持預設的,你也可以輸入一個

【物聯網(IoT)開發】物聯網及NodeRed 技術講解及動手實踐活動分享

拖動滾動條到下面,套餐選擇免費,然後點選建立

【物聯網(IoT)開發】物聯網及NodeRed 技術講解及動手實踐活動分享

建立完成後,點選啟動儀表闆

【物聯網(IoT)開發】物聯網及NodeRed 技術講解及動手實踐活動分享

滑鼠移動到左側菜單,選擇裝置

【物聯網(IoT)開發】物聯網及NodeRed 技術講解及動手實踐活動分享

點選添加裝置按鈕

【物聯網(IoT)開發】物聯網及NodeRed 技術講解及動手實踐活動分享

首次應用需要先建立裝置類型

【物聯網(IoT)開發】物聯網及NodeRed 技術講解及動手實踐活動分享
【物聯網(IoT)開發】物聯網及NodeRed 技術講解及動手實踐活動分享

輸入裝置名稱,然後點選下一步

【物聯網(IoT)開發】物聯網及NodeRed 技術講解及動手實踐活動分享

現在很多使用預設項就可以,以後管理自己真實的裝置時,最好都填上。

【物聯網(IoT)開發】物聯網及NodeRed 技術講解及動手實踐活動分享

下一步

【物聯網(IoT)開發】物聯網及NodeRed 技術講解及動手實踐活動分享

建立

【物聯網(IoT)開發】物聯網及NodeRed 技術講解及動手實踐活動分享

裝置類型添加完成之後,選擇裝置類型,下一步

【物聯網(IoT)開發】物聯網及NodeRed 技術講解及動手實踐活動分享

輸入裝置辨別,最好英文半角字元,不要超過23個字元,下一步

【物聯網(IoT)開發】物聯網及NodeRed 技術講解及動手實踐活動分享

保持預設,下一步

【物聯網(IoT)開發】物聯網及NodeRed 技術講解及動手實踐活動分享
【物聯網(IoT)開發】物聯網及NodeRed 技術講解及動手實踐活動分享

點選添加按鈕

【物聯網(IoT)開發】物聯網及NodeRed 技術講解及動手實踐活動分享

建立完成之後會看到下圖的資訊

注意:一定要将紅框中的資訊複制出來儲存到其它位置,一會兒還要用到,關閉對話框之後就找不到了。

【物聯網(IoT)開發】物聯網及NodeRed 技術講解及動手實踐活動分享

點選右上角的關閉按鈕

選擇左側的應用程式菜單,然後點選右側的生成API密鑰

【物聯網(IoT)開發】物聯網及NodeRed 技術講解及動手實踐活動分享

點選生成按鈕,同樣要把紅框中的資訊儲存下來,一會兒要用到。

【物聯網(IoT)開發】物聯網及NodeRed 技術講解及動手實踐活動分享

1、使用Nodejs将資料發送到物聯網平台上,程式檔案:mqtt-device-pub-china.js

這裡用到的就是建立裝置時儲存下來的資訊,需要修改的位置都添加了注釋。

2、使用Nodejs訂閱發送到物聯網平台上的資料,程式檔案:mqtt-application-sub-china.js

這個檔案中用到的就是生成 API 密鑰時儲存的資訊,組織辨別要保持一緻。

3、關于兩個檔案中的“clientId”說明:

我們注意到一個是以“a:”開頭代表APP(應用),一個是以“d:”開頭代表Device(裝置);

為什麼這樣設計呢?

因為隻有應用可以訂閱,應用需要等待就是Looping,耗電較大,通常運作在伺服器端;

裝置要接收指令,不需要等什麼;是以Command的隻能給裝置,不能給應用;

4、運作釋出和訂閱端測試

【物聯網(IoT)開發】物聯網及NodeRed 技術講解及動手實踐活動分享

兩端的啟動順序不分先後,啟動後在釋出端輸入資訊,在訂閱端就會看到了。

【物聯網(IoT)開發】物聯網及NodeRed 技術講解及動手實踐活動分享

注意:這個資料是經過IBM Bluemix 上的物聯網平台的。

5、原理示意圖

【物聯網(IoT)開發】物聯網及NodeRed 技術講解及動手實踐活動分享

一開始我們就建立了Node-RED應用程式,打開了一個線上的流程編輯器卻沒有使用,現在它被派上用場了。

1、首先,我們通過按下拖動滑鼠來選中Flow1中的圖形,然後按Delete鍵将其删除。

【物聯網(IoT)開發】物聯網及NodeRed 技術講解及動手實踐活動分享

2、在左側的 input 中選擇 mqtt 拖動添加到 Flow 1 中,輕按兩下它 

【物聯網(IoT)開發】物聯網及NodeRed 技術講解及動手實踐活動分享

3、然後點選Server 後面的編輯按鈕

【物聯網(IoT)開發】物聯網及NodeRed 技術講解及動手實踐活動分享

4、輸入Server資訊,就是上面js檔案中的:組織辨別+.messaging.internetofthings.chinabluemix.net

例如:0ct4vz.messaging.internetofthings.chinabluemix.net

Client ID,可以和上面訂閱程式檔案中的一樣。

5、然後選擇Security标簽:

【物聯網(IoT)開發】物聯網及NodeRed 技術講解及動手實踐活動分享

這裡就是你生成的API 密鑰和認證令牌,然後點選Update按鈕。

【物聯網(IoT)開發】物聯網及NodeRed 技術講解及動手實踐活動分享

6、在左側的 output 中選擇 debug 拖動添加到 Flow 1 中

【物聯網(IoT)開發】物聯網及NodeRed 技術講解及動手實踐活動分享

7、在 mqtt 的右側按下滑鼠拖動到 debug 的左側,這樣兩個元件就建立了連接配接,也就是 mqtt 的輸出作為 debug 的輸入。

然後點選 Deploy

【物聯網(IoT)開發】物聯網及NodeRed 技術講解及動手實踐活動分享

8、注意左側的連接配接狀态

【物聯網(IoT)開發】物聯網及NodeRed 技術講解及動手實踐活動分享

9、右側切換到 debug 标簽

【物聯網(IoT)開發】物聯網及NodeRed 技術講解及動手實踐活動分享

10、再回到我們剛剛運作的釋出端程式,輸入資訊釋出吧,然後在上圖的 debug 資訊中就可以看到釋出的資訊了。

是不是很有意思呢?Node-Red的功能遠不止于此。

之前一直想嘗試Bluemx上的物聯網和Node-Red,但限于能力一直也沒搞清楚怎麼用。

非常感謝詹總的分享,讓我們吃着零食,喝着飲料,邊聽邊動手實踐,非常容易的就掌握了使用方法。

希望以後能多組織一些這樣的活動,提供一些最佳實踐;這裡面有一些需要注意的地方,

如果不是有人指導,自己就要去看文檔,可能會有很多彎路要走。

這樣讓我們大大的節省了探索的時間,直接走上捷徑。

===========文檔資訊============ 

版權聲明:非商用自由轉載-保持署名-注明出處 

署名(BY) :testcs_dn(微wx笑) 

文章出處:[無知人生,記錄點滴](http://blog.csdn.net/testcs_dn)

繼續閱讀