Мне нужно реализовать уведомления в моем приложении Ionic для Android.Для этого мы установили Azure IOT Hub, где устройство должно быть зарегистрировано, и оттуда мы можем отправлять сообщения на устройство и наоборот (с устройства в облако).
Теперь я прошелмного ссылок в гугле относительно плагинов для лазури в Ionic, я пробовал их, но тщетно.Мне нужно сделать две вещи
- Зарегистрировать идентификатор устройства в концентраторе IOT Azure
- Отправить уведомление в концентраторе IOT Azure, используя этот идентификатор устройства, чтобы я мог получить его вустройство.
Я прошел
- https://github.com/Azure/azure-iot-sdk-node
- https://github.com/derek82511/cordova-azure-notification-hubs
Никто из них не помог мнезарегистрировать устройство в IOT Hub.Кто-нибудь может направить меня в правильном направлении.Мне нужно знать, как подключить Azure IOT Hub к моему мобильному приложению Ionic для Android.
Код:
var iothub = require('azure-iothub');
var connectionString = config.hubConnectionString;
var registry = iothub.Registry.fromConnectionString(connectionString);
// Create a new device
var device = {
deviceId: uuid
};
registry.create(device, function(err, deviceInfo, res) {
if (err) {
console.log( ' error: ' + err.toString());
this.showAlert('Create Device Error',err.toString());
}
if (res) {
console.log(' status: ' + res.statusCode + ' ' + res.statusMessage);
this.showAlert('Create Device Success Response',`status: ${res.statusCode} ${res.statusMessage}`);
}
if (deviceInfo) {
console.log(' device info: ' + JSON.stringify(deviceInfo));
this.showAlert('Device Info',JSON.stringify(deviceInfo));
}
});
//var clientFromConnectionString = require('azure-iot-device-http').clientFromConnectionString;
//var Message = require('azure-iot-device').Message;
var connectionString = config.hubConnectionString;
var client = clientFromConnectionString(connectionString);
var connectCallback = function (err) {
if (err) {
console.error('Could not connect: ' + err);
this.showAlert('HTTP Connection Error',err.toString());
} else {
console.log('Client connected');
var message = new Message('some data from my device');
client.sendEvent(message, function (err) {
if (err) {
console.log(err.toString());
this.showAlert('HTTP Send IOT Message Error',err.toString());
}
});
client.on('message', function (msg) {
console.log(msg);
this.showAlert('IOT Received Message',msg);
client.complete(msg, function () {
console.log('completed');
});
});
}
};
client.open(connectCallback);