integration azure
1.0.0
這是與Azure IoT中心的事物網絡集成的示例。此集成具有在Azure Iot Hub設備註冊表中創建設備以及從上行鏈路消息發送事件的設備。
此集成需要一個共享訪問策略關鍵名稱,並具有註冊表讀取和寫入以及設備連接權限。在此示例中,我們使用默認情況下具有這些權限的Iothubowner策略。
'use strict' ;
const ttnazureiot = require ( 'ttn-azure-iothub' ) ;
// Replace with your region, app ID and access key
const region = '<insert region>' ;
const appId = '<insert app ID>' ;
const accessKey = '<insert access key>' ;
// Replace with your Azure IoT Hub name, key name and key
const hubName = '<insert hub name>' ;
const keyName = 'iothubowner' ;
const key = '<insert key>' ;
const bridge = new ttnazureiot . Bridge ( region , appId , accessKey , hubName , keyName , key ) ;
bridge . on ( 'ttn-connect' , ( ) => {
console . log ( 'TTN connected' ) ;
} ) ;
bridge . on ( 'error' , err => {
console . warn ( 'Error' , err ) ;
} ) ;
bridge . on ( 'message' , data => {
console . log ( 'Message' , data ) ;
} ) ; 創建和初始化Bridge時,您可以指定選項:
const options = { } ;
const bridge = new ttnazureiot . Bridge ( region , appID , accessKey , hubName , keyName , key , options ) ;createMessage創建消息的功能。默認情況下,消息是有效載荷功能fields ,唯一設備ID和服務器時間的結果的組合:
options . createMessage = function ( deviceId , message ) {
const metadata = {
deviceId : deviceId ,
time : message . metadata . time ,
raw : message . payload_raw
} ;
return Object . assign ( { } , message . payload_fields , metadata ) ;
}注意:如果您的有效負載功能的結果包含fields deviceId或time ,則這些字段將被元數據覆蓋。使用自定義createMessage函數使用自定義字段名稱。