История изменений
Исправление eao197, (текущая версия) :
Коллега который работал, говорит, что MQTT это если устройствам надо отсылать телеметрию, а мне наоборот, устройствам отсылать команды.
Пипец, в каком колхозе вы работаете?
В MQTT клиент подписывается на топик и получает опубликованные в этом топике сообщения. Кто уже публикует эти сообщения – другой клиент или сам сервер – не суть важно.
Поэтому делается, например, так:
- поднимается MQTT-шный брокер;
- с одной стороны к этому брокеру подключается управляющая софтина (сервер в вашем понимании);
- с другой стороны к этому же брокеру подключаются клиенты;
- клиенты подписываются на топики (например, вида /clients/all/commands или clients/client-15-42/commands);
- управляющая софтина публикует команду в неком топике и эта команда доставляется клиентам, которые подписаны на этот топик. Например, если все клиенты подписаны на /clients/all/commands и туда публикуется сообщение M, то все клиенты это сообщение и получат. Если же какой-то единственный клиент подписан на /clients/client-15-42/commands и сообщение K публикуется в этот тупик, то только один клиент получит данное сообщение.
В обратную сторону работает так же, только там подписчиком выступает сервер, а публикацией занимаются клиенты.
А коллеге своему матчасть посоветуйте подучить. Или хотя бы кругозор расширить. Понабирают войтишников по объявлению, а те потом городские легенды среди таких же распространяют.
Исходная версия eao197, :
Коллега который работал, говорит, что MQTT это если устройствам надо отсылать телеметрию, а мне наоборот, устройствам отсылать команды.
Пипец, в каком колхозе вы работаете?
В MQTT клиент подписывается на топик и получает опубликованные в этом топике сообщения. Кто уже публикует эти сообщения – другой клиент или сам сервер – не суть важно.
Поэтому делается, например, так:
- поднимается MQTT-шный брокер;
- с одной стороны к этому брокеру подключается управляющая софтина (сервер в вашем понимании);
- с другой стороны к этому же брокеру подключаются клиенты;
- клиенты подписываются на топики (например, вида /clients/all/commands или clients/client-15-42/commands);
- управляющая софтина публикует команду в неком топике и эта команда доставляется клиентам, которые подписаны на этот топик. Например, если все клиенты подписаны на /clients/all/commands и туда публикуется сообщение M, то все клиенты это сообщение и получат. Если же какой-то клиент подписан на /clients/client-15-42/commands и сообщение K публикуется в этот тупик, то только один клиент получит данное сообщение.
В обратную сторону работает так же, только там подписчиком выступает сервер, а публикацией занимаются клиенты.
А коллеге своему матчасть посоветуйте подучить. Или хотя бы кругозор расширить. Понабирают войтишников по объявлению, а те потом городские легенды среди таких же распространяют.