Ini adalah contoh integrasi dari jaringan hal -hal dengan hub Azure IoT. Fitur integrasi ini membuat perangkat di Azure IoT Hub Device Registry serta mengirim acara dari pesan uplink.
Integrasi ini membutuhkan nama kunci kebijakan akses bersama dengan registri baca dan tulis dan izin perangkat menghubungkan. Dalam contoh ini, kami menggunakan kebijakan iothubowner yang memiliki izin ini diaktifkan secara default.
'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 ) ;
} ) ; Saat membuat dan menginisialisasi Bridge , Anda dapat menentukan opsi:
const options = { } ;
const bridge = new ttnazureiot . Bridge ( region , appID , accessKey , hubName , keyName , key , options ) ;createMessage Fungsi untuk membuat pesan. Secara default, pesan tersebut merupakan kombinasi dari hasil fields fungsi muatan, ID perangkat yang unik dan waktu server:
options . createMessage = function ( deviceId , message ) {
const metadata = {
deviceId : deviceId ,
time : message . metadata . time ,
raw : message . payload_raw
} ;
return Object . assign ( { } , message . payload_fields , metadata ) ;
} Catatan: Jika hasil fungsi muatan Anda berisi bidang deviceId atau time , bidang ini akan ditimpa oleh metadata. Gunakan fungsi createMessage khusus untuk menggunakan nama bidang khusus.