Я пытаюсь подключиться к своей «вещи», то есть Raspberry Pi, зарегистрированной в моей учетной записи AWS с использованием node.js.Все учетные файлы хранятся и расположены по правильному пути (папка certs).aws.iot SDK для node.js установлен в каталоге ~/deviceSDK'
Raspberry Pi.Вот код.
var awsIot = require('aws-iot-device-sdk');
var device = awsIot.device({
keyPath: '/home/pi/deviceSDK/certs/private.pem.key',
certPath: '/home/pi/deviceSDK/certs/certificate.pem.crt',
caPath: '/home/pi/deviceSDK/certs/caCert.crt',
clientId: 'Raspberry',
region: 'us-west-2'
});
device.on('connect', function() {
console.log('connected');
});
При запуске кода я получил следующую ошибку:
Ошибка: указаны неверные параметры подключения.
Iпогуглил эту проблему и понял, что хост должен быть добавлен в настройках соединения.Таким образом, код был обновлен следующим образом:
var awsIot = require('aws-iot-device-sdk');
var device = awsIot.device({
keyPath: '/home/pi/deviceSDK/certs/private.pem.key',
certPath: '/home/pi/deviceSDK/certs/certificate.pem.crt',
caPath: '/home/pi/deviceSDK/certs/caCert.crt',
clientId: 'Raspberry',
region: 'us-west-2',
host: 'https://XXXXXXXXXX.iot.us-west-2.amazonaws.com'
});
device.on('connect', function() {
console.log('connected');
});
, в котором XXXXXXXXXXX явно предоставляется AWS в качестве конечной точки API отдыха для взаимодействия с «вещью» в моем аккаунте, как показано на следующем рисунке.
Конечная точка моего устройства
Теперь я получаю эту ошибку:
events.js: 183 throw er;// Необработанное событие 'error' ^
Ошибка: getaddrinfo ENOTFOUND https://xxxxxxxxx.iot.us -west-2.amazonaws.com https://xxxxxxxxxx.iot.us -west-2.amazonaws.com:8883
Есть идеи в чем проблема?Спасибо за вашу помощь.