Модераторы: feodorv
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Связать комп с микриком по UDP 
:(
    Опции темы
Valimor
Дата 12.2.2015, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 12.2.2015

Репутация: нет
Всего: нет



Есть микроконтроллер на котором реализован UDP сервер со следующими параметрами:
Код

unsigned char MACDevice[6]={0x00, 0x14, 0xA5, 0x76, 0x19, 0x3f};    //MAC 
unsigned char IpAddr[4]  = {192, 168,   1,  2 };//Ip устройства

При инициализации используется следующая конструкция:
Код

Ethernet_Init( MACDevice,IpAddr, Ethernet_FullDuplex );

которая соответственно инициализирует ethernet модуль устройства, и сопоставляет ему ip адрес.
Будет ли конннектиться к нему комп, если просто к нему обращаться по ip адресу(arp присутствует)?
Или нужно конфигурировать сеть прописав шлюз(gateway), DNS и маску(network mask) ? По типу:
Код

unsigned char NetworkMask[4]={255,255,255,0};// network mask
unsigned char GatewayIP[4]={192,168,1,6};//gateway
unsigned char DNSIp[4]={192,168,1,6};//DNS

И что потом прописывать в полях на компе(снизу картинка)?
DHCP не используется, потому, что нужны жёстко закрепленные IP адреса за устройством и компом.
user posted image
PM MAIL   Вверх
feodorv
Дата 12.2.2015, 22:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2214
Регистрация: 30.7.2011

Репутация: 10
Всего: 45



Цитата(Valimor @  12.2.2015,  20:37 Найти цитируемый пост)
Будет ли конннектиться к нему комп, если просто к нему обращаться по ip адресу(arp присутствует)?

Гм. А почему бы тупо не попробовать присоединиться к устройству? И где у Вас находится комп по отношению к устройству и gateway'ю, никто не знает.


Цитата(Valimor @  12.2.2015,  20:37 Найти цитируемый пост)
Или нужно конфигурировать сеть прописав шлюз(gateway), DNS и маску(network mask) ?

Я бы все сконфигурировал)))


Цитата(Valimor @  12.2.2015,  20:37 Найти цитируемый пост)
И что потом прописывать в полях на компе(снизу картинка)?

Комп находится в одной сети с устройством? Тогда:
  • IP-адрес: 192.168.1.3 (если этот адрес в сети свободен)
  • Маска: 255.255.255.0
  • Шлюз: 192.168.1.6
  • DNS: 192.168.1.6



--------------------
Напильник, велосипед, грабли и костыли - основные инструменты программиста...
PM MAIL   Вверх
tzirechnoy
Дата 13.2.2015, 03:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1173
Регистрация: 30.1.2009

Репутация: 1
Всего: 16



Ну откуда мы знаем, будет ли коннэктиться твой комп к твоему микроконтроллеру, если не имеем ни малейшэго представления ни о том, что за программа в микроконтроллере, ни дажэ что это за микроконтроллер, да и как комп к нему подсоединён?

Добавлено через 1 минуту и 4 секунды
Хотя, конечно, можно дать тривиальны и правильный ответ: не будет. С Вашым уровнем понимая -- у вас и два компа несконнэктятся...
PM MAIL   Вверх
Valimor
Дата 13.2.2015, 05:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 12.2.2015

Репутация: нет
Всего: нет



Цитата(tzirechnoy @ 13.2.2015,  03:54)
Ну откуда мы знаем, будет ли коннэктиться твой комп к твоему микроконтроллеру, если не имеем ни малейшэго представления ни о том, что за программа в микроконтроллере, ни дажэ что это за микроконтроллер, да и как комп к нему подсоединён?

Добавлено @ 03:55
Хотя, конечно, можно дать тривиальны и правильный ответ: не будет. С Вашым уровнем понимая -- у вас и два компа несконнэктятся...

Программа написана с помощью библиотечных функций предоставляемых производителем, микроконтроллер PIC18F67J60. Соответственно там реализовано: канальный уровень  ARP, IP, IGMP, транспортный UDP, физический уровень через Ethernet. При этом физический уровень реализован в железе. 
Это вам как-то поможет? 
Я лишь спрашивал будет ли коннектиться без конфигурирования сети на микрике(без gateway,networkmask), нужно ли конфигурировать сеть И КАКИЕ  параметры вводить в компе соответсвенно исходным данным зашитым в микрике (IP, Gateway, DNS, NetworkMask) которые я вам представил. И ВСЁ

Добавлено через 9 минут и 1 секунду
как-то подумал что это очевидно: естественно при начальной отладке программы комп и микроконтроллер соединяются напрямую без всяких промежуточных устройств, когда все отладится на этой стадии, то уже можно будет думать и о локалке. А пока так.
DNS прописывать обязательно? вообще за что он отвечает? если я правильно понимаю, то это для выдачи IP адреса по имени хоста(то есть когда мы прописываем mail.ru в адресной строке браузера и т.п.) и это больше связано с протоколом TCP(как постоянно держащим соединение), а не с UDP 
PM MAIL   Вверх
feodorv
Дата 13.2.2015, 07:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2214
Регистрация: 30.7.2011

Репутация: 10
Всего: 45



Цитата(Valimor @  13.2.2015,  05:07 Найти цитируемый пост)
DNS прописывать обязательно?

Это должно быть прописано в руководстве по устройству. Думаю, без DNS жить будет.


Цитата(Valimor @  13.2.2015,  05:07 Найти цитируемый пост)
вообще за что он отвечает? 

За трансляцию имён в IP и наоборот.


Цитата(Valimor @  13.2.2015,  05:07 Найти цитируемый пост)
и это больше связано с протоколом TCP(как постоянно держащим соединение)

