Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Выбор протокола
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Wireless/Optic
drozel
Поставим цель:
Есть N равнозначных устройств: никаких выделенных координаторов и т.д. Все эти устройства каким-то образом настраиваются: указывается некий SSID, прогружаются одним ключем, настраиваютсян а один канал - не суть. Все имеют уникальный MAC.
Любое из устройств может показать список МАКов, которые он видит в пределах действия сети (идеально, если бы каждый при этом расширял область действия сети, выступая репитером (хопом)). Любому доступному MAC в радиусе действия можно послать пакет и получить ответ.
Пропускная способность - не критична, команды короткие.

Теперь ближе к реализации:
Есть CC2538.

Вопросы:
Помогите с выбором стека/протокола.
ZigBee позволяет строить mesh, но вся дока, которую я видел, говорит о том, что должен быть отдельный координатор (не подходит).
В принципе, рассмотрю возможность написание своего стека, но пока не вырисовывается картина.
Надеюсь, поможете
mantech
Цитата(drozel @ May 18 2016, 19:20) *
Поставим цель:

Помогите с выбором стека/протокола.
ZigBee позволяет строить mesh, но вся дока, которую я видел, говорит о том, что должен быть отдельный координатор (не подходит).
В принципе, рассмотрю возможность написание своего стека, но пока не вырисовывается картина.
Надеюсь, поможете


Координатор делать придется, хотите вы этого или нет. Если без него, то сеть превращается в анархию, на подобие коаксиального эзернета (CSMA-CD), только все осложняется тем, что переключение с приема на передачу и наоборот в кабеле происходит заметно быстрее, скорости выше, а след. передать информации за ед. времени можно гораздо больше. Но даже и в этом случае, коаксиальный эзернет был сущим геморроем...
Это может прокатить, если устройств немного, но с большим кол-вом, плюс репитеры и т.д. - нет. Зигби придумывали не дураки, и наверняка им тоже не хотелось бы координаторов...
Координатор решает многие проблемы вышеописанного решения, причем он может быть "динамическим", т.е. отвалился один - установился другой.
drozel
Цитата(mantech @ May 18 2016, 23:38) *
Координатор делать придется, хотите вы этого или нет.

А можете в двух словах чуть более подробнее? Или ссылку, если есть чего понятного почитать. Пока каша в голове.
Если говорить про динамический координатор, возможно ли такое на ZigBee? Готовое рабочее решение
mantech
Цитата(drozel @ May 18 2016, 21:07) *
А можете в двух словах чуть более подробнее? Или ссылку, если есть чего понятного почитать. Пока каша в голове.
Если говорить про динамический координатор, возможно ли такое на ZigBee? Готовое рабочее решение


Про зигби - не знаю, давненько уже их решения не использовал, это были времена еще ETRX-2 от телегезиса... Пять лет назад делал свой протокол, в котором и использовал принцип динамического координатора. Если память не подводит, использовал чипы СС1101 с доп. контроллером, теперь уже есть куча чипов со встроеным МК. По роду работы больше радиосвязью не занимаюсь, так что отстал малость, может зигбишники уже что-то новое изобрели laughing.gif

ЗЫ. Если не путаю, зигби может ответить хосту, что координатор не актуален, тогда можно дать команду любому узлу стать координатором, причем сеть реорганизуется автоматически. Там были кое-какие проблемы с адресацией после этой процедуры, но подробности уже подзабыл..
drozel
А почему без координатора сеть превращается в анархию? Я этот момент не совсем понимаю
mantech
Цитата(drozel @ May 19 2016, 04:21) *
А почему без координатора сеть превращается в анархию? Я этот момент не совсем понимаю


Проанализируйте в уме работу нескольких устройств в сети, каким образом им выходить на связь, если нет синхронизации с главным устройством? Только слушать эфир и, в отсутствии чьей-либо несущей, выдавать свой пакет в надежде, что адресат его услышит. Это работает идеально, если устройств 2, макс. 5. Но если их десятки или сотни, и время выхода в эфир каждый выбирает сам, то что получится в канале связи? Правильно - бардак! Чтобы этого бардака не было, нужен главный контроллер, который либо опрашивает остальные и те ему сообщают, что есть данные для передачи или нет, либо раздает тайм-слоты, в которых каждое устройство может общаться с главным или другим устройством. Вот примерная картина...
AlexandrY
Цитата(mantech @ May 19 2016, 12:19) *
Проанализируйте в уме работу нескольких устройств в сети, каким образом им выходить на связь, если нет синхронизации с главным устройством? Только слушать эфир и, в отсутствии чьей-либо несущей, выдавать свой пакет в надежде, что адресат его услышит.


Да так и работает ZigBee и Bluetooth и куча других беспроводных сетей.
Координатор нужен совсем не для синхронизации.

Координатор нужен для настройки правил маршрутизации.
Вот флуд маршрутизации это самая большая опасность в радиосетях, когда все что-то куда-то хотят передать, и ретранслируют всё всем без разбора.
jcxz
Цитата(mantech @ May 19 2016, 00:20) *
ЗЫ. Если не путаю, зигби может ответить хосту, что координатор не актуален, тогда можно дать команду любому узлу стать координатором, причем сеть реорганизуется автоматически.

Делал когда-то динамическое назначение координатора в сети на базе CC2480 (сейчас его наследник - CC2530).
Исходно там координатор назначается статически перед стартом сети.
Сделал, все узлы стали равноправными. Работало нормально только если все узлы находились рядом (каждый узел был в пределах прямой (без ретрансляций) радиослышимости любого другого узла сети). Если случалось так, что хотя-бы два узла не слышали друг друга напрямую без ретрансляций, то сеть в процессе работы в конце концов через некоторое время распадалась на две сети, которые не слышали друг друга (каждая со своим координатором).
Преодолеть эту проблему не удалось.
alx125
Цитата(AlexandrY @ May 19 2016, 14:44) *
Да так и работает ZigBee и Bluetooth и куча других беспроводных сетей.
Координатор нужен совсем не для синхронизации.


За ZigBee и кучу других беспроводных сетей не скажу, но у Bluetooth есть "координатор", он называется Master.
Все BT устройства в пикосети строятся вокруг Master.
Остальные являются Slave
Даже когда только два BT устройства коммутируют - один из них Master, другой Slave
По сути, Master - это "дирижер" синхронизации в пикосети! Без него никуда!

Ряд BT чипов могут в процессе работы менять свою роль Master<->Slave. Но не все!

При отсутствии критических требований к быстродействию одноранговую сеть P2P на BT можно имитировать - отключаясь-подключаясь между устройствами.
Особенно когда маршрут и адреса известны!

Например, мобильный мессенджер FireChat что-то такое и делает. https://ru.wikipedia.org/wiki/FireChat

Стандарт BLE предоставляет всякие дополнительные возможности для этого - Broadcast, быстрое соединение, .. (все сразу и не вспомню)
Но BLE не может организовывать скаттернет (связь с др. пиконетами).
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.