4 / 4 / 1
Регистрация: 08.08.2014
Сообщений: 83
1

Определить подключено ли к компьютеру устройство по протоколу Ethernet

08.08.2014, 22:29. Показов 8856. Ответов 50
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, уважаемые форумчане!
Помогите, пожалуйста, советом или примером. Задача состоит в том, чтобы программно, средствами Qt, определить подключено ли к компьютеру устройство по протоколу Ethernet, настроить соединение и обмен данными. Операционная система Linux. Я даже не знаю куда двигаться. В Qt совсем недавно. Заранее большое спасибо
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.08.2014, 22:29
Ответы с готовыми решениями:

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

Serial port. Можно ли определить подключено ли внешнее устройство?
Вопрос такой Можно ли определить подключено ли внешнее устройство? К PC подключаем USB/RS-232 9...

Проверка, подключено ли USB-устройство
Написать прогу , которая проверяет, подключено ли usb-устройство, если да, то выдаёт звуковой...

Проверить подключено ли устройство к USB
Как это осуществить, нашел парочку кодов в интернете, но ничего нормально не работает, все с...

50
1403 / 1260 / 262
Регистрация: 10.11.2013
Сообщений: 3,763
08.08.2014, 22:54 2
Цитата Сообщение от Tanyusha Посмотреть сообщение
подключено ли к компьютеру устройство по протоколу Ethernet
Подключен ли ПК к сети интернет, что ли? Устройство по протоколу Ethernet к самому ПК не подключаются.

Цитата Сообщение от Tanyusha Посмотреть сообщение
настроить соединение
С устройством?

Цитата Сообщение от Tanyusha Посмотреть сообщение
обмен данными
Если подразумевается сетевая карта - то с ней обмениваться нечем.


По простому: вам нужно передать данные через Ethernet на другой ПК/порт?

PS:
Цитата Сообщение от Tanyusha Посмотреть сообщение
программно
А можно физически?
0
4 / 4 / 1
Регистрация: 08.08.2014
Сообщений: 83
09.08.2014, 13:02  [ТС] 3
Компьютер не подключен к сети интернет. Предположительно, что есть 1 компьютер к нему может быть подключен 2-ой компьютер, как бы по локальной сети. Надо программно определить подключен ли в данный момент 2-ой компьютер, открыть с ним соединение, обменяться информацией между этими двумя компьютерами и когда надо разорвать. соединение. Заранее спасибо
0
1443 / 1326 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
09.08.2014, 13:10 4
QNetworkInterface
0
4 / 4 / 1
Регистрация: 08.08.2014
Сообщений: 83
09.08.2014, 20:48  [ТС] 5
Если можно примерчик. Я с помощью QNetworkInterface только определила Ip-адрес своего компьютера. А дальше снова тупик.
0
1443 / 1326 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
09.08.2014, 21:00 6
QNetworkInterface::IsUp 0x1 the network interface is active
QNetworkInterface::IsRunning 0x2 the network interface has resources allocated
QNetworkInterface::CanBroadcast 0x4 the network interface works in broadcast mode
QNetworkInterface::IsLoopBack 0x8 the network interface is a loopback interface: that is, it's a virtual interface whose destination is the host computer itself
QNetworkInterface::IsPointToPoint 0x10 the network interface is a point-to-point interface: that is, there is one, single other address that can be directly reached by it.
QNetworkInterface::CanMulticast 0x20 the network interface supports multicasting
Собственно нужно проверять IsUp, IsRunning и IsLoopBack.
Наличие ip адресса еще не говорит, что воткнута медь в сетевуху и что там есть сеть.
1
4 / 4 / 1
Регистрация: 08.08.2014
Сообщений: 83
09.08.2014, 21:17  [ТС] 7
Спасибо вам за ответ. Это уже для меня какое-то движение вперед

Добавлено через 6 минут
Скажите, пожалуйста, а передачу информации между компьютерами осуществлять с помощью классов QtcpSocket и QtcpServer? Заранее спасибо
0
Почетный модератор
11330 / 4305 / 444
Регистрация: 12.06.2008
Сообщений: 12,389
09.08.2014, 23:10 8
Цитата Сообщение от Tanyusha Посмотреть сообщение
Скажите, пожалуйста, а передачу информации между компьютерами осуществлять с помощью классов QtcpSocket и QtcpServer?
Если хотите использовать протокол tcp, то да. Если хотите udp, то QUdpSocket.
0
4 / 4 / 1
Регистрация: 08.08.2014
Сообщений: 83
09.08.2014, 23:13  [ТС] 9
Спасибо
0
4 / 4 / 1
Регистрация: 08.08.2014
Сообщений: 83
13.08.2014, 19:45  [ТС] 10
Здравствуйте, уважаемые форумчане!
Прояснились некоторые подробности задачи. Надо организовать обмен цифровой информацией не между двумя компьютерами, а между ПК и микроконтроллером. Я не очень понимаю, как можно достучаться до протокола Ethernet на микроконтроллере? Как узнать к какому порту обращаться?
0
Почетный модератор
11330 / 4305 / 444
Регистрация: 12.06.2008
Сообщений: 12,389
13.08.2014, 20:18 11
Какой именно контроллер? В любом случае, лучше на сайте производителя поискать стек TCP/IP для него.
0
4 / 4 / 1
Регистрация: 08.08.2014
Сообщений: 83
13.08.2014, 20:23  [ТС] 12
я не знаю, что конкретно за микроконтроллер. Это может иметь существенное значение? Универсального приложения не получится?
0
1443 / 1326 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
13.08.2014, 21:55 13
Цитата Сообщение от Tanyusha Посмотреть сообщение
Это может иметь существенное значение?
Да. Это определяет формат пакетов данных.
0
Почетный модератор
11330 / 4305 / 444
Регистрация: 12.06.2008
Сообщений: 12,389
14.08.2014, 15:40 14
Цитата Сообщение от Tanyusha Посмотреть сообщение
я не знаю, что конкретно за микроконтроллер. Это может иметь существенное значение? Универсального приложения не получится?
Да, пожалуй, я не правильно задал вопрос.
Какие именно требования? Надо написать программу только для ПК? И какой использовать протокол? Если программа нужна для ПК и протокол TCP или UDP, то никаких проблем нет. Какое устройство находится на другом конце - не важно... главное, что бы оно работало по стандартным протоколам.

