Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
async function main() {
const provisioningClient = ProvisioningDeviceClient.create(
provisioningEndpoint,
idScope,
new ProvisioningTransport(),
new SymmetricKeySecurityClient(registrationId, symmetricKey)
);
// IoT Central requires a special payload to be sent when the device is provisioned
provisioningClient.setProvisioningPayload({
'__iot:interfaces': {
CapabilityModelId: capabilityModel
}
});
const registrationResult = await provisioningClient.register();
const deviceConnectionString = `HostName=${registrationResult.assignedHub};DeviceId=${registrationResult.deviceId};SharedAccessKey=${symmetricKey}`;
const propertyUpdateHandler = (interfaceInstance, propertyName, reportedValue, desiredValue, version) => {
console.log('Received an update for ' + propertyName + ': ' + JSON.stringify(desiredValue));
interfaceInstance[propertyName].report(desiredValue, {
//
// You can find your idScope in the portal overview section for your dps instance.
//
var idScope = process.env.PROVISIONING_IDSCOPE;
//
// The registration id of the device to be registered.
//
var registrationId = process.env.PROVISIONING_REGISTRATION_ID;
var symmetricKey = process.env.PROVISIONING_SYMMETRIC_KEY;
var provisioningSecurityClient = new SymmetricKeySecurityClient(registrationId, symmetricKey);
var provisioningClient = ProvisioningDeviceClient.create(provisioningHost, idScope, new ProvisioningTransport(), provisioningSecurityClient);
// Register the device.
provisioningClient.setProvisioningPayload({a: 'b'});
provisioningClient.register(function(err, result) {
if (err) {
console.log("error registering device: " + err);
} else {
console.log('registration succeeded');
console.log('assigned hub=' + result.assignedHub);
console.log('deviceId=' + result.deviceId);
console.log('payload=' + JSON.stringify(result.payload));
var connectionString = 'HostName=' + result.assignedHub + ';DeviceId=' + result.deviceId + ';SharedAccessKey=' + symmetricKey;
var hubClient = Client.fromConnectionString(connectionString, iotHubTransport);
hubClient.open(function(err) {
if (err) {
console.error('Could not connect: ' + err.message);
//
// You can find your idScope in the portal overview section for your dps instance.
//
const idScope = process.env.PROVISIONING_IDSCOPE;
//
// The registration id of the device to be registered.
//
const registrationId = process.env.PROVISIONING_REGISTRATION_ID;
const symmetricKey = process.env.PROVISIONING_SYMMETRIC_KEY;
let provisioningSecurityClient = new SymmetricKeySecurityClient(registrationId, symmetricKey);
let provisioningClient = ProvisioningDeviceClient.create(provisioningHost, idScope, new ProvisioningTransport(), provisioningSecurityClient);
// Register the device.
provisioningClient.setProvisioningPayload({a: 'b'});
provisioningClient.register((err, result) => {
if (err) {
console.log('error registering device: ' + err);
} else {
console.log('registration succeeded');
console.log('assigned hub=' + result.assignedHub);
console.log('deviceId=' + result.deviceId);
console.log('payload=' + JSON.stringify(result.payload));
let connectionString = 'HostName=' + result.assignedHub + ';DeviceId=' + result.deviceId + ';SharedAccessKey=' + symmetricKey;
let hubClient = Client.fromConnectionString(connectionString, iotHubTransport);
hubClient.open((err) => {
if (err) {
console.error('Could not connect: ' + err.message);