реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Сеть с 30 модулей XBee Pro
Alex_1811
сообщение Mar 2 2011, 09:14
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 178
Регистрация: 31-10-06
Из: Яблунець
Пользователь №: 21 821



Поставили мне такую задачу.
Есть цех в котором будет стоять около 25 устройств.
Каждое устройство будет управляться своим пультом.
Вопрос: как мне организовать связь на модулях XBee Pro чтобы они не мешали друг другу.
Заранее все спасибо.

P.S. Разнести по каналам не вариант.
Go to the top of the page
 
+Quote Post
Bakradze
сообщение Mar 2 2011, 09:17
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 432
Регистрация: 17-12-09
Пользователь №: 54 306



Сообщение начинать с позывного, у каждого устройства свой позывной. Услышав свой позывной - устройство готовится к приему последующей информации...
Go to the top of the page
 
+Quote Post
Alex_1811
сообщение Mar 2 2011, 09:26
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 178
Регистрация: 31-10-06
Из: Яблунець
Пользователь №: 21 821



Цитата(Bakradze @ Mar 2 2011, 13:17) *
Сообщение начинать с позывного, у каждого устройства свой позывной. Услышав свой позывной - устройство готовится к приему последующей информации...

А как быть если одновременно подается команда с 20 пультов?
Go to the top of the page
 
+Quote Post
Bakradze
сообщение Mar 2 2011, 09:35
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 432
Регистрация: 17-12-09
Пользователь №: 54 306



Ну, надобно установить порядок в этом...За пультом люди сидят?

Какова вероятность, что с все 20 (ну или хотя бы больше одного) пультов начнут передачу?

Сообщение отредактировал Bakradze - Mar 2 2011, 09:40
Go to the top of the page
 
+Quote Post
Alex_1811
сообщение Mar 2 2011, 09:51
Сообщение #5


Частый гость
**

Группа: Участник
Сообщений: 178
Регистрация: 31-10-06
Из: Яблунець
Пользователь №: 21 821



Цитата(Bakradze @ Mar 2 2011, 13:35) *
Ну, надобно установить порядок в этом...За пультом люди сидят?

Какова вероятность, что с все 20 (ну или хотя бы больше одного) пультов начнут передачу?

1. Пульт держит в руках человек. Передача может быть в обеих направлениях (команда с пульта или устройство может передавать данные о текущем состоянии).

2. Одновременная передача очень даже возможна. На реальных устройствах на такие грабли уже наступали.
Go to the top of the page
 
+Quote Post
Chapt
сообщение Mar 2 2011, 16:08
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 80
Регистрация: 1-02-10
Пользователь №: 55 217



Сразу в голову пришло 2 варианта:
Считаем что все устройства имеют свой "позывной" ну или свой адрес.
1. Передача данных на пульт о состоянии только по запросу - пока не пришел запрос с пульта, все устройства молчат. Пришел запрос на устройство - устройство передало данные состояний. Соответственно пульт в определенный интервал времени опрашивает все устройства. (Что то подобное реализовано в манчестере.)
2. Передача данных по разрешению: перед передачей данных о состоянии устройство посылает разрешающий запрос, после чего пульт блокирует передачу данных со всех устройств, кроме приславшего запрос, отсылает устройству разрешение на передачу и принимает данные, после чего отменяет запрет.

Сообщение отредактировал Chapt - Mar 3 2011, 07:20
Go to the top of the page
 
+Quote Post
KARLSON
сообщение Mar 2 2011, 19:14
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 604
Регистрация: 5-05-06
Из: Нижегородская обл.
Пользователь №: 16 819



А что если протокол построить по следующему принципу? Перед посылкой проверять чистоту эфира. Первый байт адрес. Слейв отслеживает свой адрес и принимает что нужно. Если несколько мастеров одновременно передают адреса, то принятым адресом будет наименьший. Было бы ещё проще, если передатчик смог сразу проверить что он в эфир отправил. Упрощённый пример CAN протокола.
Чистоту эфира определить по тайм аутам, минимальному времени отсутствия эфира. Слейву ещё бы отправлять признак правильности принятия данных, например контрольную сумму.

Сообщение отредактировал KARLSON - Mar 2 2011, 19:15


--------------------
Кризис - это не отсутствие денег, а отсутствие идей! Учитесь и никаких кризисов не будет.
Go to the top of the page
 
+Quote Post
Alex_1811
сообщение Mar 3 2011, 07:16
Сообщение #8


