IOT Проект Архитектура - PullRequest
       15

IOT Проект Архитектура

0 голосов
/ 06 декабря 2018

Я строю проект IOT с протоколом MQTT и javascript

Он считывает данные из MQTT-клиента и отправляет данные в брокер, область с точками доступа api engine на изображении - построена с использованием javascript, имеет MQTTКлиент внутри себя и слушает брокера.

В локальной среде я могу нормально работать с брокером и связываться с ним с помощью движка API, но в производственной среде я понятия не имею, как и где установить брокер и движок API.

Я предполагаю, что я устанавливаю брокер в одном из облаков брокера MQTT (то есть cloudmqtt.com), затем развертываю движок API в Heroku или что-то в этом роде, а клиент MQTT в точке движка API указывает на облако посредника MQTT.слушать.

Надеюсь, что кто-нибудь может дать мне совет.(Мне пока не разрешено вставлять изображение, поэтому вот ссылка) архитектура

Ответы [ 3 ]

0 голосов
/ 06 декабря 2018

Это мой совет по архитектуре.

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

  1. Вы должны разрешить вашему брокеру хранить данные в базе данных / движке больших данных.или Ваше приложение должно получать данные от брокера через интегрированный вызов метода, обрабатывать их и хранить в бэкэнде.
  2. Если вы хотите запустить приложение и брокер как два отдельных компонента, ваше приложение должно прочитать данные, хранящиеся в брокере, в БД, а затем обработать их.Запись из вашего приложения в брокер должна осуществляться через вызов REST, а не через MQTT для большего контроля.
  3. Ваше мобильное приложение / веб-приложение должно подключаться к вашему приложению через HTTP / HTPS.В некоторых случаях, для динамической загрузки данных в браузер, вы можете использовать MQTT, однако для бизнес-случаев вам может потребоваться обработать данные, прежде чем они поступят в пользовательский интерфейс пользователя, мы рекомендуем отправлять обработанные данные через веб-сокет с вашего сервера приложений.

Мы советуем всем нашим клиентам использовать MQTT только для связи с пограничным устройством и брокером и использовать REST для всего остального.

Ranjith

Bevywise Networks

0 голосов
/ 03 июля 2019

вы можете запустить брокер Mosca mqtt двумя различными способами: 1. в автономном режиме или 2. в вашем javascript-приложении. Это означает, что при развертывании вашего движка API nodejs он запускается вместе с брокером Mosca mqtt.В последнем случае вам не нужно использовать cloudmqtt отдельно.

, поэтому, когда вы продолжаете публиковать данные с устройств, использующих mqtt-клиент, в брокер Mosca, вы можете подписаться с ваших посреднических серверов биллинга и других приложений.используя базу данных, вы можете использовать данные о монетизации и управлении, в то время как паб-подраздел mqtt обрабатывает данные телеметрии IoT в соответствии с реализованным QoS.

0 голосов
/ 06 декабря 2018

Я создал продукт с очень похожей архитектурой, используя Heroku для своего приложения, с помощью CloudMQTT Heroku .

Когда вы используете CloudMQTT, вы получаете брокера MQTT «в качестве услуги».Таким образом, вы нигде не «устанавливаете» своего брокера MQTT.Вы просто оборудуете своих клиентов MQTT (на своем устройстве / концентраторе IOT и в своем бэкэнде API) соответствующими учетными данными для публикации / подписки на ваш экземпляр CloudMQTT.

...