Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Разработка подобия сенсорной сети
Форум разработчиков электроники ELECTRONIX.ru > Аналоговая и цифровая техника, прикладная электроника > Rf & Microwave Design
Pasha_a13
Добрый день!

Не сразу придумал в какую ветку адресовать вопрос, потому разместил здесь, т.к. это имеет непосредственное отношение к беспроводным технологиям.

Возникла такая проблема - имеется набор устройств соединенных между собой через беспроводной интерфейс.
Устройства это датчики движения, разбития, датчики газа, радиокнопки и т.п.
В качестве радиоинтерфейса используется CC1100-1101, хотя тут не принципиально.
Проблема возникает в том что когда это оборудование устанавливается на реальном объекте то возникают ситуации когда каким-то из датчиков сложно дострельнуть по дальности до центрального приемопередатчика - главного блока беспроводной сети который соединяет ее с остальным оборудованием.
Топология сети получается звезда, датчики работают только напрямую с центральным приемопередатчиком.
В связи с этим возникла идея немного видоизменить топологию сети - добавить в датчики простые функции маршрутизации типа переадресации пакетов на центральный блок, ну или, в идеале (для большой сети датчиков когда многие датчики не могут добивать до центрального блока) добавить возможность выбора оптимального маршрута от дальних датчиков до центрального блока по цепочке датчиков.
Сделать что-то наподобии маршрутизации в TCP/IP.

Сталкивался ли кто-то с подобной задачей?
Если кто-то сталкивался, то подкажите пожалуйста в какую сторону двигаться чтобы не изобретать велосипед.

Рассматривал протокол ZigBee , но не нашел довольно подробного описания по самой маршрутизации, только довольно обобщенные сведения, которые не ответили на ряд вопросов.
Датчики в большинстве своем будут иметь довольно емкий источник питания потому вопрос спящих режимов, пробуждения по событию и т.п. пока не стоит.
Понимаю что нужно связываться наверное с таблицами маршрутизации, постоянно корректировать их, вообщем объем работы получается очень и очень немаленький по разработке всего этого.

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

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

Подскажите пожалуйста свои соображения по этому поводу.

Спасибо!
kovigor
Цитата(Pasha_a13 @ Mar 23 2013, 22:50) *
Рассматривал протокол ZigBee , но не нашел довольно подробного описания по самой маршрутизации, только довольно обобщенные сведения, которые не ответили на ряд вопросов.

Насколько я знаю, ZigBee как раз для этого. Поищите Олифера "Компьютерные сети", только ищите новое издание, там это должно быть. Ну и на http://www.citforum.ru зайдите ...
Pasha_a13
Цитата(kovigor @ Mar 23 2013, 22:32) *
Насколько я знаю, ZigBee как раз для этого. Поищите Олифера "Компьютерные сети", только ищите новое издание, там это должно быть. Ну и на http://www.citforum.ru зайдите ...

Спасибо! посмотрю.
Нашел протокол FirTwig (http://firtwig.ru/items/139) - вот что-то типа такого я думал реализовать, там как раз маршрутизация строиться по принципу слышимости устройств друг другом.
Lakotel
Вам нужен ZigBee, но только на 868MHz. Гляньте на AT86RF212, стек BitCloud и контроллеры Atmel кои он с этим трансивером поддерживает.
Pasha_a13
Цитата(Lakotel @ Mar 24 2013, 19:30) *
Вам нужен ZigBee, но только на 868MHz. Гляньте на AT86RF212, стек BitCloud и контроллеры Atmel кои он с этим трансивером поддерживает.

Спасибо! Я посмотрю на стек BitCloud. Дело в том что реализовать мне это нужно на уже имеющейся базе, т.к. железо переделывать возможности нет, нужно доработать программно уже имеющееся.
Так что нужно пробовать это реализовать на базе CC1101+MSP430.
Сейчас выискиваю по кускам информацию относительно того как в ZigBee и simpliciTI осуществляется маршрутизация.
Случайно наткнулся тут на форуме на ветку где задавались вопросы и участник форума писал что вроде возможно реализовать динамическую маршрутизацию на simpliciTI. Только вот пока непонятно удалось ли ему это.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.