• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Максимальное колличество клиентов на одной точке доступа

findeler

New member
Здравствуйте.

1. на базе 8266 создаётся точка доступа.
2. К ней присоединяются клиенты на том же 8266 с очень низким трафиком с высокой скважностью. (обработанные данные с датчиков это 5-10 байт в секунду).
3. Есть ещё 5 клиентов с трафиком 500-600 байт/сек максимум, так же идут пакетом.)

Собственно вопрос. Сколько таких клиентов можно присоединить к точке. По минимуму нужно 50 шт в максимуме около 200 шт.
 

Юрий Ботов

Moderator
Команда форума
ТО есть КАЖДУЮ СЕКУНДУ(!) каждый из датчиков шлет свои 5 копеек? Не часто? 200 одновременно подключенных - это проблема с внутренней таблицей подключенных - памяти не хватит. Подключаться-посылать-отключаться каждую секунду - не получится, ибо время установления соединения сравнимо с 1 секундой.
С моей точки зрения вам надо подумать над более экономным протоколом, например так:
- Датчик посылает данные только если они изменились более чем на X единиц/процентов или раз в TIMEOUT минут если не изменились.
В результате освобождаете сеть от лишнего груза и подключаете хоть 1000 датчиков, а пересылка по таймауту позволяет мониторить жив ли еще датчик или с ним что то не так...
 

pvvx

Активный участник сообщества
2. К ней присоединяются клиенты на том же 8266 с очень низким трафиком с высокой скважностью. (обработанные данные с датчиков это 5-10 байт в секунду).
Если соединение идет через espconn, то там есть ограничения (см. espconn_tcp_set_max_con()).
У WiFi, в старых SDK, было ограничение на 4-ре клиента. В новых - немного больше...
 

nikolz

Well-known member
Здравствуйте.

1. на базе 8266 создаётся точка доступа.
2. К ней присоединяются клиенты на том же 8266 с очень низким трафиком с высокой скважностью. (обработанные данные с датчиков это 5-10 байт в секунду).
3. Есть ещё 5 клиентов с трафиком 500-600 байт/сек максимум, так же идут пакетом.)

Собственно вопрос. Сколько таких клиентов можно присоединить к точке. По минимуму нужно 50 шт в максимуме около 200 шт.
Полагаю, что 50 шт можно,
но Вы самостоятельно это не сделаете,
а другим это не надо .
 

pvvx

Активный участник сообщества
Полагаю, что 50 шт можно,
но Вы самостоятельно это не сделаете,
а другим это не надо .
Каким образом? Ресурсов чипа не хватит. На каждую SoftAP и клиента надо RAM c установками...
+ На каждое соединение espconn тратит ещё кучу RAM.
 

nikolz

Well-known member
Каким образом? Ресурсов чипа не хватит. На каждую SoftAP и клиента надо RAM c установками...
+ На каждое соединение espconn тратит ещё кучу RAM.
Это мое ноу хау.
Вдаваться с Вами в бессмысленную дискуссию,
которую Вы превратите в ерничество,
нет желания.
 

findeler

New member
То есть как я понял, все датчики банально не подключатся (им не хватит оперативной памяти в модуле) ?
 

nikolz

Well-known member
То есть как я понял, все датчики банально не подключатся (им не хватит оперативной памяти в модуле) ?
Вы почитайте лучше документацию, если хотите что-то реально делать.
Не хочу вдаваться в детали, так как начнется визг и гавканье, но задача решается несколькими способами.
Если не будете бессмысленно использовать TCP, то памяти Вам хватит.
 

nikolz

Well-known member
Но вообще-то такая задача решается созданием сети. Почитайте в интернете, просто для расширения кругозора, например , про ad hoc.
 

nikolz

Well-known member
Вот сделал тест скорости обмена пакетами по UDP.
В первом приближении время между пакетами не более 15 ms.
Т е если у Вас 50устройств то короткие пакеты от них вы сможете передать за 1 секунду на центральный узел.
Если для обмена с устройствами вы используете ESP-Now, то скорость обмена будет еще выше.
Но это лишь грубые оценки и точные возможности надо моделировать.
 

tretyakov_sa

Moderator
Команда форума
Здравствуйте.

1. на базе 8266 создаётся точка доступа.
2. К ней присоединяются клиенты на том же 8266 с очень низким трафиком с высокой скважностью. (обработанные данные с датчиков это 5-10 байт в секунду).
3. Есть ещё 5 клиентов с трафиком 500-600 байт/сек максимум, так же идут пакетом.)

Собственно вопрос. Сколько таких клиентов можно присоединить к точке. По минимуму нужно 50 шт в максимуме около 200 шт.
Зачем создавать точку доступа на ESP8266? Почему не хотите использовать роутер?
 

findeler

New member
Вы почитайте лучше документацию, если хотите что-то реально делать.
уже начал, меня интересует на текущий момент, принципиальная возможность. Что бы не тратить время на бесполезное изучение.

Но вообще-то такая задача решается созданием сети. Почитайте в интернете, просто для расширения кругозора, например , про ad hoc.
ОК ... Почитал, чем она мне поможет ? У меня информация стекается исключительно в одну точку она же сервер.

Если для обмена с устройствами вы используете ESP-Now, то скорость обмена будет еще выше.
Не в курсе, но почитаю... Прочитал ограничение на 20 клиентов. Это мало.

Зачем создавать точку доступа на ESP8266? Почему не хотите использовать роутер?
Это часть системы автоматизации, использовать внешний роутер не подходит.


Кстати наткнулся тут на модули RTL8710 они на ARMе как они по характеристикам по сравнению с esp ? (Мне под них писать, если понадобится , проще. Я работаю с ARM-ами от СТМ)
 
