Самодельная РЛС (радио локационная станция) для сетей WiFi

Discussion in 'Беспроводные технологии/Wi-Fi/Wardriving' started by zuriuslev, 17 Jan 2013.

  1. zuriuslev

    zuriuslev Member

    Joined:
    24 Dec 2011
    Messages:
    142
    Likes Received:
    19
    Reputations:
    20
    У меня дома завалялся микроконтроллер msp430 Launchpad это примерно то-же, что широко известный в народе Arduino и микро серво моторчик MG90S

    [​IMG]
    Есть домашний WiFi роутер TPLINK TL-MR3220 на котором крутится OpenWRT.

    Для начала, я сделал поворотное устройство для антенны с управлением из WWW интерфейса OpenWRT.
    Пользователи OpenWRT, дожны заметить, что появилась новая вкладка "Antenna" со слайдером.
    Двигая слайдер, можно поворачивать антенну.
    [​IMG]
    Это происходит примерно так.
    1. При движении слайдера на вкладке "Antenna", выполняется скрипт, который пишет комманду в /dev/ttyACM0.
    2. На роутере или домашнем компе, наш Launchpad, виден как USB Serial порт /dev/ttyACM0.
    Пишем туда циферки от 0 до 176.
    3. На микроконтроллере msp430 Launchpad работает скетч, который слушает комманды из сериального порта,
    получив комманду, серва поворачивает антенну на нужный угол.

    Крепление поворотного устройства сделано из пластиковых труб и позволяет монтировать его
    на внешей мачте или на настольной подставке.
    [​IMG]
    [​IMG]

    Всё это конечно хорошо ... НО ! МАЛОВАТТО !
    Делаем "радар" :)

    Происходит всё так -
    Поворачиваем антенну на 1 градус.
    Делаем SCAN
    Записываем результаты в таблицу MySQL.

    Для этого написан шелл скрипт и программу на С.
    Code:
    ST=1 
    MIN=0 
    MAX=170 
    echo 90  > /dev/ttyACM0			# Поворот на 90 градусов для калибровки 
    sleep $ST 
    (( i = $MIN )) 
    while [ $i -lt $MAX ]  ; do		# Вертим антенну от MIN до MAX с шагом 1 градус
        echo $i > /dev/ttyACM0		# Это комманда на поворот  sleep $ST   
    /usr/bin/iwinfomy wlan1 $i	# Программа на С сканирует сети и записывает результат в MySQL
        (( i++ )) 
    done
    Такой цикл выполняется примерно за 18 минут. Если потом медленно вертеть обратно, то 35 минут.
    Так я и сделал. Прогнал 5 циклов туда и обратною. Т.Е примерно на 3 часа работы.
    Нашлось 253 точки доступа.

    Теперь у меня есть база данных и я могу делать любые выборки и анализировать данные.
    Написал скрипты выборки и с помощю GNUPLOT нарисовал графики.
    [​IMG]
    [​IMG]
    Пробовал генерировать графики в полярных координатах, но пока получается хуже чем эти ... :rolleyes:

    Все это может успешно работать на роутере и на компе с Linux
     
    5 people like this.
  2. теща

    теща Экстрасенс

    Joined:
    14 Sep 2005
    Messages:
    2,027
    Likes Received:
    526
    Reputations:
    285
    статейка гуд! + в репу , как то надо будет попробовать повторить .
     
  3. zuriuslev

    zuriuslev Member

    Joined:
    24 Dec 2011
    Messages:
    142
    Likes Received:
    19
    Reputations:
    20
    Спасибо всем за плюсы :)

    Если кто-то захочет повторить конструкцию.
    Пишите, задавайте вопросы.
    С удовольствием поделюсь исходниками программ, написанных для этой конструкции.

    P.S.
    Использованная серва, явно слабовата для данной конструкции.
    Просто другой под руками не было.
    Заказал на ебее серву покрупнее - MG996R .
    Когда пришлют, поставлю нп поворотку, антенну Yagi потяжелее и длиннее.
    В идеале, надо делать рупор (без заднего лепестка)
    Антенна которая сейчас стоит, выбрана из соображений минимальной парусности и веса.