學習目標
- 於 AWS 建立設定 Node-RED 串接 AWS IoT Core
前置準備作業
一台已連上網路的電腦
一個 AWS 帳號
【 註冊 AWS 帳號教學 】已設定完成 AWS IoT Core 服務
【 建立 AWS IoT Core 教學 】已設定完成 AWS SNS 服務
【 設定 AWS SNS 教學 】已設定完成 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 】 的按鈕
☆ 部署成功後的畫面