Выбор самого быстрого (по pps) Wifi модуля для arduino

Тема в разделе "Arduino & Shields", создана пользователем altex, 14 июн 2015.

  1. altex

    altex Гик

    Здравствуйте

    Хотелось бы узнать, кто какие модули использует для связи arduino и других подобных устройств по wifi. Конкретно в этой теме интересует выбор самого быстрого модуля, если мерить по пропускной способности пакетов в секунду.

    Я уже попробовал esp8266, и собираюсь ещё попробовать wifi bee v2.
    Esp8266 уверенно держит только порядка 100 пакетов (50 на приём и 50 на передачу).

    В моей же задаче требуется держать порядка 200 (в идеале с запасом 400) пакетов в секунду, то есть 100 в одну сторону, и 100 в другую. Связь организована по UDP протоколу, данные из UDP пакетов поступают на HW Serial arduino, работающего на 115200 bps (что в теории даёт скорость 10 кбайт/с при использовании одинарного стоп-бита в полудуплексном режиме, а в дуплексном в два раза больше - 20 кбайт/с). В среднем размер каждой пачки данных - около 25 байт, так что HW Serial на 115200 bps может справляться с 400 пакетами в секунду. Таким образом esp8266 раза в два медленнее, чем требуется по задаче.

    У меня есть большие надежды на wifi bee v2, так как в нём хотя бы процессор по-мощнее стоит, чем на esp8266, но так же есть и некоторые сомнения, так как насколько я понял, поискав в гугле, никто не стремится к решению подобных задач (скоростной передачи информации между arduino и pc по wifi), и стандартных проверенных решений для этого найти не удалось.

    Так же пробовал соединять PC и Arduino по Bluetooth модулю HC-06, но его скорость работы обратно пропорциональна расстоянию между приёмником и передатчиком, и уже на расстоянии пары-тройки метров скорость падает до 20 pps (если под пакетом считать одно сообщение из 25 байт в одну сторону по uart). То есть одним wifi мои эксперименты не ограничивались, но успеха так же достигнуть не удалось.
     
    Последнее редактирование: 14 июн 2015
  2. geher

    geher Гуру

    wifi bee v2, родимого, и использую, но не для скоростной передачи пакетов. Может я что-то неправильно делаю, но оно тоже не получается очень быстро.
    Слишком оптимистично.
    На самом деле заметно меньше.
    Даже если не считать накладные расходы на формирование команд модулю для пересылки пакета, а считать только отправленные данные, то нужно дополнительно учесть как минимум стартовый и стоповый биты, защитный интервал, и все сразу становится заметно скромнее. 460 - теоретический предел без учета защитного интервала. С ним еще меньше.
    А еще на уровне радиотракта добавятся те же проблемы, что и для BT, хотя и в заметно меньшей степени, поскольку модулю придется разрешать все те же проблемы: коллизии в эфире, протокольная обертка на всех уровнях.
     
    Последнее редактирование: 15 июн 2015