iothub-errorcode: InvalidProtocolVersion - PullRequest
0 голосов
/ 03 октября 2019

Использование SDK Azure-iot-Device для узла работает в автономной программе узла. При попытке использовать тот же код узла в веб-приложении React, подключение к концентратору IoT завершается с ошибкой «iothub-errorcode: InvalidProtocolVersion» с этой ошибкой:

stream.js:61 WebSocket connection to 'wss://my-iothub.azure-devices.net/' failed: Error during WebSocket handshake: Unexpected response code: 400

App.js

var Protocol = require('azure-iot-device-mqtt').Mqtt;
var Client = require('azure-iot-device').Client;

var connectionString = "HostName=my-iothub.azure-devices.net;DeviceId=<redacted>;SharedAccessKey=<redacted>=";
var client = Client.fromConnectionString(connectionString, Protocol);

var connectCallback = function (err) {
  if (err) {
    console.error('Could not connect: ' + err.message);
  }
  ...
};

client.open(connectCallback);

Заголовки (из инструментов Chrome dev)

Request URL: wss://my-iothub.azure-devices.net/
Request Method: GET
Status Code: 400 Bad Request
Content-Length: 158
Content-Type: application/json; charset=utf-8
Date: Wed, 02 Oct 2019 21:18:10 GMT
iothub-errorcode: InvalidProtocolVersion
Server: Microsoft-HTTPAPI/2.0
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
Cache-Control: no-cache
Connection: Upgrade
Host: my-iothub.azure-devices.net
Origin: http://localhost:3000
Pragma: no-cache
Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits
Sec-WebSocket-Key: <redacted>
Sec-WebSocket-Protocol: mqtt
Sec-WebSocket-Version: 13
Upgrade: websocket
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_0) 

Возможноотносится к: https://github.com/Azure/azure-sdk-for-js/issues/3473#issuecomment-499719031

1 Ответ

0 голосов
/ 24 октября 2019

Я предполагаю, что вы пытаетесь использовать IOT-концентратор из своего веб-приложения реагирования, развернутого в Microsoft Azure. Если это так, попробуйте следующее:

то, что вам нужно проверить, это Интернетнастройки приложения:

Дополнительную информацию можно найти в репозитории и документации по использованию IOT HUB в веб-приложении, которое указано ниже:

https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-live-data-visualization-in-web-apps

https://github.com/Azure/azure-iot-sdk-node/blob/master/device/ts-samples/sample_device.ts

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...