|
|
  |
Выбор протокола |
|
|
|
May 18 2016, 16:20
|
Частый гость
 
Группа: Свой
Сообщений: 108
Регистрация: 2-02-11
Пользователь №: 62 650

|
Поставим цель: Есть N равнозначных устройств: никаких выделенных координаторов и т.д. Все эти устройства каким-то образом настраиваются: указывается некий SSID, прогружаются одним ключем, настраиваютсян а один канал - не суть. Все имеют уникальный MAC. Любое из устройств может показать список МАКов, которые он видит в пределах действия сети (идеально, если бы каждый при этом расширял область действия сети, выступая репитером (хопом)). Любому доступному MAC в радиусе действия можно послать пакет и получить ответ. Пропускная способность - не критична, команды короткие.
Теперь ближе к реализации: Есть CC2538.
Вопросы: Помогите с выбором стека/протокола. ZigBee позволяет строить mesh, но вся дока, которую я видел, говорит о том, что должен быть отдельный координатор (не подходит). В принципе, рассмотрю возможность написание своего стека, но пока не вырисовывается картина. Надеюсь, поможете
|
|
|
|
|
May 18 2016, 17:38
|
Гуру
     
Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143

|
Цитата(drozel @ May 18 2016, 19:20)  Поставим цель:
Помогите с выбором стека/протокола. ZigBee позволяет строить mesh, но вся дока, которую я видел, говорит о том, что должен быть отдельный координатор (не подходит). В принципе, рассмотрю возможность написание своего стека, но пока не вырисовывается картина. Надеюсь, поможете Координатор делать придется, хотите вы этого или нет. Если без него, то сеть превращается в анархию, на подобие коаксиального эзернета (CSMA-CD), только все осложняется тем, что переключение с приема на передачу и наоборот в кабеле происходит заметно быстрее, скорости выше, а след. передать информации за ед. времени можно гораздо больше. Но даже и в этом случае, коаксиальный эзернет был сущим геморроем... Это может прокатить, если устройств немного, но с большим кол-вом, плюс репитеры и т.д. - нет. Зигби придумывали не дураки, и наверняка им тоже не хотелось бы координаторов... Координатор решает многие проблемы вышеописанного решения, причем он может быть "динамическим", т.е. отвалился один - установился другой.
Сообщение отредактировал mantech - May 18 2016, 17:40
|
|
|
|
|
May 18 2016, 18:07
|
Частый гость
 
Группа: Свой
Сообщений: 108
Регистрация: 2-02-11
Пользователь №: 62 650

|
Цитата(mantech @ May 18 2016, 23:38)  Координатор делать придется, хотите вы этого или нет. А можете в двух словах чуть более подробнее? Или ссылку, если есть чего понятного почитать. Пока каша в голове. Если говорить про динамический координатор, возможно ли такое на ZigBee? Готовое рабочее решение
|
|
|
|
|
May 18 2016, 18:20
|
Гуру
     
Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143

|
Цитата(drozel @ May 18 2016, 21:07)  А можете в двух словах чуть более подробнее? Или ссылку, если есть чего понятного почитать. Пока каша в голове. Если говорить про динамический координатор, возможно ли такое на ZigBee? Готовое рабочее решение Про зигби - не знаю, давненько уже их решения не использовал, это были времена еще ETRX-2 от телегезиса... Пять лет назад делал свой протокол, в котором и использовал принцип динамического координатора. Если память не подводит, использовал чипы СС1101 с доп. контроллером, теперь уже есть куча чипов со встроеным МК. По роду работы больше радиосвязью не занимаюсь, так что отстал малость, может зигбишники уже что-то новое изобрели  ЗЫ. Если не путаю, зигби может ответить хосту, что координатор не актуален, тогда можно дать команду любому узлу стать координатором, причем сеть реорганизуется автоматически. Там были кое-какие проблемы с адресацией после этой процедуры, но подробности уже подзабыл..
Сообщение отредактировал mantech - May 18 2016, 18:24
|
|
|
|
|
May 19 2016, 09:19
|
Гуру
     
Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143

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

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(mantech @ May 19 2016, 12:19)  Проанализируйте в уме работу нескольких устройств в сети, каким образом им выходить на связь, если нет синхронизации с главным устройством? Только слушать эфир и, в отсутствии чьей-либо несущей, выдавать свой пакет в надежде, что адресат его услышит. Да так и работает ZigBee и Bluetooth и куча других беспроводных сетей. Координатор нужен совсем не для синхронизации. Координатор нужен для настройки правил маршрутизации. Вот флуд маршрутизации это самая большая опасность в радиосетях, когда все что-то куда-то хотят передать, и ретранслируют всё всем без разбора.
|
|
|
|
|
May 19 2016, 13:14
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(mantech @ May 19 2016, 00:20)  ЗЫ. Если не путаю, зигби может ответить хосту, что координатор не актуален, тогда можно дать команду любому узлу стать координатором, причем сеть реорганизуется автоматически. Делал когда-то динамическое назначение координатора в сети на базе CC2480 (сейчас его наследник - CC2530). Исходно там координатор назначается статически перед стартом сети. Сделал, все узлы стали равноправными. Работало нормально только если все узлы находились рядом (каждый узел был в пределах прямой (без ретрансляций) радиослышимости любого другого узла сети). Если случалось так, что хотя-бы два узла не слышали друг друга напрямую без ретрансляций, то сеть в процессе работы в конце концов через некоторое время распадалась на две сети, которые не слышали друг друга (каждая со своим координатором). Преодолеть эту проблему не удалось.
|
|
|
|
|
May 20 2016, 09:01
|
Местный
  
Группа: Свой
Сообщений: 202
Регистрация: 18-05-09
Из: Novosibirsk
Пользователь №: 49 204

|
Цитата(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 не может организовывать скаттернет (связь с др. пиконетами).
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|