Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Wi-fi модуль SPB800 hd-wireless
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Wireless/Optic
mpr
Здравствуйте,
Имеется wi-fi модуль spb800. по uart соединен с stm32f103 . применяю wlp_api
в документации на инициализацию написано, что на переданный хостом символ 'w', модуль должен им же ответить.
но модуль молчит. т.е. при включении выдает положенные пять точек, но на инициализацию не реагирует.
может кто встречался с этим устройством?
ps uart в порядке замыкаю tx на rx и вижу свою посылку, скорость 57600
algidim
Здравствуйте ! А не подскажите, где можно купить такой модуль, хочу тоже его попробовать ?
algidim
Цитата(mpr @ Aug 8 2011, 11:36) *
Здравствуйте,
Имеется wi-fi модуль spb800. по uart соединен с stm32f103 . применяю wlp_api
в документации на инициализацию написано, что на переданный хостом символ 'w', модуль должен им же ответить.
но модуль молчит. т.е. при включении выдает положенные пять точек, но на инициализацию не реагирует.
может кто встречался с этим устройством?
ps uart в порядке замыкаю tx на rx и вижу свою посылку, скорость 57600

А где Вы такое прочитали ? Я подключил его к компу и через uart управляю им… Настройки всякие и обмен по Telnet прекрасно работает… Я так понял что для дальнейший работы м ним нужно откомпилировать проект owl_pico под avr или linux и далее смотреть. Вам удалось это сделать или вы катко другим путём идете…
gkpavl
Доброго времени дня,
Подскажите на какое расстояние мжет передавать wi-fi модуль spb800?
Спасибо.
sevastianovd
(Это я, mpr)
algidim> у модуля 2 варианта команд
1 - аналог AT -то что вы видете через терминал
2 - их библиотечные битовые команды, то чем будет он управлятся при компиляции проекта owlpico

мой вопрос я решил - нужно его перешить.
в результате я добился работы модуля, поднял на нем http сервер (очень простой) на хосте Cortex-m
библиотека очень сырая, косяков много. Удалось откомпилировать только IAR (вначале пытался на avr собрать).
а так штука не плохая.
будут вопросы - пишите.
gkpavl - дальность работы по стандарту (до 300м на прямой видимости с внешней антенной).
swt
Цитата(sevastianovd @ Oct 19 2011, 05:23) *
(Это я, mpr)
algidim> у модуля 2 варианта команд
1 - аналог AT -то что вы видете через терминал
2 - их библиотечные битовые команды, то чем будет он управлятся при компиляции проекта owlpico

мой вопрос я решил - нужно его перешить.
в результате я добился работы модуля, поднял на нем http сервер (очень простой) на хосте Cortex-m
библиотека очень сырая, косяков много. Удалось откомпилировать только IAR (вначале пытался на avr собрать).
а так штука не плохая.
будут вопросы - пишите.
gkpavl - дальность работы по стандарту (до 300м на прямой видимости с внешней антенной).


Могли бы подсказать? приобрел и только начал разбиратся =)
можно ли настроить SPB800 c прошивкой spb800-serial_to_wifi_rxxx.hlf что бы слушать всю служебную информацию в момент подключения к сети по порту UDP ?
sevastianovd
Цитата(swt @ Apr 25 2012, 13:35) *
можно ли настроить SPB800 c прошивкой spb800-serial_to_wifi_rxxx.hlf что бы слушать всю служебную информацию в момент подключения к сети по порту UDP ?

не работал в режиме serial-to-wifi, и вашей задачи себе не ставил
смотрите, здесь есть немного про UDP
http://linux.hd-wireless.se/bin/view/Pico/Commands
mpo
Цитата(sevastianovd @ Oct 19 2011, 08:23) *
будут вопросы - пишите.


