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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Соединить 20-30 устройств по радио-каналу., Нужен совет по выбору протокола...
plombir
сообщение May 14 2006, 20:40
Сообщение #1


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

Группа: Участник
Сообщений: 99
Регистрация: 14-12-05
Пользователь №: 12 191



Всем доброго дня.
Где эту тему положить не нашёл, но так как основная часть будет сделана на AVR выкладываю здесь.

Решил взяться за проект: 20-30 устройств, связь между ними по радио-каналу, заложился на частоту 430-465MHz (или ~900MHz резерв), растояние между устройствами 50-150м, максимальное удаление между крайними 2км. Где то, примерно в центре есть головное устройство.
Задача: постоянный сбор данных со всех устройств на головное.
Время цикла: максимум в 10 секунд надо уложиться.
Трудности: исходя из разрешённой мощности передатчиков + железо вокруг + помехи - крайние устройства не могут связатся на прямую с головой. Необходима ретрансляция. Возможно двойная или тройная.

Господа! Посоветуйте протокол для данной задачи, т.е. логический уровень. Возможно, есть уже такое. Достаточно будет названия его.
С физической реализацией данной задачи проблем не возникнет.
Go to the top of the page
 
+Quote Post
Dir
сообщение May 14 2006, 21:01
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 201
Регистрация: 6-01-05
Пользователь №: 1 830



Если бы не частота 430МГц, то все идеально на Zigbee ложится. Причем как раз на ATmega128 и Чипконовском CC2420 есть много Reference Note. Иди на www.ti.com (или www.chipcon.com) и там смотри все.

PS. Да, частота 2,4ГГц
Go to the top of the page
 
+Quote Post
_artem_
сообщение May 14 2006, 21:01
Сообщение #3


учащийся
*****

Группа: Свой
Сообщений: 1 065
Регистрация: 29-10-05
Из: города контрастов
Пользователь №: 10 249



Ну тогда тебе надо чтото вроде интернета сварганить ) То есть каждое устойство должно содержать рутинг тейбл .
Это на самом нижнем уровне . То есть физически на каждом приемопередатчике жестко должны быть поставлены кто кого видит а если не видит то на кого надо послать который или видит или же видит того который знет кто его видет ))
(или возможно динамическое кофигурирование этого по какому то заумному алгоритму в момент включения - но это немного трудно и требуется времюа чтобы довести все это до ума для работы без конфликтов).
Немного сумбурно получилось но если надо разясню на примере но не сегодня.


--------------------
Зачем лаять на караван , когда на него можно плюнуть?

Go to the top of the page
 
+Quote Post
viakon
сообщение May 15 2006, 04:38
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 290
Регистрация: 9-12-05
Из: г. Пермь
Пользователь №: 12 002



Какая мощность разрешена? Главное здесь будет удаление от базы до объекта. Как показывает опыт 2вт в городских условиях на указанном диапазоне, FFSK модуляция, 1200 бод с коррекцией ошибок, вполне стабильно работает на 2 км. А если у тебя еще и направленные антенны будут то гораздо больше.
Go to the top of the page
 
+Quote Post
Harbinger
сообщение May 15 2006, 05:43
Сообщение #5


старший лаборант
******

Группа: Свой
Сообщений: 2 702
Регистрация: 30-09-05
Из: ЮЗЖД
Пользователь №: 9 097



15 мВт - 9 км с Yagi на крышах зданий, 12kBps (эмулятор телефонной линии с модемом). Так что резервы здесь имеются.


--------------------
Китайская комплектация - европейское качество! ;)
Go to the top of the page
 
+Quote Post
vesago
сообщение May 15 2006, 12:44
Сообщение #6


Тутэйшы
****

Группа: Свой
Сообщений: 708
Регистрация: 30-11-04
Пользователь №: 1 263



Пример реализации http://aly.projektas.lt/Projects/SimpleRFNet/ Правда под ваши параметры не совсем пойдет. Но может что-то почерпнете.
Go to the top of the page
 