Частый гость
**

Группа: Участник
Сообщений: 178
Регистрация: 31-10-06
Из: Яблунець
Пользователь №: 21 821



Цитата(Chapt @ Mar 2 2011, 20:08) *
Сразу в голову пришло 2 варианта:
Считаем что все устройства имеют свой "позывной" ну или свой адрес.
1. Передача данных на пульт о состоянии только по запросу - пока не пришел запрос с пульта, все устройства молчат. Пришел запрос на устройство - устройство передало данные состояний. Соответственно пульт в определенный интервал времени опрашивает все устройства.
2. Передача данных по разрешению: перед передачей данных о состоянии устройство посылает разрешающий запрос, после чего пульт блокирует передачу данных со всех устройств, кроме приславшего запрос, отсылает устройству разрешение на передачу и принимает данные, после чего отменяет запрет.


Дело в том что для каждого устройства будет свой независимый пульт (20 устр - 20 пультов).
Go to the top of the page
 
+Quote Post
acex2
сообщение Mar 3 2011, 07:29
Сообщение #9


Адепт
****

Группа: Свой
Сообщений: 520
Регистрация: 15-02-05
Пользователь №: 2 656



Смешные вы все.
Все это уже есть в IEEE 802.15.4, который реализован в XBee.
Документацию на модуль почитали бы.
Go to the top of the page
 
+Quote Post
Alex_1811
сообщение Mar 3 2011, 08:26
Сообщение #10


Частый гость
**

Группа: Участник
Сообщений: 178
Регистрация: 31-10-06
Из: Яблунець
Пользователь №: 21 821



Цитата(acex2 @ Mar 3 2011, 11:29) *
Смешные вы все.
Все это уже есть в IEEE 802.15.4, который реализован в XBee.
Документацию на модуль почитали бы.


С XBee до этого дела ни имел вообще.
Скажите, пожалуйста, в какую сторону рыть. Очень нужно.
Go to the top of the page
 
+Quote Post
acex2
сообщение Mar 3 2011, 09:30
Сообщение #11


Адепт
****

Группа: Свой
Сообщений: 520
Регистрация: 15-02-05
Пользователь №: 2 656



Цитата(Alex_1811 @ Mar 3 2011, 11:26) *
С XBee до этого дела ни имел вообще.
Скажите, пожалуйста, в какую сторону рыть. Очень нужно.


Почитайте про адресацию в мануале на модули. По большому счету, вам надо определиться с адресом каждого устройства и при передаче данных указывать какому устройству предназначается пакет. Все остальное сделает реализация MAC в стеке модуля.
XBee в России официально поддерживаются компанией Компэл. Почитайте их статьи на русском тут: http://www.compeljournal.ru/enews/tag/zigbee

Go to the top of the page
 
+Quote Post
Alex_1811
сообщение Mar 3 2011, 10:01
Сообщение #12


Частый гость
**

Группа: Участник
Сообщений: 178
Регистрация: 31-10-06
Из: Яблунець
Пользователь №: 21 821



Цитата(acex2 @ Mar 3 2011, 13:30) *
www.compeljournal.ru/enews/tag/zigbee

Спасибо за линк.

Сеть лучше организовать как "точка - точка" (для каждого "устройство-пульт") или поставить 1 координатор для всех устройств?
Go to the top of the page
 
+Quote Post
Alex_1811
сообщение Mar 3 2011, 11:17
Сообщение #13


Частый гость
**

Группа: Участник
Сообщений: 178
Регистрация: 31-10-06
Из: Яблунець
Пользователь №: 21 821



Вот нашел шикарный документ по XBee.
Прикрепленные файлы
Прикрепленный файл  ZigBee_RUS.pdf ( 457.62 килобайт ) Кол-во скачиваний: 337
 
Go to the top of the page
 
+Quote Post
Alex_1811
сообщение Mar 21 2011, 08:16
Сообщение #14


Частый гость
**

Группа: Участник
Сообщений: 178
Регистрация: 31-10-06
Из: Яблунець
Пользователь №: 21 821



Расскажите пожалуйста как использовать 16 битную адресацию.
При старте программы прописываю устройству MY=0x0001, но после того как он выдает статус что ассоциирован (0x02) MY становится 0xFFFE.
Как правильно инициализировать модем?
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 14:21
Рейтинг@Mail.ru


Страница сгенерированна за 0.01713 секунд с 7
ELECTRONIX ©2004-2016