Связь между. NET WebApp и MQTT-брокером - PullRequest
1 голос
/ 05 апреля 2020

Я создаю приложение, которое должно получать и устанавливать значения с таких устройств, как, например, поставки. Пользователь должен иметь доступ к приложению с помощью браузера. Я сделал front в Angular SPA и backend API in. NET core. Связь с устройством осуществляется через MQTT. Я не знаю, как установить связь между брокером и бэкэндом API.

Мне кажется, что бэкэнд должен показывать только данные из базы данных SQL. Пользователю потребуется слишком много времени для загрузки данных с устройства каждый раз, когда пользователь обновляет страницу API, и, во-вторых, у меня не будет исторических данных с устройства.

Я придумал такое решение, которое я создаю новое приложение, которое работает в фоновом режиме и получит данные от брокера и сохранит их в базе данных SQL. Если бы я пошел по этому пути, я хотел бы иметь все коммуникации в этом приложении (получить и установить).

Итак, мой вопрос: как связать такое новое приложение с API? (как из нового приложения в api ответить, что действие прошло успешно) Стоит ли разделять связь с брокером на новое приложение? Должна ли связь с брокером быть в приложении API?

1 Ответ

0 голосов
/ 08 апреля 2020

Я пытался изобразить поток ваших приложений.

Вы добавили MQTT-брокер, устройство будет непрерывно отправлять данные, а веб-работа будет непрерывно обрабатывать данные независимо. Когда вы выполните какое-либо действие с устройства на облако или на облако с устройства, вам не нужно сразу отвечать.

Если вы хотите отправить какую-либо команду (например, включить / выключить приложение), тогда вы можете создать еще одну mqtt topi c, который будет слушать и выполнять соответственно. с обеих сторон (устройство и работа) вы должны создать прослушиватель mqtt.

enter image description here

...