+Quote Post
Yura_K
сообщение May 15 2006, 13:53
Сообщение #7


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

Группа: Свой
Сообщений: 185
Регистрация: 5-05-06
Из: Ekaterinburg, Russia
Пользователь №: 16 821



Цитата
протокол для данной задачи, т.е. логический уровень

А может взять как в Ethernet по MAC адресам. Там вроде тоже все абоненты на одной шине. Или как в Token Ring передавать маркер.

Сообщение отредактировал Yura_K - May 15 2006, 13:55


--------------------
Чудес не бывает - бывает мало знаний и опыта!
Go to the top of the page
 
+Quote Post
AndreyMS
сообщение May 15 2006, 14:43
Сообщение #8


Участник
*

Группа: Свой
Сообщений: 30
Регистрация: 25-04-05
Из: г. Воронеж
Пользователь №: 4 484



Может вот это поможет?
Go to the top of the page
 
+Quote Post
rezident
сообщение May 15 2006, 14:57
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



У людей в радиомодемах Спектр433 задача ретрансляции решена. До 8 устройств в цепочке. Гляньте пользовательский мануал, может на нужную мысль натолкнет?
http://www.rateos.ru/spectr433.shtml
Go to the top of the page
 
+Quote Post
plombir
сообщение May 15 2006, 19:56
Сообщение #10


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

Группа: Участник
Сообщений: 99
Регистрация: 14-12-05
Пользователь №: 12 191



Благодарю Всех кто откликнулся.
Пока, без комментариев...
Сижу, информацию перевариваю... smile.gif
Go to the top of the page
 
+Quote Post
Karl
сообщение May 16 2006, 03:47
Сообщение #11


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

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



Посмотри микросхему nRF24AP1. Это однокристальный трансивер с интегрированным протоколом ANT. Протокол ANT позволяет организовать беспроводные сети сложного типа с динамической конфигурацией.
Go to the top of the page
 
+Quote Post
viakon
сообщение May 16 2006, 04:21
Сообщение #12


Местный
***

Группа: Участник
Сообщений: 290
Регистрация: 9-12-05
Из: г. Пермь
Пользователь №: 12 002



Цитата(Yura_K @ May 15 2006, 18:53) *
А может взять как в Ethernet по MAC адресам. Там вроде тоже все абоненты на одной шине. Или как в Token Ring передавать маркер.

В локальной сети все устройства должны слышать друг друга, с радиоканалом это не пройдет. или придется все устройства делать роутерами, что увеличит сложность софта. проще жестко в пакете задавать путь ретрансляции. при таких расстояниях врядли более 1-го ретранслятора (точнее эхорепитера) в пути до базы понадобится. Однако это сразу резко снизит скорость опроса.
Go to the top of the page
 
+Quote Post
Yura_K
сообщение May 16 2006, 14:03
Сообщение #13


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

Группа: Свой
Сообщений: 185
Регистрация: 5-05-06
Из: Ekaterinburg, Russia
Пользователь №: 16 821



Цитата(viakon @ May 16 2006, 07:21) *
Цитата(Yura_K @ May 15 2006, 18:53) *

А может взять как в Ethernet по MAC адресам. Там вроде тоже все абоненты на одной шине. Или как в Token Ring передавать маркер.

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

Мда, действительно. Тогда можно определить статический маршрут. Ведущее устройство (база) отправляет по этому маршруту маркер, а ведомое, захватившее маркер отвечает. Маршрут кольцевой, можно даже несколько конфигураций таких маршрутов. Скорость опроса конечно упадет.


--------------------
Чудес не бывает - бывает мало знаний и опыта!
Go to the top of the page
 
+Quote Post
plombir
сообщение May 19 2006, 18:48
Сообщение #14


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

Группа: Участник
Сообщений: 99
Регистрация: 14-12-05
Пользователь №: 12 191