Нет.


Думаю, что Ваше устройство куда-то должно писать логи, а в этих логах оно может подменять IP-адреса именами станций. Может, ещё зачем-то нужно. Все должно быть описано в руководстве.


--------------------
Напильник, велосипед, грабли и костыли - основные инструменты программиста...
PM MAIL   Вверх
tzirechnoy
Дата 13.2.2015, 11:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1173
Регистрация: 30.1.2009

Репутация: 1
Всего: 16



Цитата
Это вам как-то поможет? 


Да мне-то что помогать -- у меня и PIC18 с Ethernet нету, у меня всё хорошо.

Цитата
с помощью библиотечных функций предоставляемых производителем, микроконтроллер PIC18F67J60.


То есть Microchip TCPIP. Вот только в нём судя по документацыи нет функцыи Ethernet_Init... Тем более, что сигнатура у неё странная. Такую в первой половине 80-х годов прошлого века могли бы сделать.
То есть так Ваша программа, конечно, не заработает. Вероятно, дажэ не скомпилируется.


Вообще, посоветовать могу найти и прочесть Stevens, TCP/IP Illustrated. 
Если кажэтся много -- то в концэ доки microchip tcpip есть список RFC, прочитать относящиеся к тебе (ARP, IP, ICMP, UDP). 

Поскольку, ну напишэт тебе кто-то один раз правильный комплект адресов и масок -- чем это тебе поможэт если ты дажэ азов не понимаешь? Только барахло полурабочее плодить...
PM MAIL   Вверх
Alexeis
Дата 13.2.2015, 12:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 1
Всего: 459



  Если устройства не разделяет шлюз, то для работы достаточно установить IP и маску подсети. Шлюз нужно указывать, только если одно устройство во внешней подсети и пакет должен пройти через шлюз. Т.е. адаптер видит, что IP адрес не является адресом текущей подсети, следовательно такой пакет нужно отправить на шлюз вместо узла напрямую. Вот в этом случае нужно указывать шлюз. Далее шлюз определит находится ли узел назначения в его собственной внешней подсети, если это не так, то шлюз отправит пакет уже своему шлюзу и так до ближайшего маршрутизатора. 
 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Valimor
Дата 14.2.2015, 07:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 12.2.2015

Репутация: нет
Всего: нет



Устройство уже запускалось уже. Все прекрасно соединилось, пинговалось, устройство отвечало на ARP запросы , слало UDP пакеты, а потом я даже не понял, что случилось, то ли это мои изменения в прошивке, хотя я там только ответы на UDP пакеты дописывал(вроде), то ли в компе что-то ёкнулось, но комп его не видит, и на ARP запросы оно не отвечает и соответственно связи с ним нет. Покалупавшись с ним день и убедившись, что в прошивке никаких ошибок нет(на мой взгляд), я и создал этот пост, потому что все таки думал, что я неправильно что-то ввожу в компе.
На данный момент оживить связь так и не удалось, уже пробовал прошивать той прошивкой на основе которой я все писал - устройство так же молчит. Ах да забыл написать: на платке где микроконтроллер стоит предусмотрены 2 светодиода - 1 показывает линк, другой сигнализирует о принимаемых и отправляемых пакетах, так вот светодиод линка загорается сразу при поключении к компу и горит постоянно, второй светодиод мигает, когда я с компа пытаюсь пропинговать устройство или пробую отправит на него пакеты, то есть нормальная ситуация , всё как и должно быть при нормальной связи)) и судя по всему устройств пакеты принимает, но не отвечает на них)). И еще у меня таких платок целых 3 штуки и на всех одинаковая ситуация, я бы понимаю, что я мог как-нибудь спалить ethernet модуль на одной из них, но на всех трех это врятле)) так что с железом все в порядке сразу говорю, да и потребляет оно так как и должно.
Вот такая херовая ситуация)) ещё я вроде менял MAC и первоначально у меня был чуть другой, сегодня буду пробовать менять и смотреть, что будет.
P.S. имею плохую привычку не сохранять рабочие прошивки, так что как вы понимаете рабочей у меня не осталось))
PM MAIL   Вверх
tzirechnoy
Дата 14.2.2015, 07:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1173
Регистрация: 30.1.2009

Репутация: 1
Всего: 16



А, да, дружэский совет: возьмите Wireshark. Очень, знаете, помогает узнать -- отвечает что-то или нет.
PM MAIL   Вверх
Alexeis
Дата 17.2.2015, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 1
Всего: 459



Цитата(Valimor @  14.2.2015,  08:37 Найти цитируемый пост)
Вот такая херовая ситуация)) ещё я вроде менял MAC и первоначально у меня был чуть другой, сегодня буду пробовать менять и смотреть, что будет.
P.S. имею плохую привычку не сохранять рабочие прошивки, так что как вы понимаете рабочей у меня не осталось))

  Мак адреса почти ни на что не влияют. Они должны быть уникальны в пределах одной подсети. На счет прошивок, рекомендую завести svn . И комитится каждый раз как получается решение лучше предыдущего с пометками что было изменено. Я поднимаю svn даже на машинах где отлаживаю бинарники. Очень удобно. Сперва кажется что залил исправленную версию, а на практике оказывается что исправленная версия хуже работает чем не исправленная smile .


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
tzirechnoy
Дата 17.2.2015, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1173
Регистрация: 30.1.2009

Репутация: 1
Всего: 16



Цитата
На счет прошивок, рекомендую завести svn .


svn ужэ уходит в прошлое, чему есть вполне обстоятельные причины. Так что git.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.1721 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.