Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: WizFi220 отправка UDP
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Wireless/Optic
PoReX
Доброго времени суток.
Имеется модуль WizFi220, подключенный через UART к stm32f107. С командами модуля более менее разобрался. Подключаюсь к точке доступа, поднимаю UDP сервер, получаю UDP пакет от клиента, отправляю команду АТА2, отправляю данные. Данные клиенту приходят, но дальше из режима Data mode не могу выйти. Отправляю "+++" не помогает, пробовал и с '\r', и без. HW триггер тоже пробовал. Может задержки маленькие ставлю. Я так понимаю WizFi тормознутый, на команды долго отвечает.
Есть у кого пример UDP сервера? Можно ли как-то отправлять UDP пакеты не входя в режим Data mode?
kolobok0
Цитата(PoReX @ Dec 12 2014, 18:56) *
...Отправляю "+++" не помогает...


помогает, помогает.
интервал побольше и счастье снизойдёт на Вас.
чисто плюсы, без всяких возврат-кареток. Интервал более секунды помойму (если не поможет - загляну в исходники) sm.gif
у мну TCP, но рояли не сильно должно влиять. А вот вход в режим данных - не должно быть мусора, после команды перехода.
Рекомендую проверить на демоборде (и их скрипто-писателе), если есть. Оно понятнее станет сразу.

Да и ещё. Есть альтернатива шустрая - обратите внимание на пин DATA/CMD - вот оно как раз и есть. На демо борде смотрите.
Работает, проверял. Минус решения - пин МК. Для себя поздно осознал - приходится софтово решать. Благо нужно только на фазе
подъёма-готовности-опроса режима, т.е. при старте устройства всего. Иначе сброс и переинициализация.
PoReX
Цитата(kolobok0 @ Dec 13 2014, 00:01) *
помогает, помогает.
интервал побольше и счастье снизойдёт на Вас.
чисто плюсы, без всяких возврат-кареток. Интервал более секунды помойму (если не поможет - загляну в исходники) sm.gif

Поставил 3 секунды, помогло.
Цитата(kolobok0 @ Dec 13 2014, 00:01) *
Рекомендую проверить на демоборде (и их скрипто-писателе), если есть.

нету
Цитата(kolobok0 @ Dec 13 2014, 00:01) *
Да и ещё. Есть альтернатива шустрая - обратите внимание на пин DATA/CMD - вот оно как раз и есть. На демо борде смотрите.
Работает, проверял. Минус решения - пин МК. Для себя поздно осознал - приходится софтово решать. Благо нужно только на фазе
подъёма-готовности-опроса режима, т.е. при старте устройства всего. Иначе сброс и переинициализация.

А можно ли как-то отправлять данные не заходя в режим datamode, например, через Esc последовательности.
Мне необходимо поднять UDP сервер и TCP клиент и периодически им коннектиться. Пока не пойму как это реализовать. В programmers guide есть пример мультисокетного режима работы, но там поднимаются либо несколько TCP серверов, либо несколько TCP клиентов и принимают данные. А вот как отправлять нет ни слова....
kolobok0
Цитата(PoReX @ Dec 15 2014, 14:57) *
..А можно ли как-то отправлять данные не заходя в режим datamode, например, через Esc последовательности...
В programmers guide есть пример мультисокетного режима работы, но там поднимаются либо несколько...как отправлять нет ни слова....


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

ОФФ/2:
вообще - сейчас есть задумка немного изменить данный узел - уйти в сторону юсб свистков. более практично как показывает практика.
ЗЫ
И по общим очучениям - устойчивости бы побольше бы. Иногда если жестоко юзать (ну типа рефреш странички через 3-5 секунд), через
некоторое время затыкается. JScript с конкретным апдэйтом полей - более живуче решение.
PoReX
Цитата(kolobok0 @ Dec 15 2014, 16:10) *
а вот мульти - у вас приходит идентификатор коннекшенна, вот его и надо указывать при передачи данных в виз-фи.
и приём вроде как в режме обмена данных,т.е. не командном происходит (хотя может чего подзабыл уже - хз).

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

Цитата(kolobok0 @ Dec 15 2014, 16:10) *
ОФФ/2:
вообще - сейчас есть задумка немного изменить данный узел - уйти в сторону юсб свистков. более практично как показывает практика.

А в качестве хоста контроллер с USB-OTG?
kolobok0
Цитата(PoReX @ Dec 15 2014, 16:05) *
..приходит пакет от клиента, его же отправляю назад в визфай, ничего не меняя. ...А в качестве хоста контроллер с USB-OTG?


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

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

да, хост поддерживается на многих уже мк. сейчас базовый у меня stm32f417
просто вставлять wifi в железку которая управляет пром. установкой, для прикрытия функций пульта - накладно вкрячивать постоянный
модуль. тем более что для удалённого доступа есть и Ethernet, RS485... а вот свисток в самый раз.
PoReX
Цитата(kolobok0 @ Dec 16 2014, 02:39) *
вот думаю ничего не менять - не совсем корректно. в шапке должны быть адреса, CRC и иже. не знаю на каком уровне он вам отдаёт,
но если с адресами - то точно не прокатит.

Отдает Esc последовательность вида <ESC>u<CID>192.168.1.142 5555 <Raw data><ESC>E, ее и отпраляю назад
kolobok0
Цитата(PoReX @ Dec 16 2014, 14:05) *
Отдает 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) на нижнем уровне. Уровень логики не представлен.
PoReX
Цитата(kolobok0 @ Dec 17 2014, 08:54) *
ну вот то что Вы привели - не совсем соответствует документу.


В том то и дело что даже данные которые передает WizFi не соответствуют описанию в документе. Логично было предположить, что в таком формате он их и скушает, но нет.
А что за пример такой? Можете поделиться?
kolobok0
Цитата(PoReX @ Dec 17 2014, 11:37) *
...А что за пример такой? Можете поделиться?


да фигня вопрос.
вот из его описалова строка..

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

Вроде как для ардуино, судя по надписи.
Если не разыщите сам оригинал - вышлю на мыло.
Я так понимаю там же можно отрыть примеры с эскейп последовательностями. Если народ юзал - след останется в ввиде примеров.
Сам не докопал - в ввиду отсутствия необходимости.
Внутри документация есть, но на корейском sm.gif Похоже по востоку шарил когда искал sm.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.