Всех благодарю за ответы!
Решение у меня принято. Протокол собственный. Прикинул его на бумаге - вроде получается. Инициализация устройств с их последующей маршрутизацией. Всего, взято по немногу от всех протоколов. От tcp/ip, от сотовой связи, от Зеленоградцев (spectr433), от множества протоколов на 2,4ГГц + от старых протоколов забытых в Советское время.
В трансивер заложил м/с гибридного трансивера на 433Mhz, в качестве драйвера slave mega8, для master mega64 т.к. озу, по расчётам вычисления оптимального маршрута с таблицей всех адресов - требуется прилично.
Ещё раз, всем спасибо!
Go to the top of the page
 
+Quote Post
defunct
сообщение May 21 2006, 21:15
Сообщение #15


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(plombir @ May 19 2006, 21:48) *
В трансивер заложил м/с гибридного трансивера на 433Mhz, в качестве драйвера slave mega8, для master mega64 т.к. озу, по расчётам вычисления оптимального маршрута с таблицей всех адресов - требуется прилично.
Ещё раз, всем спасибо!


Непонятно откуда там взялись вычисления маршрута... Ведь маршрут можно прокладывать на ходу по мере необходимости без всяких расчетов... Тем более что радоисеть этому сопутствует. Маршрутизацию в радиосети можно свести к тупой ретрансляции по тому же каналу. Устройств по вашим словам 20-30, соответсвенно у каждого устройства есть свой номер, требующий не более 1 байта.. Таблица канальных маршрутов здесь совершенно не нужна, т.к. в таблице обычно прописывается номер канала по которому требуется перенаправлять сообщение, а каналов у вас всего 1 (или 2 если используются направленные антены, но и здесь тоже нет никаких затруднений с выбором канала).

Алгоритм адаптивного прокладывания маршрута может быть таким:

В пакет можно заложить адрес получателя 1 байт и адрес передатчика 1 байт, а также номер сообщения (16-32 байт), для пресечения повторной обработки пакета.
Каждый узел сети представить потенциальным ретранслятором.
Каждый ретранслятор должен дописывать к пакету свой номер, чтобы исключить закольцовку и зацикливание сообщения, что может привести к бесконечному блужданию сообщения по сети. (дописывать номер предпочтительнее чем вводить поле TTL, как в IP, в следствии того что узлов в сети не так много и пакет сильно раздуть не получится, зато 100% пресечение повторов гарантировано).
При приеме пакета, ретранслятор должен анализировать пройденный пакетом маршрут, и если пакет еще не проходил через этот ретранслятор, тогда одно из двух или ретранслировать сообщение (дописав свой номер) или обработать (если номер получателя совпадает с номером получателя).
После обработки сообщения, занести в таблицу "мертвых" пакетов номер сообщения и адрес отправителя из полей пакета, на случай если этот же пакет придет к получателю другим маршрутом.

Таблица "мертвых" пакетов, будет не очень большой, она будет ограничена максимально возможным временем доставки пакета, которое в вашей сети будет не сильно большим (на мой взгляд не более 1 с). Заполнять таблицу "мертвых" пакетов можно циклически (обычный кольцевой буфер).

Такая организация конечно немного повысит нагрузку на сеть, однако добавит надежности вашей системе, по сравнению с организацией в которой для передачи сообщения между двумя узлами используется строго один PTP маршрут.
Go to the top of the page
 
+Quote Post
plombir
сообщение May 23 2006, 06:07
Сообщение #16


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

Группа: Участник
Сообщений: 99
Регистрация: 14-12-05
Пользователь №: 12 191



2 defunct!
Интересный вариант. Над ним стоит подумать.

