Jump to content

    
Sign in to follow this  
man1

Выделить IP из широковещательного пакета

Recommended Posts

Добрый день, пытаюсь наладить связь по WI-FI между компом и девайсом через точку доступа по UDP . К девайсу подключен модуль WizFi220 от wiznet . Если адреса у девайса, компа, и точки доступа прописать вручную , то передача/ прием работает нормально. Но мне нужно чтобы IP адреса комп и девайс получали автоматом от точки доступа , для чего я в точке доступа сделал соответствующие настройки.

Теперь чтобы связать комп и девайс я должен послать широковещательный пакет например от девайса и комп должен выделить адрес девайса из пакета , чтобы потом к нему обращаться по этому адресу.

Вопрос как на модуле WizFi220 отправить широковещательный пакет?

Или как на модуле WizFi220 выделить IP адрес принятого пакета?

или может посоветуйте другой модуль WI-FI где это можно сделать?

Share this post


Link to post
Share on other sites
Добрый день, пытаюсь наладить связь по WI-FI между компом и девайсом через точку доступа по UDP . К девайсу подключен модуль WizFi220 от wiznet . Если адреса у девайса, компа, и точки доступа прописать вручную , то передача/ прием работает нормально. Но мне нужно чтобы IP адреса комп и девайс получали автоматом от точки доступа , для чего я в точке доступа сделал соответствующие настройки.

Теперь чтобы связать комп и девайс я должен послать широковещательный пакет например от девайса и комп должен выделить адрес девайса из пакета , чтобы потом к нему обращаться по этому адресу.

Вопрос как на модуле WizFi220 отправить широковещательный пакет?

Или как на модуле WizFi220 выделить IP адрес принятого пакета?

или может посоветуйте другой модуль WI-FI где это можно сделать?

Что-то не понял в чем проблема?

WizFi220 и ваш девайс поддерживает DHCP?

Share this post


Link to post
Share on other sites
Что-то не понял в чем проблема?

WizFi220 и ваш девайс поддерживает DHCP?

Да wizfi220 поддерживает DHCP , а мой контроллер по UART связывается с этим модулем и может посылать ему команды.

IP адреса я получил от точки доступа без проблем , мне нужно чтобы комп знал ip адрес модуля , а модуль IP адрес приемника. Когда руками это прописываю то все нормально, а когда автоматически , то я не знаю как мне определить эти адреса?

Share this post


Link to post
Share on other sites
Да wizfi220 поддерживает DHCP , а мой контроллер по UART связывается с этим модулем и может посылать ему команды.

IP адреса я получил от точки доступа без проблем , мне нужно чтобы комп знал ip адрес модуля , а модуль IP адрес приемника. Когда руками это прописываю то все нормально, а когда автоматически , то я не знаю как мне определить эти адреса?

Я не очень силен в этих вещах, но комп, wizfi220 и ваше устройство и так обмениваются широковещательными запросами при подключении.

 

Возможно вам проще привязаться по МАС-адресу, т.к. он постоянный, т.е. анализируете пакеты по mac.

мак вам известен, дальше анализируете ip-адрес и привязываете его к вашему маку и работаете по ip, переодически проверяя arp таблицы.

Share this post


Link to post
Share on other sites
Да wizfi220 поддерживает DHCP , а мой контроллер по UART связывается с этим модулем и может посылать ему команды.

IP адреса я получил от точки доступа без проблем , мне нужно чтобы комп знал ip адрес модуля , а модуль IP адрес приемника. Когда руками это прописываю то все нормально, а когда автоматически , то я не знаю как мне определить эти адреса?

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

Остальные устройства не знают какой у девайса мак.

идея в этом.

Share this post


Link to post
Share on other sites

Модули WizFi210/220 работают в режиме serial, поднимается сокет(udp/tcp) и через него и происходит общение. Прямой доступ к среде не поддерживается, так что широковещательный пакет послать не получится.

Узнать какой ip у девайса можно просканировать сеть на активные узлы. (nmap -sP 192.168.1.0/24)

На мой взгляд, есть несколько выходов:

а)Научить клиента смотреть ip адрес в настройках роутера.

б)На машине написать сканер портов, который определит, у кого поднят сокет и подключался к нему

в)Поднимать сокет на машине, а модуль по известному ip будет подключатся к этому сокету.

Не зная, область использования девайса, трудно, что то ещё сказать.

Share this post


Link to post
Share on other sites

Спасибо за ваши мысли.

Идея такая управление через android , девайсом с модулем wizfi220 , через точку доступа.

Причем IP адреса раздает точка доступа. Если жеско прописывать IP в телефоне или девайсе это неудобно. поэтому и был придуман протокол общения через широковещательный пакет UDP , из которого потом можно вытащить IP нужного девайса идентифицировав его по командам.

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

Далее мобильник шлет уже на известный ему IP модуля сообщения , типа ОК. Таким образом модуль может узнать IP телефона.

Как вытаскивать IP из пакета пришедшего на модуль я не могу понять. А ему бы тоже хорошо знать IP телефона чтобы в следующий раз слать пакет на IP телефона а не бродкаст.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this