integration azure
1.0.0
이것은 Azure IoT Hub와 Things Network의 예제 통합입니다. 이 통합은 Azure IoT 허브 장치 레지스트리에서 장치를 생성하고 업 링크 메시지에서 이벤트를 전송하는 기능을 제공합니다.
이 통합에는 레지스트리 읽기 및 쓰기 및 장치 연결 권한이 포함 된 공유 액세스 정책 키 이름이 필요합니다. 이 예에서는 기본적으로 이러한 권한을 활성화하는 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 ) ;
} 참고 : 페이로드 함수의 결과에 필드 deviceId 또는 time 포함 된 경우 이러한 필드는 메타 데이터에 의해 덮어 씁니다. 사용자 정의 createMessage 함수를 사용하여 사용자 정의 필드 이름을 사용하십시오.