А идея с маршрутом у меня такая получилась:
Мах узлов 32. Пакет: [заголовок][адр. кому][адр. от кого][данные][crc]. Обязательное условие передачи - подтверждение приема пакета.
Любой обмен начинает только мастер. Узел-ретранслятор работает по тупому алгоритму, не думая ни о чём. В [данных] как Вы и написали, будет весь маршрут прописан, но узел точно знает к кому следующему ему обращаться.
При инициализации (поиску всех узлов) каждый возвращает номера всех кого услышал (32 адреса). На мастере создается матрица 32х32. И если надо запросить узел, по ней логически вычисляется самый короткий маршрут (минимальное число ретрансляций). Если пакет не проходит - помечается в матрице ошибка на узле. И в другой раз ищется другой маршрут.

Я в первом посте не смог все тонкости задачи описать. Они позднее появились. Узлы со временем могут пропадать и появляться новые. И постоянного адреса у них может не быть (менталитет пользователя), но даже через него должна ретрансляция работать. И ещё, связь по разным причинам может становится то хуже то лучше. Поиск всех узлов получается процесс постоянный (раз в 30-60 секунд например).
Go to the top of the page
 
+Quote Post
_artem_
сообщение May 23 2006, 07:32
Сообщение #17


учащийся
*****

Группа: Свой
Сообщений: 1 065
Регистрация: 29-10-05
Из: города контрастов
Пользователь №: 10 249



при соединении узлов было бы хорошо вычислять BER и мошность принятого сигнала (если чип позволяет это сделать) а затем использовать эти данные при выборе маршрута.


--------------------
Зачем лаять на караван , когда на него можно плюнуть?

Go to the top of the page
 
+Quote Post
defunct
сообщение May 23 2006, 07:59
Сообщение #18


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(plombir @ May 23 2006, 09:07) *
Я в первом посте не смог все тонкости задачи описать. Они позднее появились. Узлы со временем могут пропадать и появляться новые. И постоянного адреса у них может не быть (менталитет пользователя), но даже через него должна ретрансляция работать. И ещё, связь по разным причинам может становится то хуже то лучше. Поиск всех узлов получается процесс постоянный (раз в 30-60 секунд например).

С таким изменением условия, считаю, что адаптивное прокладывание маршрутов будет уместней жесткого PTP, т.к. снизится влияние пропадания узлов (все возможные маршруты будут использоваться), а также проще будет реализовать рассылку BROADCAST сообщений. Дублирование номеров (адресов) узлов конечно крайне нежелательно.
Go to the top of the page
 
+Quote Post
plombir
сообщение May 24 2006, 03:38
Сообщение #19


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

Группа: Участник
Сообщений: 99
Регистрация: 14-12-05
Пользователь №: 12 191



Цитата(_artem_ @ May 23 2006, 11:32) *
при соединении узлов было бы хорошо вычислять BER и мошность принятого сигнала (если чип позволяет это сделать) а затем использовать эти данные при выборе маршрута.

В выбраном трансивере гарантируют скорость 100кб/с (ЧМ) максимум до 500кб/с. Там есть выход уровня несущей. Можно к нему АЦП подключить и мерить. C битовыми ошибками - сложнее. Если прикинуть АЦП в AVR (mega8 + ZQ11.0592) однократное измерение + небольшие вычисления 200-250мкс. За это время получится пакет принять. И не очень хотелось бы усложнять всю конструкцию.
Испытания готовой системы на обьекте покажут, хватит ли ему определений принял/не принял данные. А если этого будет не достаточно, то придётся усложнять алгоритм.
Go to the top of the page
 
+Quote Post
plombir
сообщение May 24 2006, 04:27
Сообщение #20


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

Группа: Участник
Сообщений: 99
Регистрация: 14-12-05
Пользователь №: 12 191



Цитата(defunct @ May 23 2006, 11:59) *
С таким изменением условия, считаю, что адаптивное прокладывание маршрутов будет уместней жесткого PTP, т.к. снизится влияние пропадания узлов (все возможные маршруты будут использоваться), а также проще будет реализовать рассылку BROADCAST сообщений.

