Перейти к содержанию
    

Выбор протокола

Поставим цель:

Есть N равнозначных устройств: никаких выделенных координаторов и т.д. Все эти устройства каким-то образом настраиваются: указывается некий SSID, прогружаются одним ключем, настраиваютсян а один канал - не суть. Все имеют уникальный MAC.

Любое из устройств может показать список МАКов, которые он видит в пределах действия сети (идеально, если бы каждый при этом расширял область действия сети, выступая репитером (хопом)). Любому доступному MAC в радиусе действия можно послать пакет и получить ответ.

Пропускная способность - не критична, команды короткие.

 

Теперь ближе к реализации:

Есть CC2538.

 

Вопросы:

Помогите с выбором стека/протокола.

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

В принципе, рассмотрю возможность написание своего стека, но пока не вырисовывается картина.

Надеюсь, поможете

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поставим цель:

 

Помогите с выбором стека/протокола.

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

В принципе, рассмотрю возможность написание своего стека, но пока не вырисовывается картина.

Надеюсь, поможете

 

Координатор делать придется, хотите вы этого или нет. Если без него, то сеть превращается в анархию, на подобие коаксиального эзернета (CSMA-CD), только все осложняется тем, что переключение с приема на передачу и наоборот в кабеле происходит заметно быстрее, скорости выше, а след. передать информации за ед. времени можно гораздо больше. Но даже и в этом случае, коаксиальный эзернет был сущим геморроем...

Это может прокатить, если устройств немного, но с большим кол-вом, плюс репитеры и т.д. - нет. Зигби придумывали не дураки, и наверняка им тоже не хотелось бы координаторов...

Координатор решает многие проблемы вышеописанного решения, причем он может быть "динамическим", т.е. отвалился один - установился другой.

Изменено пользователем mantech

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Координатор делать придется, хотите вы этого или нет.

А можете в двух словах чуть более подробнее? Или ссылку, если есть чего понятного почитать. Пока каша в голове.

Если говорить про динамический координатор, возможно ли такое на ZigBee? Готовое рабочее решение

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А можете в двух словах чуть более подробнее? Или ссылку, если есть чего понятного почитать. Пока каша в голове.

Если говорить про динамический координатор, возможно ли такое на ZigBee? Готовое рабочее решение

 

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

 

ЗЫ. Если не путаю, зигби может ответить хосту, что координатор не актуален, тогда можно дать команду любому узлу стать координатором, причем сеть реорганизуется автоматически. Там были кое-какие проблемы с адресацией после этой процедуры, но подробности уже подзабыл..

Изменено пользователем mantech

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А почему без координатора сеть превращается в анархию? Я этот момент не совсем понимаю

 

Проанализируйте в уме работу нескольких устройств в сети, каким образом им выходить на связь, если нет синхронизации с главным устройством? Только слушать эфир и, в отсутствии чьей-либо несущей, выдавать свой пакет в надежде, что адресат его услышит. Это работает идеально, если устройств 2, макс. 5. Но если их десятки или сотни, и время выхода в эфир каждый выбирает сам, то что получится в канале связи? Правильно - бардак! Чтобы этого бардака не было, нужен главный контроллер, который либо опрашивает остальные и те ему сообщают, что есть данные для передачи или нет, либо раздает тайм-слоты, в которых каждое устройство может общаться с главным или другим устройством. Вот примерная картина...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проанализируйте в уме работу нескольких устройств в сети, каким образом им выходить на связь, если нет синхронизации с главным устройством? Только слушать эфир и, в отсутствии чьей-либо несущей, выдавать свой пакет в надежде, что адресат его услышит.

 

Да так и работает ZigBee и Bluetooth и куча других беспроводных сетей.

Координатор нужен совсем не для синхронизации.

 

Координатор нужен для настройки правил маршрутизации.

Вот флуд маршрутизации это самая большая опасность в радиосетях, когда все что-то куда-то хотят передать, и ретранслируют всё всем без разбора.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ЗЫ. Если не путаю, зигби может ответить хосту, что координатор не актуален, тогда можно дать команду любому узлу стать координатором, причем сеть реорганизуется автоматически.

Делал когда-то динамическое назначение координатора в сети на базе CC2480 (сейчас его наследник - CC2530).

Исходно там координатор назначается статически перед стартом сети.

Сделал, все узлы стали равноправными. Работало нормально только если все узлы находились рядом (каждый узел был в пределах прямой (без ретрансляций) радиослышимости любого другого узла сети). Если случалось так, что хотя-бы два узла не слышали друг друга напрямую без ретрансляций, то сеть в процессе работы в конце концов через некоторое время распадалась на две сети, которые не слышали друг друга (каждая со своим координатором).

Преодолеть эту проблему не удалось.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да так и работает 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 не может организовывать скаттернет (связь с др. пиконетами).

image.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...