2015-03-09 2 views
1

Я как бы новичок в этих протоколах и просто начал изучать брокеры сообщений, такие как Apache Apollo и RabbitMQ. Итак, мой брокер получает сообщения MQTT от издателя. И я хотел бы преобразовать его в AMQP (желательно) или протокол STOMP для отправки на веб-сервер. Но я до сих пор не мог этого сделать. Я заглянул в RabbitMQ и попытался включить плагин MQTT, но когда я его загрузил, я не могу запустить сервер. Мне было интересно, может ли кто-нибудь направить меня сюда? Есть ли API, который может мне помочь? И я очень смущен RabbitMQ. Я мог легко загружать другие плагины, например, топать, утилиты управления и т. Д.Преобразование из MQTT в AMQP/STOMP

+0

Пожалуйста, взгляните на мой собственный ответ и добавьте то, что вы считаете правильным: –

ответ

0

Ну, я не уверен, что этот вопрос нужно снять. Но если это должно быть, я оставляю это на усмотрение модераторов и сообщества stackOverflow в целом. btw, я использую Ubuntu 14.04.

О RabbitMQ брокера

Так Mosquitto был запущен ООН фон занимающее порт 1883 обычно используется для MQTT. Я мог бы изменить порт для RabbitMQ, но решил против него и попытался убить процесс Mosquitto. Но по какой-то причине я не мог. На данный момент мое быстрое исправление полностью удаляет Mosquitto, и это освобождает порт, позволяя RabbitMQ использовать его.

О протоколах

я использовал Pāho и RabbitMQ библиотеки, предоставляемые закодировать простые программы, которые могут публиковать и получать сообщения в AMQP/MQTT через RabbitMQ брокера. (Мой Googling должен быть лучше!) Все еще не переделаны один в другой. Но это не должно быть слишком большим шагом для достижения. По-прежнему было бы интересно узнать, есть ли API или что-то, что может помочь мне добиться конверсии очень простым способом. Конечно, если нет, я выясню это как можно скорее.

Любые предложения и комментарии приветствуются. Я совершенно новый для всего этого и могу действительно использовать советы от всех ваших опытных профессионалов :)

1

Я на 100% уверен, что это выполнимо. Я делаю это прямо сейчас с брокером robomq.io. Одной из причин может быть то, что иногда ошибки в вашей клиентской библиотеке ограничивают это.

Другая вещь, которую вы должны быть осведомлены о том, что внутренне RabbitMQ MQTT адаптер отображается в amq.topic обмена по умолчанию, так что на вашем STOMP партнера, вы должны подписаться или отправить /topic/yourTopic; на вашем одноранговом агенте AMQP, привяжите свою очередь к amq.topic обменивайтесь или публикуйте на этой бирже.

Следуйте за этим example code и documentation, чтобы построить своего клиента.

Если вы не можете выяснить свой сервер, просто получите бесплатную пробную версию от robomq.io. Это экономит ваше время и деньги.

Инструмент разработки, который я использую, является брокером robomq.io, производителем в Python (библиотека AMQP: pika, библиотека MQTT: paho, библиотека STOMP: stompest), потребитель в Node.js (библиотека: amqplib).

Надеюсь, это поможет!

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