Перейти к содержанию
    

WizFi220 отправка UDP

Доброго времени суток.

Имеется модуль WizFi220, подключенный через UART к stm32f107. С командами модуля более менее разобрался. Подключаюсь к точке доступа, поднимаю UDP сервер, получаю UDP пакет от клиента, отправляю команду АТА2, отправляю данные. Данные клиенту приходят, но дальше из режима Data mode не могу выйти. Отправляю "+++" не помогает, пробовал и с '\r', и без. HW триггер тоже пробовал. Может задержки маленькие ставлю. Я так понимаю WizFi тормознутый, на команды долго отвечает.

Есть у кого пример UDP сервера? Можно ли как-то отправлять UDP пакеты не входя в режим Data mode?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

...Отправляю "+++" не помогает...

 

помогает, помогает.

интервал побольше и счастье снизойдёт на Вас.

чисто плюсы, без всяких возврат-кареток. Интервал более секунды помойму (если не поможет - загляну в исходники) :)

у мну TCP, но рояли не сильно должно влиять. А вот вход в режим данных - не должно быть мусора, после команды перехода.

Рекомендую проверить на демоборде (и их скрипто-писателе), если есть. Оно понятнее станет сразу.

 

Да и ещё. Есть альтернатива шустрая - обратите внимание на пин DATA/CMD - вот оно как раз и есть. На демо борде смотрите.

Работает, проверял. Минус решения - пин МК. Для себя поздно осознал - приходится софтово решать. Благо нужно только на фазе

подъёма-готовности-опроса режима, т.е. при старте устройства всего. Иначе сброс и переинициализация.

Изменено пользователем kolobok0

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

помогает, помогает.

интервал побольше и счастье снизойдёт на Вас.

чисто плюсы, без всяких возврат-кареток. Интервал более секунды помойму (если не поможет - загляну в исходники) :)

Поставил 3 секунды, помогло.

Рекомендую проверить на демоборде (и их скрипто-писателе), если есть.

нету

Да и ещё. Есть альтернатива шустрая - обратите внимание на пин DATA/CMD - вот оно как раз и есть. На демо борде смотрите.

Работает, проверял. Минус решения - пин МК. Для себя поздно осознал - приходится софтово решать. Благо нужно только на фазе

подъёма-готовности-опроса режима, т.е. при старте устройства всего. Иначе сброс и переинициализация.

А можно ли как-то отправлять данные не заходя в режим datamode, например, через Esc последовательности.

Мне необходимо поднять UDP сервер и TCP клиент и периодически им коннектиться. Пока не пойму как это реализовать. В programmers guide есть пример мультисокетного режима работы, но там поднимаются либо несколько TCP серверов, либо несколько TCP клиентов и принимают данные. А вот как отправлять нет ни слова....

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

..А можно ли как-то отправлять данные не заходя в режим datamode, например, через Esc последовательности...

В programmers guide есть пример мультисокетного режима работы, но там поднимаются либо несколько...как отправлять нет ни слова....

 

через эскейп - помойму не пошло. давно разведку делал. в последствии не прижилось.

а вот мульти - у вас приходит идентификатор коннекшенна, вот его и надо указывать при передачи данных в виз-фи.

и приём вроде как в режме обмена данных,т.е. не командном происходит (хотя может чего подзабыл уже - хз).

 

ОФФ/2:

вообще - сейчас есть задумка немного изменить данный узел - уйти в сторону юсб свистков. более практично как показывает практика.

ЗЫ

И по общим очучениям - устойчивости бы побольше бы. Иногда если жестоко юзать (ну типа рефреш странички через 3-5 секунд), через

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

Изменено пользователем kolobok0

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а вот мульти - у вас приходит идентификатор коннекшенна, вот его и надо указывать при передачи данных в виз-фи.

и приём вроде как в режме обмена данных,т.е. не командном происходит (хотя может чего подзабыл уже - хз).

Идентификатор то приходит, но отправить не получается. Делаю так: приходит пакет от клиента, его же отправляю назад в визфай, ничего не меняя. Визфай отвечает "ERROR INVALID INPUT".

 

ОФФ/2:

вообще - сейчас есть задумка немного изменить данный узел - уйти в сторону юсб свистков. более практично как показывает практика.

А в качестве хоста контроллер с USB-OTG?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

..приходит пакет от клиента, его же отправляю назад в визфай, ничего не меняя. ...А в качестве хоста контроллер с USB-OTG?

 

вот думаю ничего не менять - не совсем корректно. в шапке должны быть адреса, CRC и иже. не знаю на каком уровне он вам отдаёт,

но если с адресами - то точно не прокатит.

 

я его запускаю на уровне HTTP. и заглловки этого уровня естественно приходится отрабатывать.

 

да, хост поддерживается на многих уже мк. сейчас базовый у меня stm32f417

просто вставлять wifi в железку которая управляет пром. установкой, для прикрытия функций пульта - накладно вкрячивать постоянный

модуль. тем более что для удалённого доступа есть и Ethernet, RS485... а вот свисток в самый раз.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вот думаю ничего не менять - не совсем корректно. в шапке должны быть адреса, CRC и иже. не знаю на каком уровне он вам отдаёт,

но если с адресами - то точно не прокатит.

Отдает Esc последовательность вида <ESC>u<CID>192.168.1.142 5555 <Raw data><ESC>E, ее и отпраляю назад

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Отдает Esc последовательность вида <ESC>u<CID>192.168.1.142 5555 <Raw data><ESC>E, ее и отпраляю назад

 

ну вот то что Вы привели - не совсем соответствует документу.

 

When this command is used, the remote address and remote port is transmitted.

WizFi210 expects to receive the following data sequence from Host:

<Esc>U<CID><IP Address>:<port>:<data><Esc>E

Example:

When WizFi210 sends data (e.g. Hello) on CID 0, the format will be:

Example:

<Esc>U0192.168.1.1:52:Hello<Esc>E

 

обратите внимание на разделители между IP, портом и данными.

Да и CID в боевой пачке будет абстрактным числом соединения.

 

Заглянул в примеры от буржуев. Там в основном приём-передача(ESC) на нижнем уровне. Уровень логики не представлен.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ну вот то что Вы привели - не совсем соответствует документу.

 

В том то и дело что даже данные которые передает WizFi не соответствуют описанию в документе. Логично было предположить, что в таком формате он их и скушает, но нет.

А что за пример такой? Можете поделиться?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

...А что за пример такой? Можете поделиться?

 

да фигня вопрос.

вот из его описалова строка..

 

# WizFi Shield

WizFi Shield utilizes fully certified [WizFi210](http://www.wiznet.co.kr/WizFi210) wifi module to provide your Arduino with wireless capability.

 

Вроде как для ардуино, судя по надписи.

Если не разыщите сам оригинал - вышлю на мыло.

Я так понимаю там же можно отрыть примеры с эскейп последовательностями. Если народ юзал - след останется в ввиде примеров.

Сам не докопал - в ввиду отсутствия необходимости.

Внутри документация есть, но на корейском :) Похоже по востоку шарил когда искал :)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...