威聯通科技股份有限公司(QNAP Systems, Inc.) - 網路儲存設備(NAS)

Language

Support

透過 QIoT Suite Lite 連接 Arduino Yun 與 QNAP NAS

開始使用 Arduino Yun (Python)

透過本篇教學文章,您將瞭解 Arduino Yun(執行 Linux)的基本使用方法。接著您將學習如何使用 QIoT Suite Lite 順暢連接裝置與 QNAP NAS。本教學範例使用 DHT11 濕度與溫度偵測器。

第 1 課:設定裝置

在本課中,您將設定 Arduino Yun 裝置使用特定作業系統、設定開發環境,以及在 Arduino Yun 部署應用。

1.1 下載 Arduino IDE

1.2 設定和測試裝置

若是初次使用 Arduino Yun,必須按照下列步驟進行組合。

  • 使用 USB 連接 Arduino Yun 與您的電腦。
  • 開啟您的 Arduino IDE 並尋找[Blink](閃爍)範例。
  • 設定開發板:
  • 設定連接埠:
  • 驗證並上傳[Blink](閃爍)範例至 Arduino Yu
     
  • 上傳程式碼至 Arduino Yun 之後,請查看 Arduino Yun,您應可看見 L13 閃爍不停:
  • 將 DHT11 偵測器分別連接至 Arduino Yun 上的「Ground」、「5V」及「Pin 2(Digital)」。

1.3 取得 Arduino Yun 的IP 位址

  • 按住 Wi-Fi 重設按鈕 5 秒。
  • 前往您的 Wi-Fi 設定並選擇[Arduino-Yun-XXXXXXX](「XXXXXXX」是 Arduino Yun 的 MAC 位址)。
  • 開啟瀏覽器並前往「http://192.168.240.1」或「http://arduino.local」。預設的密碼為「arduino」。
  • 完成開發板設定,然後將 Arduino Yun 連接至您正在使用的路由器。略過[API setting](API 設定)並點擊[Save](儲存)。
  • 在您的電腦將 Wi-Fi 網路變更為您的路由器,如此您的 NAS 與 Arduino 就會位於相同的區域網路。

1.4 安裝 Arduino Yun 的開發工具

  • http://arduino.local 開啟終端機
  • 輸入登入帳號「root」與您的密碼。預設的密碼為「arduino」。

輸入下列指令以安裝 PIP 與 MQTT 程式庫。

root@arduino:~# opkg update
root@arduino:~# opkg install distribute
root@arduino:~# opkg install python-openssl
root@arduino:~# easy_install pip
root@arduino:~# easy_install paho-mqtt

第 2 課:在 QIoT Suite Lite 中建立您的裝置

在本課中,您將佈建 QNAP QIoT Suite Lite 軟體,並在 QIoT Suite Lite 中建立您的第一個裝置。

2.1 安裝 QIoT Suite Lite

您可從 App Center 安裝 QIoT Suite Lite。


啟動並登入 QIoT Suite Lite。預設的使用者名稱與密碼為「admin」。

2.2 建立新的 IoT 應用

IoT 應用由物體、規則及儀表板組合而成。建議您先在 IoT 應用中建立「IoT 裝置」。透過此 IoT 應用,您可記錄與 NAS 連接的所有裝置。

規則可讓 IoT 應用收集、處理及分析由相連裝置產生的資料,然後採取因應動作。規則可以套用至一或多個裝置所產生的資料,並且同時採取一或多個動作。

儀表板將您的資料轉換成分析和報表資料,提供即時洞察資訊。

集結上述所有元素後,使用者便可擁有完整的 IoT 應用環境。

  • 點擊[新增 IoT 應用]並輸入您 IoT 應用的名稱。規則和儀表板名稱將依據 IoT 應用的名稱自動產生。

  • 輸入 IoT 應用的相關資訊。
  • 點擊[新增物體]。在[新增]屬性中,輸入您裝置的名稱並提供裝置資訊(例如序號與製造商)如果 QIoT 已支援您的裝置,請選擇預先定義的 IoT 裝置類型。點擊[新增]以新增裝置。

  • 點擊「物體資源」圖示,然後點擊[新增資源]。在[資源名稱]與[資源 ID]中輸入偵測器的名稱與 ID。請注意,此資源 ID 將用於建立 QIoT 代理程式中的主題。對裝置來說,此 ID 不得重複,亦即相同的裝置不允許有重複的資源 ID。

  • 輸入資源相關資訊。

第 3 課:使用 MQTTS 連接裝置與 QIoT Suite Lite

在本課中,您將從 QIoT Suite Lite 產生憑證、下載 SDK,以及連接 Arduino Yun 與 QIoT Suite Lite。