Если я правильно понял, под "Алгоритмом адаптивного прокладывания маршрута" подразумевается, что все узлы которые приняли пакет от мастера начинают его передавать дальше другим, не зная слышат его или нет. Или, данному узлу найти всех кто его слышит игнорировав повторы и только им передавать, не зная дойдёт ли пакет до адресата.
Если представить всю сеть как линия, где то в середине мастер находится, то сигнал пойдёт и вправо и влево. И крайние от мастера при передачи начнуть друг другу мешать, не подозревая о том.
Цитата(defunct @ May 23 2006, 11:59) *
Дублирование номеров (адресов) узлов конечно крайне нежелательно.

От дублирования адресов узлов, в сам адрес добавлено избыточных 2 байта случайно сгенер. числа (rnd). Получилось что адрес любого узла в системе 4 байта. 2(rnd) + 2(заданных в ручную).
Go to the top of the page
 
+Quote Post
defunct
сообщение May 24 2006, 05:56
Сообщение #21


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(plombir @ May 24 2006, 07:27) *
Если я правильно понял, под "Алгоритмом адаптивного прокладывания маршрута" подразумевается, что все узлы которые приняли пакет от мастера начинают его передавать дальше другим, не зная слышат его или нет.

Именно. И если его хоть кто-то слышит, то этот кто-то и будет в ответе за дальнейшую судьбу сообщения.

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

Цитата
Получилось что адрес любого узла в системе 4 байта. 2(rnd) + 2(заданных в ручную).

Нормальное решение, сразу закладываете возможность расширения, это хорошо.
Go to the top of the page
 
+Quote Post
KWTR
сообщение Nov 30 2006, 10:22
Сообщение #22





Группа: Новичок
Сообщений: 6
Регистрация: 30-11-06
Пользователь №: 22 939



Не обязательно прибегать к ретрансляции. На 433МГц 2км вполне реально - при использовании а)пассивных направленных антенн в хорошим усилением + дополнительный внешний МШУ на входе приёмника
б)активных направленных антенн с большим усилением.

Задавайте вопросы на censored
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Nov 30 2006, 17:03
Сообщение #23


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(Клуб Wireless-Tech.RU @ Nov 30 2006, 10:22) *
Не обязательно прибегать к ретрансляции. На 433МГц 2км вполне реально - при использовании а)пассивных направленных антенн в хорошим усилением + дополнительный внешний МШУ на входе приёмника
б)активных направленных антенн с большим усилением.

Задавайте вопросы на censored


Не совсем в тему, но, поскольку у меня вообще нет опыта в данной сфере то, какой приёмопередатчик кто посоветует. Расстояние до 150м прямая видимость внутри здания. С одной стороны - комп. Скорость нужна приличная, не менее 9600. Соединение на замену rs485. Желательно высокая устойчивость связи и минимальность внешней обвески. Можно готовое ус-во. Но только опробованное лично.
Go to the top of the page
 
+Quote Post
bloodden
сообщение Dec 7 2007, 08:09
Сообщение #24


Бывалый
***

Группа: Validating
Сообщений: 375
Регистрация: 19-10-05
Из: Kiev, UA
Пользователь №: 9 853



CC1100 - самый оптимальный выбор. Это моё личное мнение.


--------------------
Заходите кому надо на мой сайт
Go to the top of the page
 
+Quote Post
Muadib
сообщение Dec 30 2007, 21:53
Сообщение #25


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 10-12-07
Пользователь №: 33 170



Сдесь схожая тема http://forum.roboclub.ru/IPBoard/index.php...cc1100&st=0
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 30 2007, 22:08
Сообщение #26


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(plombir @ May 14 2006, 22:40) *
но так как основная часть будет сделана на AVR выкладываю здесь.

Железнгая логика sad.gif. Наверное паять будете? Тогда в "Пайку, Монтаж,.." поместить можно smile.gif.
Перенес к беспроводным интерфейсам....


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post

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

 


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


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