Уже третий день борюсь с модулем и службой тех поддержки H&D, может вы поможете, раз уже есть положительный опыт?
Суть вопроса в следующем.
Дествительно пришлось пару раз перепрощить модуль одной и тойже прошивкой чтобы он начал реагировать на символ 'w'
Но на этом всё и закончилось - больше ни на какую команду из стека PICO API щт не отвечает.
Т.е. вызываю функцию wlp_init - она отрабатывает - под отладчиком вижу что она получает в ответ 'w'
Далее вызываю любую другую функцию ( wlp_set_mode(WL_MODE_AP), wlp_reset(), wlp_set_ipaddr, wlp_linkup) - никакой реакции. Данные в модуль уходят (осцилом проверял), а обратно тишина.
Думал уже что может он переключается на другую скорость после wlp_init, пробывал перейти на 57600 - не помогло.
Была тоже мысль что он начинает контролировать CTS/RTS сигналы, CTS замкнул на землю - тоже не помогает.

Прошивку залил последнюю с сайта (pserver-spb800-r5073.hfl)

Что делать?
sevastianovd
я работал на пошивке r2693,
во-первых, что возвращает wlp_init?
уже не помню почему, но мне пришлось при запуске модуль сбрасывать со своего хоста ну и ждать пока он оживет,
общение начинается на скорости 57600, после wlp_init переключаю на 115200
ну и код в студию...
mpo
wlp_init возвращает 0 - если ее код смотреть она ничего другого и не возвращает

int wlp_init(int interface,
int (*readf)(void *ctx, void *data, int len),
int (*writef)(void *ctx, const void *data, int len),
void (*selectf)(void *ctx, int select),
void *ctx)
{
char c = 'w';

owl_dbg("interface:%d readf:%p writef:%p ctx:%p",
interface, readf, writef, ctx);

priv = &wlp_ctx;
owl_os_memset(priv, 0, sizeof(*priv));

priv->read = readf;
priv->write = writef;
priv->select = selectf;
priv->rw_ctx = ctx;

if (interface == WLP_INTERFACE_SPI) {
priv->flags |= WLP_FLAG_SPI;
owl_dbg("init complete");
return 0;
}

bus_claim();
bus_write(&c, 1);
do
{
bus_read(&c, 1);
if(c == '.') owl_dbg("ignore dot");
}
while(c!='w');

bus_release();

owl_dbg("init complete");
return 0;
}

новые прошивки все работают сразу на 115200
поэтому я скорость не меняю, да и вопросов к wlp_init у меня нету - она посылает 'w' и получив в ответ от модуля 'w' выходит.

Вопрос у меня к другим функциям: настройки IP адреса, режима работы, сброса в конце концов.
Они не отрабатывают. ТОчнее они отсылают что то модулю, но в ответ модуль ничего им не отсылает (проверено на осцилографе). Такое ощущение, что они либо что то не то ему шлют, либо не на той скорости какой надо, либо еще что...

я тут в main вставил кусочек по обмену с модулем вот отрывок:

//-----------------WLP-------------------------------------------------------

wlp_init(
WLP_INTERFACE_UART,
uart1_read_f, /* function that will read buffer from uart */
uart1_write_f, /* function that will write buffer to uart */
select,
NULL /* context passed to uart_read_f and uart_write_f */);


wlp_set_link_cb(link_f, /* function that will be called when the link status changes */
NULL /* context passed to link_f */);

wlp_set_ipaddr_cb(addr_f, /* function that will be called when the IP address changes */
NULL /* context passed to addr_f */);

wlp_set_mode(WL_MODE_AP); //<<<<<-----------------------------------тут код виснет, так как ждет 8 символов из UART, а от туда ничего не приходит
wlp_reset();

struct ip_addr ip, netmask, gateway, dnsserver;
IP4_ADDR(&ip, 192, 168, 2, 22);
IP4_ADDR(&netmask, 255, 255, 255, 0);
IP4_ADDR(&gateway, 192, 168, 2, 1);
IP4_ADDR(&dnsserver, 192, 168, 2, 1);

