MQTT (Message Queuing Telemetry Transport)

Помечено: ,

Просмотр 15 сообщений - с 31 по 45 (из 153 всего)
  • Автор
    Сообщения
  • #12082
    Mikhail
    Модератор

    Но я вижу у меня тупик с MQTT.

    Идеология open source проекта Rapid SCADA заключается в том, что модули могут быть разработаны совершенно разными авторами. Если у автора того или иного модуля есть интерес в том, чтобы осуществлять техническую поддержку, платную или бесплатную, он этим занимается. Если нет, то вы всегда свободны взять исходники (для драйвера MQTT они открыты), найти причину проблемы, устранить её и добавить свои улучшения для всех остальных, кто будет использовать драйвер в будущем.

    То что вы пишите, как в итоге решили проблему — тоже отличная помощь остальным, спасибо!

    #12084
    Taw
    Участник

    Нужно детальное описание по последней версии драйвера и желательно видео. В симуляторе с помощью spy-mqtt все хорошо получается. Сейчас нужно с датчика данные переслать на облако. В последнее время многие брокеры для Upload используют protocol (EDP, RestFul API). Надо посмотреть, поддерживает ли драйвер эти протоколы для закачки данных. Найти бы хороший пример по работе этого драйвера или того кто работает с ним в Rapid Scada.

    #12085
    Taw
    Участник

    Детальное описание последней версии драйвера в исходном коде проекта есть. В файле ReadMe. Но расчитано на людей которые уже как бы имеют опыт работы с этим протоколом.

    #12088
    Mikhail
    Модератор

    Нужно детальное описание по последней версии драйвера и желательно видео.

    Попробуйте связаться с автором дравера и заинтересовать его. Его почта указана на ГитХабе.

    #12093
    Taw
    Участник

    Не отвечает. Я пытался связаться с автором. На симуляторах (spy-mqtt) все хорошо получается. Как это граммотно организовать на реальном брокере? Кроме того, на некоторых брокерах не проходит старая версия драйвера. Думаю проблема в настройках или протоколах передачи данных.

    #12094
    Taw
    Участник

    Драйвер хорошо работает (За исключением некоторых брокеров, надо поднимать документацию по ним). Данные с датчиков по протоколу MQTT доставляются в любую точку мира. В любой точке мира нужна Rapid Scada. Scada где идет измерение с датчика выступает в роли Publisher, т.е. публикует на брокере данные с датчика. Скада расположеннная на другом конце мира выступает в роли подписчика, т.е. берет с брокера данные этого датчика. Работает как по маслу со старым драйвером (за исключением некоторых брокеров). Драйвер MQTT был написан для определенных брокеров. Для некоторых брокеров надо вносить изменения или менять конфигурацию. В общем работает отлично. Даже не верится для того чтобы передать в любую точку мира все так просто. Реально MQTT это протокол будущего — key -value.
    Я протестировал работает драйвер и передает через брокер в другую страну и город без проблем в режиме реального времени.

    #12106
    a80808
    Участник

    Добрый день, коллеги!
    А где взять бинарную версию для текущей версии?
    У меня при попытке установки выдается сообщение типа «не найден …» и драйвер не устанавливается.
    Второй вопрос — тестировался ли драйвер с Mosquitto?
    Спасибо!

    #12111
    Mikhail
    Модератор

    Мы и по Modbus TCP забирали данные с другого полушария )) Но конечно MQTT интересный протокол.

    А где взять бинарную версию для текущей версии?

    На ГитХабе в разделе релизов. Если что-то не совместимо, то надо смотреть.

    #12131
    a80808
    Участник

    При попытке зарегистрировать модуль в сервере (версия сервера 5.1.0.4) получаю сообщение:»Ошибка при загрузке модуля:
    Не удалось загрузить тип «Scada.Server.Modules.KpMQTTView» из сборки «KpMQTT, Version=1.0.6819.1511, Culture=neutral, PublicKeyToken=null».»
    И потом что бы не делаю не могу ни заменить dll ни удалить ее, хотя я и на машинке админ. Остановка и/или перезапуск сервера при удаленном в консоли модуле.

    #12134
    a80808
    Участник

    Виноват, не посмотрел сразу — это драйвер коммуникатора!
    Вопрос снимается!

    #12135
    Mikhail
    Модератор

    Чтобы удалить dll, нужно остановить службу ScadaServerService и закрыть оболочку Сервера. Эти 2 приложения блокируют удаление, т.к. используют dll модуля.
    Также проверьте, разблокирована ли dll модуля (в свойствах файла).

    KpMQTT надо подключать в Коммуникатор, а не в Сервер.

    #12177
    Taw
    Участник

    Предпоследняя версия драйвера тоже хорошо работает 5.0.10. В последней надо просто библиотеки JavaScript для JSON прописывать пути. Многие брокеры предоставляют бесплатные облака и возможность построения графиков и вывода потоков видео. Только там все завязано на потоки ( Data Stream). В конфигурации драйвера не предусмотрена привязка к потокам. На этих брокерах драйвер работает в обычном режиме с отсутствием привязки к потокам. Может кто-нибудь уже привязывал на облаках к Data stream этот драйвер?

    #12179
    Taw
    Участник

    Только в предпоследней версии в Log фиксируется исключение — MQTT timeout exception.

    #13103
    a80808
    Участник

    Коллеги, прошу помощи сообщества и, если повезет, автора драйвера MQTT.
    SCADA 5.6.0, версия библиотеки MQTT последняя на ГитНабе (1.0.6819.1511 от 02.09.2018 0:50)
    Линии (7) и КП (47) созданы вручную, файлы конфигурации привожу ниже (для простоты убрал все «лишние» строки — что с ними, что без них без разницы).
    Брокер — Москит, на той же машине. Проверен несколькими клиентами, работает нормально и на подписку и на публикацию.
    В качестве клиента использовались MQTT-FX и самописанные программки на Python — также проверенные на других примерах.
    После перезапуска коммуникатора получаю такую картинку:

    Т.е. к каналу подписки коммуникатор не подключается, но его видит — при попытке опубликовать в топик /sbpost1 сообщение в строке «Состояние» на мгновение появляется слово «ошибка», потом опять «норма».
    Функция публикации в то же время работает нормально — канал 60002 сделат как минутный с добавлением единицы каждую минуту — и все прекрасно видно во внешнем клиенте — каждую минуту приходит сообщение с увеличенным счетчиком.
    Всю голову сломал, помогите!
    Конфигурационные файлы:
    1. Часть файла ScadaCommSvcConfig.xml, посвященная линии 7:

    <!—Линия 7—>
    <CommLine active=»true» bind=»true» number=»7″ name=»MQTT»>
    <CommChannel type=»» />
    <LineParams>
    <Param name=»ReqTriesCnt» value=»3″ descr=»Количество попыток перезапроса КП при ошибке» />
    <Param name=»CycleDelay» value=»0″ descr=»Задержка после цикла опроса, мс» />
    <Param name=»CmdEnabled» value=»false» descr=»Команды ТУ разрешены» />
    <Param name=»ReqAfterCmd» value=»false» descr=»Опрос КП после команды ТУ» />
    <Param name=»DetailedLog» value=»true» descr=»Записывать в журнал подробную информацию» />
    </LineParams>
    <CustomParams />
    <ReqSequence>
    <KP active=»true» bind=»false» number=»47″ name=»MQTTTest» dll=»KpMQTT.dll» address=»0″ callNum=»» timeout=»1000″ delay=»60″ time=»00:00:00″ period=»00:00:00″ cmdLine=»KpMQTT_Config3.xml» />
    </ReqSequence>
    </CommLine>

    Файл KpMQTT_Config3.xml:
    <?xml version=»1.0″ encoding=»utf-8″?>
    <DevTemplate>

    <MqttParams Hostname=»127.0.0.1″ ClientID=»KpMQTTrs111″ Port=»1883″ UserName=»» Password=»»/>
    <RapSrvCnf ServerHost=»127.0.0.1″ ServerPort=»10000″ ServerUser=»ScadaComm» ServerPwd=»12345″/>
    <MqttSubTopics>
    <Topic TopicName=»/sbpost1″ QosLevel=»0″ NumCnl=»62000″/>
    </MqttSubTopics>
    <MqttPubTopics>
    <Topic TopicName=»/pbpost1″ QosLevel=»0″ NumCnl=»62001″ PubBehavior=»OnChange» Retain=»true» NDS=».»/>
    </MqttPubTopics>
    <MqttPubCmds>

    </MqttPubCmds>
    <MqttSubCmds>

    </MqttSubCmds>
    <MqttSubJSs>

    </MqttSubJSs>
    </DevTemplate>

    #13104
    a80808
    Участник

    Картинка не вставилась что то…
    [URL=http://perfetto-furniture.com][IMG]https://cdn1.savepice.ru/uploads/2019/8/6/1e365197217e89fc96de780442ef0a3e-full.jpg[/IMG][/URL] [URL=https://savepice.ru/upload-image/]upload image[/URL]

Просмотр 15 сообщений - с 31 по 45 (из 153 всего)
  • Вы должны авторизироваться для ответа в этой теме.