May 7, 2019, 5:20 a.m.

Поиск определенных устройств в сети

network, qt

доброго времени суток!
собственно ситуация, в сети есть несколько малин (RPi3 работают под арчем). нужно написать приложение (win/linux) которое при необходимости будет сканить сеть и возвращать их IP. из мыслей пока написать малинам службу, которая при получении запроса будет давать ответ что это искомое устройство. есть ли у Qt что-то для этих целей? буду благодарен за все идеи реализации данного вопроса или волшебного пендаля в сторону решения вопроса

We recommend hosting TIMEWEB
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.
4

Добрый день!

Я подобное делал на Qt лет 5-6 назад.

Идея был в том, чтобы:

  1. Устройства сами периодически кидали на серверную машину информацию о том, что они онлайн. Естественно они знали на каком IP должен быть сервер.
  2. Серверная машина делала broadcast рассылку внутри сети, на которую все устройства должны были откликнуться.

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

Могу вечером поискать исходники, но есть вероятность, что у меня их уже нет.

Делал это всё через использование QTcpServer и QTcpSocket, поскольку серверное ПО было на Qt, на обычном ПК (win), впрочем для линукса всё тоже самое.
А вот опрашиваемые железяки были на STM32, там уже никакого Qt не было, да и на Си всё было.

0

если найдете буду благодарен. в моем случае, мне нужно только при первом запуске устройства в сети узнать, какой оно получило ip, после уже можно будет зайти на устройство через web stream, и под учеткой админа сделать всю необходимую конфигурацию малины

0

ммм... тогда broadcast нужен. При broadcast рассылке идёт сообщение на специальный broadcast адрес в сети. Такую рассылку получают все устройства в сети.

Алгоритм должен быть такой.

  1. Малина делает broadcast рассылку с сообщением: "Я включилась и нужна настройка"
  2. Серверное ПО слушает broadcast адрес.
  3. При появлении нового устройства, сервер регистрирует новое устройство и инициирует протокол настройки.
0

Посмотрите в сторону SNMP. Он подобным занимается

0

Comments

Only authorized users can post comments.
Please, Log in or Sign up
NM
July 20, 2019, 10:59 a.m.
Nikolaj Morozov

C++ - Test 001. The first program and data types

  • Result:73points,
  • Rating points1
AD
July 19, 2019, 9:51 a.m.
Anastasia Dutchina

C++ - Test 001. The first program and data types

  • Result:53points,
  • Rating points-4
AD
July 19, 2019, 9:46 a.m.
Anastasia Dutchina

Qt - Test 001. Signals and slots

  • Result:57points,
  • Rating points-2
Last comments
July 21, 2019, 6:03 a.m.
Evgenij Legotskoj

да, наверное, 32-х разрядную поддержку уже давно поа было выкинуть. К слову, у вас много проектов под Android? Часто много где вижу вопросы о том, пишет ли кто-то вообще на Qt под мобильные си...
July 20, 2019, 2:41 p.m.
Andrej Jankovich

Очень полезная информация, увы уже выкинул поддержку 32 битных бедняг.
July 20, 2019, 9:31 a.m.
Mihailll

Вот так qDebug()<<"position:"<<event->scenePos();
July 20, 2019, 8:49 a.m.
Mihailll

Добрый день. Как можно узнать координату на графической сцене при отпускании клавиши мыши?
Now discuss on the forum
July 21, 2019, 6:07 a.m.
Evgenij Legotskoj

Если вы про этот метод QRectF MoveItem::boundingRect() const{ return QRectF (-30,-30,60,60);} То мне нужно было, чтобы координата (0,0) была по центру квадрата в его локальной си...
July 20, 2019, 11:04 a.m.
Mihailll

Так и с ресурсами работает QImage image(":/Images/Images/1.png");
July 19, 2019, 10:55 a.m.
Mihailll

Да. Там похоже каждое устройство генерирует свой токен, этот токен нужно как то получать и использовать в запросе. Но как это делать я пока не понял.
July 19, 2019, 9:31 a.m.
Mihailll

Добрый день. Повернул ListView в горизонтальное положение. При прокрутке эллементы выстраиваются у левого края окна. Как в QMK в ListView сделать центрирование по центру? ...
b
July 18, 2019, 2:27 a.m.
bbb116

Когда отрисовки не видно, объекты AreaSelector создаются (при нажатии и движении мышкой), но почему то не срабатывает paint() у них, хотя делаю update этой области. Причем эти области мо...
Looking for a Job?
5,000.00 руб. - 15,000.00 руб.
Дизайнер
Moskovskiy, Moscow, Russia
25,000.00 руб. - 30,000.00 руб.
Разработчик Qt/C++
Barnaul, Altai Krai, Russia

For registered users on the site there is a minimum amount of advertising

EVILEG
About
Services
Join us
© EVILEG 2015-2019
Recommend hosting TIMEWEB