【 Cloud 】使用 Node.js 透過 Azure IoT Hub 與 Build-in Event Hub 傳送與接收訊息
內容
- 學習目標
- 前置準備作業
- 建立 Azure IoT Hub
- 撰寫接收 Node.js 程式
- 撰寫傳送 Node.js 程式
- 執行與驗證
學習目標
- 如何使用 Node.js 透過 Azure IoT Hub 與 Build-in Event Hub 傳送與接收訊息
前置準備作業
- 已建立 Azure 帳號並能正常登入
- 已於電腦端安裝 Node.js
- 已於電腦端安裝 IDE,本範例使用 Visual Studio Code
建立 Azure IoT Hub
Step 1. 在上方搜尋框輸入 iot hub
關鍵字並點選 IoT Hub
的搜尋結果
Step 2. 點選 + Create
Step 3. 輸入相關資訊
Subscription
欄位選擇所要使用的訂閱。Resource group
欄位輸入此 IoT Hub 所要歸屬於的群組。IoT Hub Name
欄位輸入一個可識別的名稱。Region
欄位擇此 IoT Hub 要建置於哪個資料中心。- 當輸入完成後點選
Review + create
Step 4. 建立服務
- 確認資訊正確則點選
Create
Step 5. 點選 Go to resource
Step 6. 取得 IoT Hub Connection String
- 點選左側
Shared access policies
>iothubowner
- 點選右側
Primary connection string
旁的複製按鈕
Step 7. 取得 IoT Hub 中的 Device Connection String
- 點選
Devices
>+ Add Device
- 輸入相關資訊
Device ID
欄位請輸入device001
- 當輸入完成後點選
Save
- 點選
device001
- 取得
Device Connection String
- 點選
Primary Connection String
右側的複製按鈕
- 點選
Step 8. 取得 IoT Hub 中的 Event Hub Connection String
、Event Hub Name
、Consumer Group Name
- 點選左側的
Build-in endpoints
Event Hub-compatible name
中的值為Event Hub Name
Consumer Groups
中的值為Consumer Group Name
Event Hub-compatible endpoint
中的值為Event Hub Name
撰寫接收 Node.js 程式
Step 1. 初始化專案
- 在終端機輸入下方指令
npm init -y
Step 2. 安裝套件
- 在終端機輸入下方指令
npm i dotenv azure-iot-device-mqtt azure-iot-device @azure/event-hubs
Step 3. 撰寫程式
- 建立一個名為
receive.js
的程式,其程式如下 :
Step 4. 建立設定檔
- 建立一個名為
.env
的設定檔,其內容如下 :- 請將
=
右側填入建立 Azure IoT Hub
段落中Step 8
所取得的Event Hub Connection String
、Event Hub Name
、Consumer Group Name
EVENTHUB_CONNECTION_STRING= EVENTHUB_NAME= CONSUMER_GROUP_NAME=
- 請將
撰寫傳送 Node.js 程式
Step 1. 撰寫程式
- 建立一個名為
send.js
的程式,其程式如下 :
Step 2. 於設定檔新增資訊
- 在剛才所建的
.env
設定檔中新增下方資訊 :- 請將
=
右側填入建立 Azure IoT Hub
段落中Step 7
所取得的Device Connection String
IOT_HUB_DEVICE_CONNECTION_STRING=
- 請將
執行與驗證
Step 1. 執行 receive.js
- ① 開啟第一個終端機再切換工作路徑到剛才所建立
receive.js
程式的地方 - ② 執行下方指令
node receive.js
Step 2. 執行 send.js
- ① 開啟第二個終端機再切換工作路徑到剛才所建立
send.js
程式的地方 - ② 執行下方指令
node send.js
Step 3. 驗證
- 查看
Step 1
的執行視窗會看到已收到send.js
所傳送來的訊息