Qt/C++. Object Recognition and Protocol MQTT.
Как выглядят те приложения, что обмениваются данными и командами по протоколу MQTT?
В нашем случае программа Object Detector распознает объекты и передает их изображения по протоколу MQTT.
Другая программа Client Mqtt принимает и отображет эти фотографии. Интересно, что Client Mqtt может
выдавать в принципе любые команды приложению Object Detector.
Например, команды на останов или запуск передачи данных. Кроме того, оба приложения постоянно тестируют исправность каналов связи.
Для организации связи между компьютерами нужен посредник. В качестве брокера используется broker.hivemq.com и TCP Port: 1883. При необходимости
можно использовать TSL и другой порт.
В статье описаны примеры приложений для обмена данными и командами по протоколу MQTT с использованием классов QMqttClient, QMqttSubscription, QMqttTopicFilter.
Установить модуль Qt MQTT можно, например, так.
Детектирование объектов выполняется средствами Qt/C++, Open/CV и нейронной сетью из группы YOLO.
Это шестая статья из цикла "Real-Time Object Recognition".
Первые пять обубликованы здесь:
1, 2,
3, 4 и
5.
В приложение Object Detector внесены исправления которые повысили стабильность работы программы.
При разработке программы использовались:
1. Программа Object Detector выполняет следующие функции:
2. Программа Client Mqtt выполняет следующие функции:
3. Реализация протокола MQTT.
Обмен информацией между программами начинается сразу без предварительной настройки, достаточно в программе Object Detector выбрать Check Box
"Mqtt" для нужных вам типов объектов. При обнаружении программой указанных объектов она автоматически перешлет их изображения через брокера программе
Client Mqtt.
Протокол MQTT реализован в файле mqttclient.cpp для приложения Object Detector и в файле mainwindow.cpp для приложения Client Mqtt.
В программах использованы фрагменты исходных текстов из примеров к книге:
Hands-On Mobile and Embedded Development with Qt 5: Build apps for Android, iOS, and Raspberry Pi with C++ and Qt.
Рекомендую эту книгу.
Полное описание программы предоставляется платно в файлах pdf или odt.
|