[ AWS ] 設定 Node-RED 串接 AWS IoT Core 教學

學習目標

  • 於 AWS 建立設定 Node-RED 串接 AWS IoT Core

前置準備作業

  1. 一台已連上網路的電腦

  2. 一個 AWS 帳號
    【 註冊 AWS 帳號教學 】

  3. 已設定完成 AWS IoT Core 服務
    【 建立 AWS IoT Core 教學 】

  4. 已設定完成 AWS SNS 服務
    【 設定 AWS SNS 教學 】

  5. 已設定完成 AWS SNS 服務
    【 建立 AWS IoT Core 與 AWS SNS 關聯教學 】


Step 1. 傳送憑證到 EC2

❖ 1.1  遠端登入到 EC2 中
        ☆ Windows 使用者請參考 【 Windows 登入 AWS EC2 】 教學文,其網址:https://oranwind.org/-aws-windows-deng-ru-aws-ec2-jiao-xue/
        ☆ macOS 使用者請參考 【 macOS 登入 AWS EC2 】 教學文,其網址:https://oranwind.org/-aws-macos-deng-ru-aws-ec2-jiao-xue/

❖ 1.2  登入成功後輸入下方指令以建立存放憑證的資料夾
        mkdir /home/ubuntu/.node-red/certs

❖ 1.3  將 【 建立 AWS IoT Core 教學 】中所下載的 【 ~.cert.pem 】 與 【 ~.private.key 】 憑證傳送到 EC2 中的 【 /home/ubuntu/.node-red/certs 】路徑中

        ㊟ 檔案傳輸方式請參考下方教學文
           Windows 使用者:https://oranwind.org/-aws-windows-chuan-song-dang-an-dao-aws-ec2-jiao-xue/
           macOS 使用者:https://oranwind.org/-aws-macos-chuan-song-dang-an-dao-aws-ec2-jiao-xue/

❖ 1.4  切換工作目錄到 【 /home/ubuntu/.node-red/certs 】 中,請輸入以下指令
        cd /home/ubuntu/.node-red/certs

❖ 1.5  確認剛才兩個憑證是否有成功傳輸到 【 /home/ubuntu/.node-red/certs 】 目錄中,請輸入以下指令
        ls -al

      ☆ 顯示剛才所傳送過來的 2 個憑證

❖ 1.6  下載 root-CA 請輸入以下指令
        curl https://www.symantec.com/content/en/us/enterprise/verisign/roots/VeriSign-Class%203-Public-Primary-Certification-Authority-G5.pem > root-CA.crt  

      ☆ 確認 root-CA 憑證是否成功下載到 【 /home/ubuntu/.node-red/certs 】 目錄中,請輸入以下指令
        ls -al

Step 2. 開啟 Node-RED 編輯頁面

        ☆ 請參考下方網址中的 【 Step 4. 開啟 Node-RED 編輯環境 】
           https://oranwind.org/-aws-zai-ec2-an-zhuang-node-red/


Step 3. 新增 【 node-red-contrib-aws-iot-hub 】 節點

             ☆ 點選右上角 【 ≡ 】 圖示

             ☆ 點選 【 Manage palette 】 

             ☆ 點選 【 Install 】 頁籤 

             ☆ 在 【 search modules 】 欄位中輸入 【 node-red-contrib-aws-iot-hub 】

             ☆ 點選 【 node-red-contrib-aws-iot-hub 】 欄位右邊的 【 install 】 按鈕

             ☆ 點選 【 Install 】 按鈕

             ☆ 安裝完成


Step 4. 建立 Node-RED 串接 MCS 程式

❖ 4.1  將 【 Input 】 中的 【 mqtt 】 節點拉到 Node-RED 編輯區域

❖ 4.2  點選編輯區中的 【 mqtt 】 節點

❖ 4.3  點選 【 server 】 欄位右邊的畫筆

❖ 4.4  在 【 server 】 欄位中輸入 【 mqtt.mcs.mediatek.com 】

❖ 4.5  點選右上方 【 Add 】 按鈕

❖ 4.6  在 【 Topic 】 欄位輸入 【 mcs/DeviceId/DeviceKey/+ 】
        ㊟ 請修改 DeviceId 與 DeviceKey ,請參考 【 啟用 MCS MQTT Broker 教學 】 文中的 【 Step 4. 取得 DeviceId 與 DeviceKey 】,參考紽頁如下:
           https://oranwind.org/-aws-windows-chuan-song-dang-an-dao-aws-ec2-jiao-xue-2/

❖ 4.7  點選右上方 【 Done 】 按鈕


Step 5. 建立 Node-RED 處理程式

❖ 5.1  將 【 function 】 中的 【 function 】 節點拉到 Node-RED 編輯區域

❖ 5.2  建立 【 mqtt 】 節點與【 function 】 節點之間的關聯

❖ 5.3  點選編輯區中的 【 function 】 節點

❖ 5.4  在 【 function 】 欄位中輸入以下程式,在點選右上方的 【 Done 】 按鈕
       var Ultrasonic = JSON.parse(msg.payload); 
       msg.payload = {"Ultrasonic":Ultrasonic.datapoints[0].values.value};
       return {payload: msg.payload}


Step 6. 建立 Node-RED 串接 AWS IoT Core 程式

❖ 6.1  將 【 output 】 中的 【 aws mqtt 】 節點拉到 Node-RED 編輯區域

❖ 6.2  建立 【 aws mqtt 】 節點與【 function 】 節點之間的關聯

❖ 6.3  點選編輯區中 【 aws mqtt 】 節點

❖ 6.4  點選 【 Device 】 欄位右邊的畫筆

❖ 6.5  輸入相關資訊

        ☆ 在 【 Name 】 與 【 Client ID 】 欄位 AWS IoT 中所設定的實物名稱
          請參考 【 建立 AWS IoT Core 教學 】 文中的 【 在 【 為您的實物指定名稱 】 欄位輸入一個名稱,例如:Node-RED-IoT 】

        ☆ 在 【 Type 】 欄位選擇 【 MQTT Broker 】

        ☆ 在 【 Endpoint 】 欄位請至 【 AWS IoT Core 】 ➙ 【 管理 】 ➙ 選擇所設定的實物 ➙ 【 行動 】

        ☆ 在 【 AWS Certs 】 欄位 【 /home/ubuntu/.node-red/certs 】,再點選右上角的 【 Add 】 按鈕

        ☆ 在 【 Topic 】 欄位輸入 【 /sensingData/Ultrasonic 】,再接右上角的 【 Add 】 按鈕

        ☆ 點選右上角的 【 Deploy 】 的按鈕

        ☆ 部署成功後的畫面


GitHub
List of blogs
ALL RIGHTS RESERVED. COPYRIGHT © 2018. Designed and Coded by Makee.io