Последнее редактирование:

nikolz

Well-known member
уже начал, меня интересует на текущий момент, принципиальная возможность. Что бы не тратить время на бесполезное изучение.
Кстати наткнулся тут на модули RTL8710 они на ARMе как они по характеристикам по сравнению с esp ? (Мне под них писать, если понадобится , проще. Я работаю с ARM-ами от СТМ)
Об этом знает лишь один чел на форуме. Но его доводы сводятся к тому, что памяти больше, ошибок в SDK меньше и разработка софта будет легче.
Но это не дает повода считать , что Ваша задача решаема на этом железе.
----------------------------------------
С еще большим успехом можете взять медиатек там памяти еще больше.
RTL8710 это в 2 раза дороже чем eSP, RTL8711 - это уже в 3 раза дороже.
Если стоимость не критична, то можно взять и модуль с 4 GB памяти и тактовой 1 Ггц.
-----------------------------------------
Но проблема не в размере памяти или сложности программы.
Проблема в организации взаимодействия модулей по WI-FI, в синхронизации их работы.
---------------------------
Т е вопрос в том, какие требования к вашей сети, кроме того, что модулей не менее 50.
У Вас не поставлена задача, поэтому есть два ответа: Нельзя и можно. Оба ответа реальны.
Начните не с железа а с тех задания.
Потом смоделируйте сеть в 50 узлов на любом железе или программе и организуйте их взаимодействие.
А вот после этого Вы поймете, какое железо надо.
Можете для начала организовать взаимодействие 200 узлов по проводной сети и построить сеть без конфликтов и заторов с нужной вам пропускной способностью, но с ограничениями WI-FI.
 

nikolz

Well-known member
и еще...
Если Вы серьезно делаете это для производства, то начинать надо с бюджета.
Т е рисуйте тех задание и бюджет и утверждайте их у начальства.
А когда утвердите, приходите на форум и набирайте команду.
Ну а если надо просто потрындеть или это просто хобби, то продолжайте пустые разговоры тут.
 

findeler

New member
Но проблема не в размере памяти или сложности программы.
Проблема в организации взаимодействия модулей по WI-FI, в синхронизации их работы.
Ну я так и понял, любое своё решение очень быстро упрётся в те или иные коллизии и проблемы. На 5-10 проблем особо не будет, а дальше как повезёт. Скорее всего придётся брать готовый роутер и интегрировать его. А всех присоединять к нему. Интегрировать имхо проще чем разрабатывать железяку с нуля.

P.S. Я сам себе начальство, разработка идёт в недешёвом сегменте и особых требований к экономии нет.
 

pvvx

Активный участник сообщества
Кстати наткнулся тут на модули RTL8710 они на ARMе как они по характеристикам по сравнению с esp ? (Мне под них писать, если понадобится , проще. Я работаю с ARM-ами от СТМ)
Тут возможно вы путаете - на модулях обычно SoftAP, а не полная AP. Это серьезное различие.
На всех модулях SoftAP обычно можно создать от 4-х SoftAP с разными именами. Как я понимаю это связано с аппаратными ограничениями на кол-во фильтров MAC для буферов WiFi логики. Но этим тут никто не пользуется и не проверял их поведение, особенно ограничение на клиентов :) С nikolz разговаривать по данному делу бесполезно...
SDK от Espressif не предусматривает никаких отклонений от имеющихся у них примеров. Т.е. расчет идет на работу с до 4-х клиентов и другие интерфейсы, такие как espconn не приспособлена для работы с больше чем задано в ней статических буферов, которые отнимают память, дублируя данные по pcb из LwIP. Тут без разницы какое соединение в espconn - UDP или TCP.
Так-же стоит посмотреть и изменить конфигурацию LwIP хотя-бы на кол-во активных соединений. Но для SDK от Espressif это не возможно, т.к. отсутствует исходник сочлинения LwIP с WiFi. Этот кусок есть дизассемблированный и переведенный на СИ у меня -> esp8266web/eagle_lwip_if.c at master · pvvx/esp8266web · GitHub
Что выйдет с net_if-ами в SDK при включении нескольких SoftAP я пока не проверял.
Так-же, если будете использовать ESP8266 в качестве station, вам придется помочь в решении и этой проблемы: проблема с UDP-сокетом Она как раз сказывается, когда много модулей в сети.
Но, в общем, не могу вам рекомендовать использовать ESP8266 для серьезных вещей. С ноября 2014 года их SDK до сих пор не отлажено.
 
Последнее редактирование:

findeler

New member
Я как то так и понял. Собственно по сути режим АР в этих модулях он так для "галочки". Ни софта ни железа под него.

А взяв какой нибудь dlink s300 за 1000р. Я получу полноценную АР с которой на моих скоростях и трафике скорее всего всё будет работать как надо. Останется только "распатронить" и интегрировать.
 

pvvx

Активный участник сообщества
Я как то так и понял. Собственно по сути режим АР в этих модулях он так для "галочки". Ни софта ни железа под него.

А взяв какой нибудь dlink s300 за 1000р. Я получу полноценную АР с которой на моих скоростях и трафике скорее всего всё будет работать как надо. Останется только "распатронить" и интегрировать.
Примерно так, но всё-же хочется чтобы и ESP заработал как надо... На нем уже много чего есть и лень переделывать. Но, в связи с выявлением новых глюков, похоже придется. Ныне исследую RTL87xx... Если учитывать, что в продаже модули RTL не более 2-х месяцев, то кол-во ошибок по сравнению с таким-же периодом у ESP во много-много раз меньше...
Продажи ESP32S китайцы обещают 20-го. Это наверно время старта производства модулей... SDK к нему ещё совсем сырая...
 
Последнее редактирование:
Сверху Снизу