設定測試用的模擬感應器 (預覽版)
[本文是發行前文件,可能會有所變動。]
如果您想在不安裝任何實體感應器的情況下,測試感應器資料智慧,您可以使用 Raspberry PI Azure IoT 線上模擬器服務來模擬感應器訊號並將其傳送到 Microsoft Azure 上的物聯網 (IoT) 解決方案。 有關模擬器的詳細資訊,請參閱將 Raspberry Pi 線上模擬器連接到 Azure IoT 中樞 (Node.js)。
影片說明
以下影片展示如何設定測試用模擬感應器。 本文的其他部分以文字型格式提供相同的說明。
在 Azure IoT 中樞建立裝置
您必須先設定裝置以對傳送至 Azure IoT 中樞的感應器訊號進行驗證。
在 Azure 中,移至為與感應器資料 Intelligence 結合使用而建立的資源群組的資源清單。 (如需詳細資訊,請參閱在 Azure 上部署 IoT 解決方案。)
在資源清單中,找到類型欄位設定為 IoT 中樞的記錄。 在名稱行,選取名稱以開啟資源的詳細資訊頁面。
在左側瀏覽窗格中選取裝置。
在裝置頁面上,選取新增裝置。
在建立裝置頁面,設定以下欄位:
- 設備 ID –輸入新設備的名稱 (例如, 我的物聯網設備)。
- 身份驗證類型 –選擇 對稱金鑰。
- 自動產生金鑰 –選取此複選框。
- 將此裝置連線到 IoT 中心 - 選擇「 啟用」。
選取儲存以返回 裝置頁面。
在清單中找到新裝置。 在裝置識別碼行,選取名稱以開啟裝置的詳細資訊頁面。 如果您在清單中沒有看到新裝置,請重新整理頁面。
複製主連接字串值 (例如,透過選取複製到剪貼簿按鈕)。 稍後當您設定 Raspberry Pi IoT 模擬器來模擬感應器訊號時,您將需要此值。 因此,請考慮現在將其貼到文字檔中。
將 Azure 連接字串新增至 Raspberry Pi IoT 模擬器
請依照下列步驟將 Azure IoT 中樞內裝置的連線字串新增至 Raspberry 服務中的指令碼。
在程式碼編輯器窗格中,找到包含下列命令的行。
const connectionString = '[Your IoT hub device connection string]';
將說明文字 (包含括號) 替換成您在上一節中複製的主連接字串值。 結果應該會類似於以下範例。
const connectionString = 'HostName=XXX;DeviceId=YYY;SharedAccessKey=ZZZ';
將感應器識別碼和值新增到 Raspberry Pi IoT 模擬器中的承載
現在您必須使用模擬感應器以及它們將作為承載發送的值來設定 Raspberry Pi IoT 模擬器。
在 Raspberry Pi IoT 模擬器的程式碼編輯器中,找到
getMessage
函數,並對其進行編輯,使其與以下程式碼相符。 (感應器設定在cb()
行上。)function getMessage(cb) { messageId++; sensor.readSensorData() .then(function (data) { cb(JSON.stringify({ value: 1, sensorId: 'MachineStatus' }), false); cb(JSON.stringify({ value: 70, sensorId: 'Quality' }), false); cb(JSON.stringify({ value: 1, sensorId: 'AssetMaintenance' }), false); cb(JSON.stringify({ value: 1, sensorId: 'ProductionDelay' }), false); cb(JSON.stringify({ value: 20, sensorId: 'AssetDowntime' }), false); }) .catch(function (err) { console.error('Failed to read out sensor data: ' + err); }); }
編輯發送感應器訊號的間隔
現在您必須設定 Raspberry Pi IoT 模擬器發送模擬感應器訊號的時間間隔。
在 Raspberry Pi IoT 模擬器的程式碼編輯器中,找到以下函數呼叫。
setInterval(sendMessage, 2000);
根據預設,Raspberry Pi IoT 模擬器每 2,000 毫秒 (兩秒) 會發送一次感應器訊號。 您可以根據要求調整此值。
執行 Raspberry Pi IoT 模擬器
- 選取執行以啟動模擬器並開始發送模擬感應器資料。