А вот если вам ещё понадобится писать прошивку для контроллера, тогда будет иметь значение, какой именно контроллер. Но со стороны ПК разницы не будет.
0
4 / 4 / 1
Регистрация: 08.08.2014
Сообщений: 83
14.08.2014, 20:40  [ТС] 15
На данный момент для меня стоит задача написать программу для ПК, протокол UDP.
0
Почетный модератор
11330 / 4305 / 444
Регистрация: 12.06.2008
Сообщений: 12,389
15.08.2014, 16:41 16
Ну тогда надо узнать, какой используется порт и протокол обмена данными. И можно смело использовать QUdpSocket
0
10229 / 6607 / 498
Регистрация: 28.12.2010
Сообщений: 21,156
Записей в блоге: 1
15.08.2014, 20:27 17
На данный момент...
рекомендую тем, кто у вас будет заниматься стыковкой МК с Ethernet, просто поставить Ethernet/SPI (или UART) конвертор - модули на базе Enc28j60 (с уже реализованным стеком), кои у китайцев меньше 200 рублев с SD-ридером в комплекте http://ru.aliexpress.com/whole... 815082041:
Определить подключено ли к компьютеру устройство по протоколу Ethernet

кстати по UDP работают, заморачиваться со стеком не нужно, канал прозрачный для МК через SPI. Есть аналогичные и через UART - UART ETH E001, но дороже (~1000 рэ), зато:
UART device and Ethernet web server communication
Working Modes:
TCP Server, TCP Client, UDP, UDP Server, HTTPD Client, WEB to Serial
Supported protocols:
Ethernet, ARP, IP, UDP, TCP

Определить подключено ли к компьютеру устройство по протоколу Ethernet
1
4 / 4 / 1
Регистрация: 08.08.2014
Сообщений: 83
15.08.2014, 20:52  [ТС] 18
Скажите, пожалуйста, а в драйвере МК должны быть уже запрограммированы конкретные Ip-адрес, мас-адрес. И надо ли заранее договориться о номере порта, по которому будет производиться обмен между ПК и МК? Заранее спасибо

Добавлено через 10 минут
Я в интернете нашла вот эту ссылочку
http://we.easyelectronics.ru/e... lient.html
Мозги закипели и совсем не понятно можно ли это как -то использовать в моем случае. То что прочитала по ссылке совсем, не вяжется с QUdpSocket. Помогите, пожалуйста, я совсем запуталась. Не знаю с чего начать и до конца не понимаю последовательность действий
0
10229 / 6607 / 498
Регистрация: 28.12.2010
Сообщений: 21,156
Записей в блоге: 1
15.08.2014, 20:57 19
1- в вышеуказанный конвертор все зашито внутри, с возможностью конфигурации ...при реализации стека все самому, самому
2- есть описание попроще http://www.marsohod.org/index.... ether-send
0
Почетный модератор
11330 / 4305 / 444
Регистрация: 12.06.2008
Сообщений: 12,389
15.08.2014, 21:14 20
Цитата Сообщение от Tanyusha Посмотреть сообщение
И надо ли заранее договориться о номере порта, по которому будет производиться обмен между ПК и МК?
Надо.
Цитата Сообщение от Tanyusha Посмотреть сообщение
Я в интернете нашла вот эту ссылочку
http://we.easyelectronics.ru/e... lient.html
Мозги закипели и совсем не понятно можно ли это как -то использовать в моем случае.
Конечно, понимать работу IP, TCP и UDP - это хорошо. Но в вашем случае, если требуется только работа со стороны ПК, то нужно только знать, на какой IP-адрес и порт отправлять датаграммы и из каких данных эти датаграммы должны состоять.

А вот если требуется работа со стороны контроллера, тогда лучше изучить из чего состоят пакеты и как они передаются по сети.
0
15.08.2014, 21:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.08.2014, 21:14
Помогаю со студенческими работами здесь

Если к компьютеру подключено два источника интернета, как он будет работать?
Здравствуйте. Хочу разобрать, больше для общего развития, такую тему. Вот, допустим, у нас в...

Неизвестное устройство, хотя ничего не подключено
Доброго времени суток... имею компьютер TOSHIBA satellite l 300, 4 gb, windows 7 64x... каждые 2 -3...

Найти к какому COM порту подключено устройство
Добрый день. Подскажите пожалуйста, как можно получить список активных COM портов в винде(тот что я...

Как узнать что устройство подключено к определенной wifi
Необходимо понять, подключено ли устройство к определенной сети wifi. Помогите пожалуйста!


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru