2016-03-10 3 views
2

Знаете ли вы, можно ли получать сообщения от устройства к облаку с помощью Microsoft Azure и концентратора IoT с помощью javascript-клиента , работающего в браузере (т.е. нет узла js)?Azure IoT Hub: получение сообщений через API-интерфейс на стороне браузера

Это мое понимание, что в настоящее время это невозможно, но я хотел бы убедиться (например, все текущие API могут работать только на стороне сервера).

Редактировать 1: API REST может быть очевидным выбором для этого; Однако, попробовав эти API-интерфейсы с помощью ручного запроса, кажется, что ответ не содержит заголовок источника разрешения-доступа-источника, поэтому я не могу назвать их из ajax из-за CORS.

ответ

3

UPDATE: Пример кода был удален требование от команды Azure IoT Hub, и им не нравится пользователям подключаться к IoT Hub от браузеров (https://github.com/Azure/azure-iot-sdk-node/issues/112#issuecomment-338073636).

Извините за неработающие ссылки в этом ответе.


Похоже, что это старый вопрос, однако я считаю, что до сих пор никто не может дать правильный ответ.

Одним словом, есть ли способ читать сообщения IoT Hub D2C в браузере? Ответ абсолютно ДА!

Вы не должны использовать RESTful API для проверки циклов сообщений, но используйте AMQP через WebSockets.

Прежде чем вы начнете, вы должны знать, что IoT Hub имеет две стороны: сторону устройства и сервисную сторону. Для сторон устройства вы подключаетесь к концентратору IoT с использованием HTTP, AMQP и MQTT, однако для служебной стороны вы можете ТОЛЬКО подключаться к концентратору IoT с использованием AMQP.

К счастью, Red Hat уже написала AMQP над модулем узлов WebSockets, и вы можете сделать простую работу, чтобы заставить ее работать в браузере.

Подробнее о модуле AMQP Node вы можете узнать от https://github.com/grs/rhea.

Кроме того, мы создали веб-инструмент для приема сообщений D2C https://iotdevtool.com/service/, вы можете узнать больше об этом от https://blogs.msdn.microsoft.com/zhiqing/2017/03/16/connect-to-azure-event-hub-in-browser-using-amqp-over-websockets/.

0

Я не пробовал это сам, но я понимаю, что можно получить сообщения «облако-устройство» в JavaScript с помощью IoT Hub REST API.

+0

Вы бы так подумали. Тем не менее, кажется, что ответы не включают заголовок источника разрешения-доступа-источника, поэтому вы не можете использовать услугу через запрос ajax из-за CORS. – Andrei

+0

Правильно, это проблема при его использовании с веб-страницы. Я предполагаю, что этот сценарий не обычный. Возможно, вы можете предложить эту функцию с помощью UserVoice: https://feedback.azure.com/forums/34192--general-feedback – CSharpRocks

 Смежные вопросы

  • Нет связанных вопросов^_^