Расстояние от "базы"

Тема в разделе "Arduino & Shields", создана пользователем NewBot, 1 июн 2012.

  1. NewBot

    NewBot Нуб

    Имея модули xBee, возможно ли мне, рассчитать расстояние между базой и дунькой(интересует на сколько метров уехал питомец)? Что еще понадобится, если модулей хБи(для получения этих данных) будет недостаточно?
    Как получить(измерить) данные по уровню мощности сигнала между двумя модулями хБи(чтоб за стенами не терялся)?
    Теоретически это возможно, практически - если кто делал, подскажите, с чего начать или где копать...!?

    тут кое чего нашел: Методы TOA (Time Of Arrival) и TDOA (Time Difference Of Arrival) основаны на измерении времени распространения сигнала от передатчика до приемника так, чтобы, на его основе можно было рассчитать расстояние между передатчиком и приемником. В методе TOA время распространения вычисляется как разность времен отправки сигнала передатчиком и према сигнала приемником для чего требуется очень точная синхронизация часов отправителя и получателя. Метод TDOA более практичен, так в нем измеряется время распространеия от передатчика к приемнику и обратно по часам передатчика, т.е. не требуется синхронизации часов. Таким образом можно так-же вычислить - в какую сторону движется (на базу или от базы), а если пикрутить к этим данным данные с компаса.... :)
    И эту штуку я проморгал: В XBee™ на уровне API (Application Programming Interface) доступна индикация силы сигнала RSSI (Received-Signal Strength Indication). Поэтому использование RSSI для локализации в беспроводных сетях на передатчиках XBee™ не требует разработки специальных схемных дополнений.
    Уполз реализовывать...
     
  2. NewBot

    NewBot Нуб

    Сделаю АП темы, т.к. вчерашний вечер прошел в поисках решения данной задачи БЕЗРЕЗУЛЬТАТНО...
    Имея модули XBP24BZ7, захотел получать данные (с модуля) по уровню сигнала RSSI на ноутбук и обрабатывать процессингом.
    В поиске простейшего решения (в виде готовой библиотеки для процессинга, которая работала бы на уровне самих модулей ХВее никаким образом не затрагивая дуньку), наткнулся на решение(библиотеку) http://code.google.com/p/xbee-api/ несколько часов плясок с бубном понадобилось, что бы понять, что со второй (S2B) версией pro ХВее модулей ничего не выйдет... к сожалению проект не поддерживается 2009г.
    (и еще не покидает мысль, что возможно, в настройках самих ХВее нужно покапаться... но пока для меня - тёмный лес)

    Т.к. я еще далеко не программер (програмированием на процессинге занялся с момента доставки матрёшки) - просьба помочь с кодом для "выцарапывания" данных rssi из модуля XBee pro s2b в Процессинг. (на уровне API дёргать нужное, пока что неизвестное мне значение rssi)

    Да, и я часто натыкался на Русскоязычные материалы посвященные данной тематике(расчёт расстояния и уровня сигнала модулями зигби), где конкретно говорилось как получают и обрабатывают нужные мне данные, но нигде не описывалось каким образом и при помощи чего (а уж было бы совсем замечательно с отрывками кода:)) они это делают!?
    http://jre.cplire.ru/jre/jun11/4/
    http://www.wireless-e.ru/articles/diapasons/2008_3_52.php
    http://www.wireless-e.ru/articles/diapasons/2008_3_48.php

    з.ы.
    А на днях, пойду в обход "кривым путём" - реализую задуманное через 6`ую ногу модуля ХВее (RSSI PMW0 Output), подключив её к ардуинке, что значительно увеличит погрешность...
     
  3. NewBot

    NewBot Нуб

    Мыслей не у кого никаких нет? Никто не выводил данные силы сигнала на комп???
    Может форум какой подскажите (Русскоговорящий), где можно покурить данную проблемку!?
     
  4. Корней

    Корней Гик

    И в описании модуля XBee (на сайте разработчика Xbee), нет никаких AT-команд для получения RSSI?
     
  5. NewBot

    NewBot Нуб

    Есть http://www.connectblue.com/fileadmi...02.15.4/802.15.4_AT_Command_Specification.pdf
    Если подскажите, как с их помощью выцарапывать данные в процессинг, буду благодарен!!!
    У меня "стойкая" мысль есть, что АТ коммандами это не правильно, на уровне фреймов должно быть...
     
  6. NewBot

    NewBot Нуб

    If you are transmitting with the AT modem commands, you can use the ATDB command.
    From the XBEE manual:
    - DB (Received Signal Strength) Command
    <Diagnostics> DB parameter is used to read the
    received signal strength (in dBm) of the last RF
    packet received. Reported values are accurate
    between -40 dBm and the RF module's receiver sensitivity.
    Absolute values are reported. For example: 0x58 = -88 dBm (decimal). If no packets have been
    received (since last reset, power cycle or sleep event), “0” will be reported.

    If you are transmitting using the xbee API, then
    For the 64bit Rx(Receive) packet the RSSI is contained in the 13th byte
    For the 16bit Rx(Receive) packet the RSSI is contained in the 7th byte

    If you have two XBEEs, called them A and B, and you are attached to A, to get the RSSI of talking to B, you need to get B to send you an API packet

    Не хватает мне понимания, вышеописанного...
     
  7. Корней

    Корней Гик

    http://ftp1.digi.com/support/documentation/90000976_K.pdf

    В API интерфейсе используется понятие AT Command API frame. Поэтому вне зависимости от режима transparent/API придется слать АТ-команду. Согласно документации еще есть вывод на Xbee модуле, передающий RSSI посредством PWM.
     
  8. NewBot

    NewBot Нуб

    Спасибо, сейчас этот пдф "покурю"...
    Да, 6ая нога