wlp_set_ipaddr(&ip, &netmask, &gateway, &dnsserver); /* configure SPB800 ip address */
wlp_set_dhcpd(1); /* start dhcp server */

struct wl_ssid_t ssid;
strcpy(ssid.ssid, "MY-FI"); /* specifiy the ssid */
ssid.len = strlen("MY-FI"); /* the number of valid bytes in the ssid */


unsigned char mode;

wlp_get_mode(&mode);

if (mode == WL_MODE_STA)
printf("operation mode: sta\n\r");
else if (mode == WL_MODE_AP)
printf("operation mode: ap\n\r");

wlp_linkup(&ssid, NULL, 1); /* start access point with SSID "spb800 access point", no encryption, channel 1 */


sevastianovd
попробуйте поставить точку останова на wlp_set_link_cb
у мень задержка в 200 мс после init

mpo
дак я по шагам иду в отладчике, так что время существенно больше чем 200мс
sevastianovd
тогда пробуйте reset модулю после запуска хоста
mpo
не помогает
sevastianovd
пробуйте откатиться на r2238, она проще
mpo
2238 не прошивается.
После прошивки пишет

CCCreceived 219520 bytes - rebooting

светодиод на модуле мигает с периодом 1сек и все.
Если модуль сбросить то видно что прошивка не сменилась.
На команду nvdiag выдает пустую таблицу:
TYPE BOOT LENGTH ADDR MAGIC CHECKSUM ADLER
------ ---- ------ ------ -------- -------- --------
sevastianovd
>>When the transfer is complete, the SPB800 will print "completed - rebooting" in the TeraTerm window. Now
wait until the dots are printed again.
если точки снова не появляются - проблемы с железом. проверьте (осциллографом) питание, reset - может там чего нехорошо.
ну а если хорошо - вам нужен еще один модуль...
ps проверьте ревизию модуля (r4a, r5a)
mpo
Всё решилось.
Проблема была в том, что надо было объявить дефайн BYTE_ORDER. (#define BYTE_ORDER LITTLE_ENDIAN )
В противном случае пакет посылается в формате LITTLE ENDIAN, а должен по протоколу посылатся в формате BIG ENDIAN.

Всем спасибо за советы.
Начну заниматься поднятием WEB сервера.

Youlupukki
Привет.
Тоже работаю с модулем spb800.
Модуль никак не прошивается.
У меня проблема как у mpo.
После прошивки пишет
CCCreceived 740512 bytes - rebooting
И мигает светодиод.
Точки не появляются сам модуль не перезагружается.
Прошивка льется около двух часов. Это нормально?
Пробовал ставить разные версии прошивки PICO и Serial-to-WIFI.
Результат тот же.

P.S.
Через терминал команды посылаются нормально, переходник usb-uart тоже работатет нормально - проверял осциллографом. Пробовал перешивать через TeraTerm и HyperTerminal.
Не помогло.

Что я делаю не так?
glebzlobin
Цитата(mpo @ Jan 17 2013, 16:06) *
Всё решилось.
Проблема была в том, что надо было объявить дефайн BYTE_ORDER. (#define BYTE_ORDER LITTLE_ENDIAN )
В противном случае пакет посылается в формате LITTLE ENDIAN, а должен по протоколу посылатся в формате BIG ENDIAN.

Всем спасибо за советы.
Начну заниматься поднятием WEB сервера.


Добрый день, форумчане!

Ищем подрядчика для разработки проекта, связанного с Wi-Fi.
Буду благодарен, если рассмотрите наш проект
или же сможете посоветовать специалиста или компанию, имеющих успешные проекты
на Wi-Fi чипах или модулях.

К Выбору производителя Wi-Fi модулей не привязаны,
главное чтобы он был миниатюрным, стабильным и относительно дешёвым.

Пишите в личку или на почту:
glebzlobin@gmail.com
или звоните:
8-916-912-05-10
С уважением, Глеб.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2017 Invision Power Services, Inc.