3.1 產生憑證與 QIoT Suite 內部的資源資訊

  • 點擊 QIoT Suite Lite 中的「物體資訊」圖示,然後前往[連接裝置]並點擊[產生裝置憑證]。

  • 隨即出現如下所示的快顯視窗。點擊這三個連結以下載「裝置憑證」、「CA 憑證」及「私密金鑰」。
  • 接著會顯示畫面具有許多程式碼的頁面。點擊[下載 JSON 檔案]。檔案名稱為「resourceinfo.json」

3.2 下載 SDK 範例程式碼

從以下連結下載 SDK 範例程式碼:
https://drive.google.com/open?id=0B5f8WeH2QCp2WWFaRzZrNG44RFU

確認您下載「QNAPIoT_Python_Test.py」與「DHT-sensor-library-master. zip」

3.3 連接 Arduino Yun 與 NAS

  • 開啟 http://arduino.local/ 並尋找[File Manager](檔案管理員)
  • Arduino Storage](Arduino 儲存)下建立新的資料夾(例如:[123])。
  • 在[123]底下建立資料夾[res]與[ssl]。
  • 複製「QNAPIoT_Python_Test_MQTTS.py」檔案並貼到[123]。
  • 上傳「resourceinfo.json」檔案到[res],並上傳 3 個憑證到[ssl]。
  • 開啟 Arduino IDE。找出「DHT-sensor-library-master.zip」並將其加入。
  • 在 Arduino IDE 開啟「QNAPIoT_Arduino_Test.ino」,然後上傳您的 Arduino 範例程式碼。

3.4 變更連線類型

QIoT 支援的通訊協定包括 MQTT、MQTTS 及 HTTP。

3.4.1 MQTT 與 MQTTS

  • 下載並開啟「QNAPIoT_Python_Test_MQTT.py」。MQTT 與 MQTTS 在 OpenSSL 中有所不同。
  • 若要使用 MQTT,請開啟 QIoT Suite Lite 並尋找[連接裝置]。選擇[MQTT]並點擊[下一步]。
  • 下載 JSON 檔案並上傳到 Arduino Yun 的[res]資料夾。
  • 若要執行您的 python 程式碼,請開啟終端機並輸入以下指令:
    root@arduino:~# python QNAPIoT_Python_Test_MQTT.py 或
    root@arduino:~# python QNAPIoT_Python_Test_MQTTS.py

3.4.2 HTTP

  • 尋找「QNAPIoT_Python_Test_HTTP.py」範例程式碼。
  • 使用以下指令來執行範例程式碼:
    root@arduino:~# python QNAPIoT_Python_Test_HTTP.py

第 4 課:整合 Power BI

4.1 取得您的第一個 Power BI 帳號

前往 https://powerbi.microsoft.com/en-us/ 免費註冊 Power BI 帳號


註冊後,畫面將顯示以下頁面:

4.2 設定串流資料集 API

  • 前往左側選單中的[Datasets](資料集)->[Streaming datasets](串流資料集),然後點擊右上角的[+ Add streaming dataset](+ 新增串流資料集)。
  • 選取[API]作為資料來源,然後點擊[Next](下一步)。
  • 定義您的串流值,然後您將在文字方塊中得到 JSON 結果。我們將使用此 JSON 碼推送資料至 IoT 應用。點擊[Create](建立)即可完成。
  • 一旦建立資料串流後,你會獲得 REST API URL;IoT 應用可使用 POST 要求呼叫此 URL,將您的即時資料推送至您建立的串流資料集。

4.3 設定 IoT 應用中的 Node-RED 節點

  • 在 QIoT Suite 中建立 IoT 應用。以下是您的第一個 Node-RED 流程,接著您可以開始建立自己的 IoT 流程。如需深入瞭解 Node-RED,請瀏覽 https://nodered.org/
  • 在您開始發佈即時資料至 Power BI 之前,我們需要[function](函數)節點以轉換 IoT 資料為串流資料集。您可以在此將 msg.payload 取代為您的 JSON 資料集。
  • 我們需要[http request](http 要求)節點來協助推送即時資料至 Power BI。您只需拖放[http request](http 要求)節點,使其連至[function](函數)節點的尾巴即可。
  • 複製並貼上您從 Power BI 主控台取得的 REST API URL,然後將 http 方法設為 POST。點擊[Deploy](部署)以儲存變更。
  • 您的 Node-RED 流程如下所示。

4.4 新增圖磚以顯示即時資料

  • 前往[Dashboards +](儀表板 +)建立您的第一個儀表板,然後點擊[+ Add tile](+ 新增圖磚)以設定 Widget。
  • 選取[CUSTOM STREAMING DATA](自訂串流資料)並點擊[Next](下一步)。
  • 選取資料集並點擊[Next](下一步)。
  • 您將擁有可供操作的串流資料集,並取得即時衡量工具(如下圖所示)。
發佈日期: 2017-05-12
這篇文章對您有幫助嗎?
謝謝您,我們已經收到您的意見。
謝謝您,我們已經收到您的意見。若有任何問題,歡迎來信 support@qnap.com 。