Немножко не так. У модуля nRF24L01 есть буфер приема и передачи на три пакета максимальной длины (по 32 байта).MaksMS82 писал(а):Аппаратно поддерживается 6 "труб" -насколько я понял для этих 6 "труб" в радиомодуле имеют свои буфера обмена .Более 6 соединений нельзя организовать идеально,чтобы данные не потерялись.
Можно на одну трубу посадить не одно,а например два устройства,но надежность думаю будет не очень хорошая..
Есть идея,что 2 клиента могут иметь одинаковые настройки,но например в структуре данных у них будут разные идентификаторы,то работать это будет,если клиенты будут связываться с сервером в разное время ,например раз в минуту..
Возможно такой эксперимент позже проведу.
Хотя даже при обычном режиме работы с 5 клиентами,если клиенты в цикле постоянно долбят сервер данными,то сервер начинает терять принятые данные и теряются данные для отправки,если клиентов больше одного..
И есть возможность настроить в режиме приема аппаратную фильтрацию принимаемых пакетов с автоматическим подтверждением.
Вот этих каналов приема с фильтрацией - 6 штук.
Т.е, к примеру приемник может быть настроен на прослушивание 6 адресов, и если придет пакет с адресом назначения один из этих шести - модуль автоматически примет его, проверит контрольную сумму, отдаст передатчику подтверждение и выставит у себя прерывание, в котором укажет - из какого канала был принят пакет.
Если описаная в данной теме клиент-серверная архитектура много датчиков на один сервер - то никто не мешает десяткам датчиков отсылать пакеты на один конкретный адрес сервера - все будет нормально. Да и у сервера не возникнет проблем, все равно адрес кому должен быть выставлен непосредственно перед передачей.
Единственное где вижу ограничение - возможно, примененная библиотека просто ставит адреса всех приемников сразу в фильтр, чтобы однозначно идентифицировать от кого пакет. Но это легко обходится своим протоколом дополнительным для адресов.
Я у себя вообще не использую сейчас автоматическое подтверждение пакетов - когда неизвестно, сколько клиентов может услышать и услышит ли вообще хоть кто-то, ждать автоответов грустно. А ретрансмисии кладутся на плечи tcp/ip.
В результате у меня все устройства вообще имеют один адрес, на который же и отсылают данные. Дальше каждый приемник, который собрал пакет без потерь - разворачивает его у себя и заглядывает в адресные заголовки Ethernet кадра.
Протип - вполне справляется с пингами непрерывными на два клиента, не теряя пакетов. Вчера сработал и тестовый запрос напрямую на majordomo стандартным http-get со стороны датчика. Никакого дополнительного софта
![Smile :)](./images/smilies/icon_e_smile.gif)