Блог

  • АЗН-В / ADS-B приемник по технологии SDR

    АЗН-В/ADS-B приемник
    АЗН-В/ADS-B приемник с использованием технологии Software Defined Radio (SDR) (кликните по картинке для увеличения)

    Использование технологии SDR (Software Defined Radio) позволяет работать напрямую с радионесущей уже в домене программного обеспечения. Очевидно, что для профессионального использования необходимо учитывать вопросы электромагнитной совместимости (ЭМС), а говоря проще — воздействия помех со стороны других источников излучения, которые не обязательно должны находиться в этом же диапазоне. Близлежащая ФМ станция может очень просто создать такую помеху, которая повлияет на характеристики обнаружения сигнала сквиттера с борта. И как следствие — необходим входной полосовой фильтр, далее с учетом потерь фильтрации малошумящий усилитель, и так далее. Но в данном случае нас интересует принципиальная организация тракта радиоприема АЗН-В, который нашел воплощение в прототипе который показан на фото. Данный приемник представляет из себя, как говорят в таких случаях, POC: Proof of Concept, доказательство верности концептуальных подходов к реализации, реализуемость ключевых принципов, положенных в основание системы.

    Описание начнем с первого вопроса: в каком виде с борта к нам приходит сигнал сквиттера?

    Сквиттер АЗН-В: Pulse Position Modulation и код Манчестера

    Адресно — навигационная информация с борта как последовательность бит включается в пакет, который излучается бортом как широковещательная (сквиттер) рассылка. Пакет состоит из преамбулы, состоящей из неизменной фиксированной и заранее известной последовательности из 8 бит длительностью 8 мкс и следующих за ней 56 или 112 блоков данных, каждый из которых занимает 8 мкс. Биты данных кодируются кодом Манчестера, который показывает переходы из 0 в 1 или наоборот в исходных данных. Такое кодирование дает следующее:

    • исчезает «постоянная составляющая» в потоке данных (эфир не может передать постоянную составляющую!): если в исходной комбинации преобладают нули или единицы, выходная последовательность все равно будет периодичной и состоять из перемежающихся нулей и единиц;
    • перемежающаяся последовательность содержит информацию о синхронизации, то есть является самосинхронизирующейся.

    Использование кода Манчестера приводит к кодированию местоположением импульса (Pulse Position Modulation, PPM). При скорости передачи 1Мбит/с на несущей  1090 МГц во временном интервале 1 мкс, выделенном для каждого бита, единица будет представлена импульсом 0,5 мкс находящимся в начале этого интервала, нуль будет представлен импульсом 0,5 мкс который будет находиться в конце интервала:

    АЗН-В/ADS-B пакет
    Структура пакета АЗН-В

    Таким образом, в потоке бит данных с частотой 1 МБит/с всегда будут присутствовать импульсы, и только их положение по времени говорит о том, ноль это или единица.

    Теперь немного о преамбуле. Она используется для распознавания начала пакета, поскольку ее битовая структура известна, и к тому же она (как и любая другая правильная синхронизирующая последовательность) не может встретиться в потоке данных, посколькую содержит пропуски в импульсах. По преамбуле в реальном времени идет настройка максимального и минимального уровня сигнала, чтобы адаптироваться под конкретные характеристики образуемой радиолинии борт — земля. Кроме этого, контролируется целостность преамбулы, которая может быть разрушена наложением сквиттера с другого борта. Используя настроенные параметры, приемник использует их для определения порога обнаружения информационных импульсов. При обработке информационных импульсов используются и другие критерии целостности данных, помимо контрольной суммы.

    Proof of Concept: структура прототипа

    Как показано на фото, прототип состоит из следующих узлов: простейшей широкополосной антенны, приемного модуля с антенным входом и USB выходом, который в свою очередь подключен к USB разъему одноплатного компьютера SBC (Single Board Computer).

    Приемный модуль фактически является приемником прямого преобразования и оснащен быстродействующим АЦП с частотой выборки 2 Ms/s. Оцифрованный поток векторных данных I/Q направляется в USB SBC.

    SBC имеет ARM архитектуру и работает под ОС Linux. Входной поток I/Q данных проходит демодуляцию и преобразуется в вещественную форму. ПО обработки содержит отдельный тред (thread), который обеспечивает поиск преамбулы во входных данных в соответствии с описанными критериями, и при нахождении преамбулы декодирует информационную часть пакета, извлекая информацию о номере борта ИКАО, его координатах и скорости. В соответствии с документом RTCA DO-282B, используется Downlink Format (DF) DF=17, предназначенный для АЗН-В. Декодированные SBC выдает по протоколу TCP/IP (желтый Ethernet кабель на фото), где они могут быть использованы в трекинговых системах, мультисенсорных системах наблюдения и КСА УВД/ATC.

    Операционная система и программы обработки располагаются на флеш-карте. Источник питания на фото не показан.

    Тесты

    Собственно говоря, для тестов нашего POC прототип размещается на столе, антенна находится там же, включаем электропитание и наблюдаем на экране что летает сверху. Надо мной (Северо — Запад Москвы) в тот момент летало следующее:

    Лог приемника АЗН-В/ADS-B
    Лог приемника АЗН-В. Показаны все сообщения со всех бортов в порядке поступления

    В данном режиме, приемник АЗН-В просто выводит лог всех сообщений со всех бортов, которые к нему поступили так, как они пришли во времени. Так, например для воздушного судна с адресом ИКАО 42498d показаны сообщения расширенного сквиттера. В другом режиме отображения, который приведен ниже, все данные разнесены по бортам, которые в настоящий момент находятся в зоне действия приемника:

    Координаты АЗН-В/ADS-B
    Список бортов, находящихся в воздухе, с координатами АЗН-В

    Здесь каждой строке соответствует один борт со своим номером рейса, и приведены данные по его скорости, широте и долготе. Параметр Seen показывает на периодичность обновления информации: это таймер, который сбрасывается в ноль каждый раз, когда приходит сообщение. Из списка следует, что для борта с идентификатором 424049 последнее сообщение было 44 секунды назад и он вышел из зоны действия приемника. Для рейсов AFL1422, AFL205 и AFL1123 высокая частота обновления сообщений: их таймеры постоянно сброшены в ноль.

    Есть возможность наложить полученные геодезические данные на карту Google Maps. Например, для борта с адресом ИКАО 42498d, которому соответствует номер рейса AFL521, так выглядит его положение на карте Московской области и даже трек с указанием направления движения:

    Данные приемника АЗН-В/ADS-B, наложенные на карту Google Maps
    Данные приемника АЗН-В, наложенные на карту Google Maps

     

    Таблица справа содержит список всех бортов, находящихся в данный момент в воздухе, в зоне действия приемника АЗН-В.

    Таким образом, наш Proof of Concept подтверждает реализуемость тракта обработки приемника АЗН-В с использованием принципов SDR. Для улучшения характеристик этого приемника, а также для возможности его использования на профессиональном рынке необходимо сделать следующее:

    • добавить входной фильтр и малошумящий усилитель;
    • для зон с высокой интенсивностью полетов использовать многосекторную антенну;
    • использовать дополнительные алгоритмы обработки для дискриминации помех;
    • добавить программный интерфейсный модуль Asterix для сопряжения с КСА УВД;
    • сделать редизайн конструкции для размещения приемника в стандартном конструктиве Евромеханика 3U;
    • добавить функции контроля и управления, в том числе удаленного.

    Но самое главное — работают базовые технологии.

     

     

  • Терракотовая память

    терракотовое-войско

    Как-то давно жил один человек — Ци Шихуанди. Как можно догадаться по его имени, проживал он в Китае. Должность занимал хорошую — Император Поднебесной. Вообще-то императором он себя назначил сам, выиграв в междоусобной войне и сравняв с землей несколько городов. Империю он выстроил по струнке: вся страна была разделена на 36 округов, в каждом из которых он назначал гражданского и военного наместника.

    Ци Шихуанди, вступив в свою ответственную должность, решил что отныне история должна начинаться с него. Поэтому все книги, кроме носящих прикладной характер (по земледелию и медицине) были сожжены. Все трактаты и древние летописи были преданы огню. «В государстве мудрого правителя нет книг и записей на бамбуке, но единой доктриной является закон; нет речений былых правителей, — единственным образцом для подражания являются государственные мужи». Вот как говорил этот мудрый муж! Верховенство закона прежде всего.

    Конечно, появились недовольные, как же без них. Больше всего протестовали ученые. Но для Ци Шихуанди это не было проблемой. По его приказу в 212 году было казнено 460 ученых: их закопали в землю живыми.

    Император считал что будет править вечно. Но, на всякий случай, распорядился похоронить с собой 4000 молодых воинов, если вдруг умрет. Мало ли что? Однако хитрые советники отговорили его от этого блестящего плана и в землю закопали терракотовое войско.

    Эта глиняная армия сделана с ювелирным изяществом. Она просто поражает воображение. Огромное количество мастеров трудилось над ее созданием.

    Чем же все это закончилось? Когда император умер, его смерть скрывали два месяца. Все это время ему носили еду и письма, на которые вместо него отвечали советники. Когда обман вскрылся, начались дворцовые перевороты и борьба за власть. Вся его семья была истреблена.

    Вот я и думаю… когда-то китайцы изобрели фарфор, порох и бумажные деньги. А сейчас крутят отверткой на своих необъятных фабриках за чашки риса. Где продолжатели этих древних открытий? Они так и остались лежать в земле.

     Œ„ž

  • Смотрим Raspberry Pi: часть 3

    Теперь, когда мы немного прояснили с форматами, организуем передачу видеопотока с машины cam, где стоит Rpi, на ноут bingo. Будем смотреть различные варианты транспортных протоколов.

    NetCat

    Поиграем со знаменитой хакерской программой netcat, которая обеспечит TCP транспорт для медиаданных нашей камеры на Rpi.

    Вначале запускаем на ноуте:

    legolas@bingo:~$ nc -l 5555 | ffplay -

    Запись означает, что мы слушаем на порту 5555 (произвольном) и все, что получим по сети, через конвейер передаем на вход плеера. Плеер уже немного другой — ffplay из последней полной версии ffmpeg которую я поставил из исходных кодов, для чистоты эксперимента.

    Как откомпилировать ffmpeg под Убунту подробно написано здесь.

    Далее, запускаем на Rpi:

    pi@cam ~ $ raspivid -t 99999 -w 320 -h 240 -o - | nc bingo 5555

    Здесь поток с видеокамеры через netcat отправляется на порт 5555 ноута bingo и плеер на bingo показывает кино. Отлично.

    По умолчанию netcat использует TCP. Попробуем поменять транспорт на UDP ключом -u:

    legolas@bingo:~$ nc -ul 5555 | ffplay -
    pi@cam ~ $ raspivid -t 99999 -w 320 -h 240 -o - | nc -u bingo 5555

    Опс… картинка разваливается. Не нравится кодеку H264 протокол с негарантированной доставкой пакетов.

    С вариантом TCP транспорта все работает, и формально можно заключить что задачу использования Rpi как клиента мы решили: принимающая сторона (сервер) принимает поток H264 через netcat и плеером смотрит фильм. Однако у этого метода есть существенный недостаток: сервер ничего не знает о параметрах кодека (а их может быть множество). Поэтому о параметрах нужно договариваться заранее, если клиент и сервер полностью под нашим контролем, или использовать один из способов передачи этих параметров. Один из таких способов — протокол SDP, описывающий медиаданные. Следующий шаг — использование SDP совместно с RTP.

    RTP внутри ноута

    RTP работает через UDP, но за счет вставки отметок времени поддерживает поток выровненным на принимающей стороне. Сразу скажу, что трансляция RTP с Rpi на ноут bingo у меня не пошла. Картинка не плеере не появлялась и было много сообщений об ошибках на принимающей стороне. Сразу возникло подозрение на avconv/ffmpeg из пакетов который стоит на Rpi — на ноуте-то я собрал его из исходников, а на Rpi — нет. Остановила необходимость разбираться с кросс-компилятором.

    А пока запускаем RTP локально на ноуте, смотреть будем с его собственной камерой:

    legolas@bingo:~$ ffmpeg -r 25 -s 320x240 -f video4linux2 -i /dev/video0 -vcodec h264 -f rtp -an rtp://bingo:1234

    Пояснения к ключам команды:

    • -r 25 частота фреймов;
    • -s 320×240 размер картинки;
    • — f video4linux2 входной формат видео (raw формат);
    • -i /dev/video0 камера ноута, откуда идет поток;
    • -vcodec h264 камера ноута дает raw формат, поэтому кодируем его со сжатием в h264;
    • -f rtp выходной формат RTP;
    • -an звук не нужен;
    • rtp://bingo:1234 направляем поток RTP на этот адрес:порт (порт произвольный, адрес ноута).

    После запуска ffmpeg выдаст нам данные RTP, которые как раз и нужны принимающей стороне:

    v=0
    o=- 0 0 IN IP4 127.0.0.1
    s=No Name
    c=IN IP4 127.0.1.1
    t=0 0
    a=tool:libavformat 55.36.102
    m=video 1234 RTP/AVP 96
    a=rtpmap:96 H264/90000
    a=fmtp:96 packetization-mode=1

    Сохраняем их в файле laptop.sdp и запускаем плеер с этими параметрами:

    ffplay -i laptop.sdp

    Все нужное для работы плеер берет из SDP файла. Появляется картинка — все работает, трафик RTP крутится локально на ноуте. Здесь мы впервые использовали ffmpeg для перекодирования данных из raw формата в h264. RTP — удобный формат для передачи h264, поскольку слайсы h264 один к одному ложатся в пакеты RTP которые имеют отметку времени.

    Raspivid -> ffmpeg -> RTP

    Вернемся к Rpi и попробуем запустить RTP с этой машины. Для того, чтобы отбросить любые сомнения, компилим ffmpeg под ARM архитектуру для Rpi. Самую краткую и понятную процедуру кросс-компиляции, включая предварительно установку кросс-компилятора и toolchains я нашел здесь. Все работает, только во время конечной сборки появляется ошибка о том, что не найдена библиотека libx264, несмотря на то что она уже скомпилирована и ключи компилятора (сама библиотека и путь к ней) проставлены правильно. Я вылечил это дополнительной опцией -ldl

    Копируем полученные файлы на Rpi и включаем камеру через RTP:

    pi@cam ~/bin $ raspivid -t 999990 -w 320 -h 240 -o - | ./ffmpeg -v info -i - -vcodec copy -an -f rtp rtp://bingo:1234

    Ffmpeg запускается из локального каталога pi/bin, перед этим я удалил все пакеты, связанные с ним. Замечу, что raspivid уже отдает поток в формате h264, поэтому никакого кодирования не требуется: ffmpeg использует простое копирование данных (кодек copy) и только пакует h264 в RTP пакеты. Следует заметить, что в данном режиме загрузка процессора ffmpeg’ом всего около 3%.

    Сформированные данные RTP:

    v=0
    o=- 0 0 IN IP4 127.0.0.1
    s=No Name
    c=IN IP4 192.168.0.29
    t=0 0
    a=tool:libavformat 55.36.102
    m=video 1234 RTP/AVP 96
    a=rtpmap:96 H264/90000
    a=fmtp:96 packetization-mode=1; sprop-parameter-sets=J2QAKKwrQKD9APEiag==,KO4BDyw=; profile-level-id=640028

    Сохраняем их в файле rpi.sdp на ноуте bingo и запускаем плеер:

    legolas@bingo:~$ ffplay -i rpi.sdp

    Все работает. Точно так же принять поток можно и плеером VLC:

    legolas@bingo:~$ cvlc rpi.sdp

    После всего проделанного, можно сделать следующий вывод: никогда не используйте ffmpeg из пакетов, всегда собирайте последнюю версию!

  • Смотрим Raspberry Pi: часть 2

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

    Снимаем кино

    Зайдем на Rpi и сделаем маленький фильм командой

    raspivid -o cam.h264
    pi@cam ~ $ ls -l
    -rw-r--r-- 1 pi pi 10154858 Апр 5 15:12 cam.h264

    В течении нескольких секунд на камере появится красный огонек, и потом появится файл cam.h264. Имя и расширение — совершенно произвольные. Я дал расширение h264 потому что утилита raspivid пишет в формате кодека h264.

    Проверим, в каком формате прошла запись файла (повторю, расширение никакой роли не играет). Вначале очень полезной командой file:

    pi@cam ~ $ file cam.h264 
    cam.h264: JVT NAL sequence, H.264 video @ L 40

    Потом — более специализированной командой avprobe из состава медиабиблиотек libav:

    pi@cam ~ $ avprobe cam.h264 
    avprobe version 0.8.10-6:0.8.10-1+rpi1, Copyright (c) 2007-2013 the Libav developers
     built on Mar 22 2014 02:13:15 with gcc 4.6.3
    [h264 @ 0x1a69660] Estimating duration from bitrate, this may be inaccurate
    Input #0, h264, from 'cam.h264':
     Duration: N/A, bitrate: N/A
     Stream #0.0: Video: h264 (High), yuv420p, 1920x1080, 25 fps, 25 tbr, 1200k tbn, 2400k tbc

    Из этого делаем вывод, что файл действительно записан в формате h264,  размером 1920×1080 (да-да, это Full HD камера, кто бы мог подумать!), частота кадров — 25 в секунду.

    Едем дальше: будем пробовать смотреть наше произведение в видеоплеере. Поскольку мы отказались от дисплея на Rpi, то будем смотреть вывод на своем компьютере bingo. Для этого перезайдем командой

    legolas@bingo ~$ ssh -X pi@cam

    В результате сетевой адрес дисплея моего компьютера bingo (переменная окружения DISPLAY) будет экспортирован на машину cam и все графическое что я буду запускать на cam будет отображаться на bingo.

    Теперь не терпится проиграть этот файл в плеере и посмотреть что сняла камера? Ничего не получится. Запустим mplayer cam.h264 и увидим одну ругань. В чем же дело?

    Кодеки и контейнеры

    Дело в том, что хотя файл содержит полную видеоинформацию о фильме, этого недостаточно. Данные кодека h264 должны быть помещены в контейнер. Контейнер — это нечто, позволяющее внешним программам работать с аудиоданными в упорядоченном режиме. Можно привести аналогию: кодек это куча песка, но чтобы его куда-то отвезти, нужен железнодорожный состав с вагонами. Продолжая аналогию, говорим о том, что вагоны — это фреймы которые содержат данные кодека.

    Для того чтобы сформировать контейнер нам подойдет команда avconv. Она умеет много чего другого, в частности перекодировать видео и аудио с одного формата в другой. Но это нам не нужно: мы просто сохраняем кодек h264 и помещаем его в контейнер mp4. При желании, можно выбрать какой нибудь другой контейнер, например avi. Тип контейнера указывает ключ -f. Командная строка будет выглядеть так:

    pi@cam ~ $ avconv -i cam.h264 -vcodec copy -f mp4 cam.mp4

    Ключ -i указывает на входной файл, опция copy говорит о том что видеоданные перекодировать не нужно и они просто копируются в контейнер cam.mp4. В результате получаем контейнер с данными кодека:

    pi@cam ~ $ ls -l
    -rw-r--r-- 1 pi pi 10154858 Апр 5 15:12 cam.h264
    -rw-r--r-- 1 pi pi 10156809 Апр 5 15:38 cam.mp4
    
    Аналогично, смотрим что за файл получился:
    pi@cam ~ $ file cam.mp4 
    cam.mp4: ISO Media, MPEG v4 system, version 1
    pi@cam ~ $ avprobe cam.mp4
    avprobe version 0.8.10-6:0.8.10-1+rpi1, Copyright (c) 2007-2013 the Libav developers
     built on Mar 22 2014 02:13:15 with gcc 4.6.3
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'cam.mp4':
     Metadata:
     major_brand : isom
     minor_version : 512
     compatible_brands: isomiso2avc1mp41
     encoder : Lavf53.21.1
     Duration: 00:00:00.04, start: 0.000000, bitrate: 2031361 kb/s
     Stream #0.0(und): Video: h264 (High), yuv420p, 1920x1080, 2030971 kb/s, 3575 fps, 1200k tbn, 2400k tbc

    Заметим, что размер контейнера чуть больше чем размер файла кодека. Так и должно быть: вагоны тоже чего-то стоят.

    Берем попкорн и садимся смотреть видео:

    pi@cam ~ $ mplayer cam.mp4

    Не забываем, что благодаря команде ssh -X смотрим видео не на Rpi, а на своей машине.

    Здесь, справедливости ради, надо отметить, что мы смогли бы проиграть «чистый» файл cam.h264 и без контейнера. Для этого достаточно указать скорость поступления фреймов, которую плеер берет из контейнера:

    pi@cam ~ $ mplayer -fps 25 cam.h264

    Замечу, что поскольку в конечном счете нам нужен именно контейнер, то можно обойтись без промежуточного файла cam.h264:

    raspivid -o - | avconv -i - -vcodec copy -f mp4 cam.mp4

    Таким образом, различаем кодеки и контейнеры (в терминологии libav — форматы). Полезные команды:

    узнать какие кодеки поддерживаются:

    pi@cam ~ $ avconv -codecs

    узнать какие форматы (контейнеры) поддерживаются:

    pi@cam ~ $ avconv -formats

    Дальше поговорим о том, как обеспечить live streaming — передачу видео по сети.

    Продолжение в следующем номере:

    Смотрим Raspberry Pi: часть 3

  • Смотрим Raspberry Pi: часть 1

    Плата Raspberry Pi

    Когда-то же она должна была у меня появиться, эта малышка-игрушка Raspberry Pi. Поскольку все у кого она есть считают нужным непременно сделать ее фото в своем блоге (от этого Rpi не становится какой-то особенной и отличной от других), не буду отступать от традиций и тоже выкладываю фото.

    Итак, что мы имеем? Флешка на 8 Gb внутри адаптера, торчит справа на фото, вставленный в один из двух USB разъемов Wi-Fi донгл слева, и камера которая коннектится к разъему на плате.

    Камеру я долго не мог запустить; последняя печальная версия которая у меня появилась это то что я убил ее статикой. Оказывается я просто подсоединил ее не к тому разъему на плате: два разъема совершенно одинаковы.

    Плата имеет аудиоинтерфейс, что может быть интересно в будущем, и возможность подключения клавиатуры/мышки/монитора, что неинтересно, потому что с такими вещами мне комфортнее работать через удаленную строку. Да, и конечно же Ethernet интерфейс.

    Источник питания на 1А, о чем честные юзеры в сети предупреждают что может не хватить если подключен USB донгл и камера. Я пока с этим не столкнулся. 

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

    Raspberry Pi в сборе

    На борту — ARM процессор плюс собственно изюминка: специальный графический сопроцессор GPU, который очень быстро работает в некоторых из кодеков. Доступиться к GPU можно через родные утилиты Rpi, такие как raspistill и raspivid, или через интерфейс драйверов OpenMax. Утилиты имеют исходники, так что можно написать что-нибудь свое. Есть родной плеер omxplayer, который также использует GPU.

    Сразу скажу, что надо сразу отказаться от мысли использовать ARM под медиаприложения стандартным способом через ffmpeg и тому подобное. Загрузка процессора под 100% гарантирована. А раз стандартные способы не проходят, то надо быть готовым к урокам танцев с бубном.

    Интересная тенденция получилась с процессорами ARM архитектуры, а точнее OMAP, которые кроме ARM содержат еще DSP ядро. Изначально предполагалось что DSP возьмет на себя основную нагрузку по компонентам, которые требуют высокой производительности и реалтайма. Поначалу так оно и было, и до сих пор у Texas Instruments есть соответствующие библиотеки для DSP.

    Но пару лет назад на одной из конференций Texas’а я ощутил другой тренд — использование сопроцессоров для ARM ядра, особенно для обработки видеоданных. Предполагаю, что это связано с бурным развитием рынка IP камер и как следствие — необходимость автоматического распознавания различных ситуаций (драка, ограбление) без участия оператора. Видимо, DSP отойдет в область специализированных приложений, в частности обработки радиолокационных данных, где требуется скоростная свертка и доплеровская фильтрация.

    Теперь плавно переходим к тому, что можно сделать с Rpi. На флешку сразу поставил дистрибутив Raspbian, который мне привычнее, потому что моя десктопная система — Ubuntu. После загрузки Rpi смотрим IP адрес платы в DHCP списке Wi-Fi, чтобы доступиться по ssh. Можно и не смотреть адрес и использовать в адресной строке hostname:

    $ ssh pi@cam

    Маршрутизатор DLink умеет работать с именами хостов, поэтому здесь cam — имя платы Rpi, bingo — мой ноут, pi — имя пользователя на cam. Все, теперь мы внутри. Нас интересует все, что связано с удаленным медиа-доступом к Rpi. Ждут ответа следующие вопросы:

    • отправка видео с камеры Rpi (клиент) на удаленных хост (сервер);
    • доступ с удаленного хоста (клиент) к видеокамере на Rpi (сервер).

    Продолжение в следующем номере:

    Смотрим Raspberry Pi: часть 2

  • Прототип СКРС/VCS на базе OMAP 3530

    VCS Prototype
    Прототип VCS

    Особенность таких систем как VCS/СКРС в том, что они используют сумму программно-аппаратных технологий, что предъявляет несколько противоречивые требования к софту и оборудованию. Можно выделить три основные подсистемы, или блока, которые сильно разнятся между собой: это подсистема графического терминала (GT), подсистема SIP/SDP и собственно VoIP в виде связки RTP + Кодеки.

    Применительно к различиям, выделим следующие особенности:

    Графический терминал GT:

    • используется оператором, требует поддержки дисплея с хорошим разрешением и сенсорной панели;
    • софт обладает высокой девиацией, поскольку сильно зависит от дизайна пользовательского интерфейса;
    • требуется хорошая производительность для поддержки графики, но при этом без специализированных видеокарт и мощных процессоров.

    Последнее требование означает следующее: на рабочем месте авиадиспетчера ничего не должно крутиться и поэтому не должно шуметь (значит процессоры с принудительным охлаждением как на материнской плате так и на видеокарте отпадают), и не должно греться (неприятные ощущения от теплой сенсорной панели надо исключить). В силу этих причин, можно сразу сказать что в GT отпадает использование классических процессоров Intel/AMD.

    SIP/SDP:

    • присутствует значительная часть компонентов, задающих бизнес-логику работы, соответственно очевидно желание использовать высокоуровневые фреймворки STL/Qt для удобства работы;
    • сложная объектная модель, диктующая использование классов C++, плюс возможности SQL для конфигурирования системы в базах данных, как локальных так и распределенных;
    • асинхронный режим работы, нет требований к реалтайму.

    VoIP (RTP + Кодеки + Эхоподавление и другие полезные вещи):

    • компоненты содержат инструменты для работы с низкоуровневым железом, бизнес-логика и влияние алгоритмов системы на работу компонентов отсутствует;
    • простая объектная модель, конфигурирование с помощью традиционных файлов конфигурации;
    • синхронный режим работы, связанный с синхронной природой обмена с аудиоустройствами, использование низкоуровневых шин I2C/McBSP.

    Итак, все три подсистемы различны как по использованию технологий софта, так и по железу, о чем будет сказано далее. А пока сделаем небольшое отступление. Это отступление относится к продуктам VCS/СКРС отечественных компаний, которые представлены на рынке оборудования для авиадиспетчеров.

    Как были разработаны эти продукты? Запускается группа программистов и они начинают писать код. Поскольку нанять профессиональную команду дорого, и управлять профессионалами — себе дороже, придется переделать всю оргструктуру предприятия (кому это нужно, если заказчик и так все возьмет?) выбирается самый простой путь. Простой путь — это использование платформы MS Windows и нечто вроде MS Visial Studio. Не имея опыта разработки клиент-серверных и сетевых приложений, а также боязнь использования богатого инструментария Linux приводит к тому, что все подсистемы реализуются на обычной PC платформе со всеми вытекающими отсюда последствиями: нестабильная работа приложений, отсутствие возможности адаптировать код проприетарных приложений и драйверов под свои нужды, дорогая аппаратная реализация и высокое энергопотребление.

    Такой подход я называю подходом программиста.

    Инженерный подход — это другое. Инженер аполитичен по отношению к программным технологиям и холиварам Windows vs Linux. Для него это просто инструменты для решения конечной задачи. Инженер, в отличие от программиста, не боится железа. Для программиста взаимодействие с железом начинается и заканчивается вставкой флешки в компьютер. Инженер же видит систему на уровне различных аппаратных реализаций: Intel, ARM, DSP, FPGA; он может перемещать проблемы туда где они проще решаются — из домена программной реализации в аппаратную или наоборот; из аналоговой части в цифровую или также наоборот, что позволяет точно выбрать инструменты для совместной работы всех трех упомянутых подсистем.

    Лет десять назад, когда мы делали АРП «Платан», стояла задача обработки потока оцифрованных данных с выхода радиоканала пеленгатора. Программисты настаивали на том, что для обеспечения низкой латентности необходимо ставить ОС РВ QNX. Задача была решена просто: между выходом радиотракта и комьютером разработали и поставили DDC с аналогово-программной реализацией, благодаря чему скорость потока данных была сокращена в 32 раза без потери информации, и вместо QNX была использована FreeBSD.

    Это пример инженерного подхода.

    Заканчиваем наше отступление и возвращаемся к прототипу VCS/СКРС, который показан на фото. На фотографии осталась за кадром левая часть, которая представляет точно такой же комплект, для имитации двусторонней связи. Оба комплекта работают друг с другом через локальную сеть. Как видно из фото, в комплект входит ноут, собственно плата SBC (Single Board Computer) и аудиопериферия, представленная микрофоном и динамиками.

    Целью прототипирования было исследование возможностей различных технологий и оценка рисков последующей реализации.  Опуская описание всего, что было сделано, в том числе исправление косяков, наступание на регулярные грабли и опробование множества вариантов реализации, финальная версия прототипа получилась следующей.

    На ноуте: графическая подсистема GT под Ubuntu Linux, с использованием фреймворка Qt для отображения графики;

    SBC: содержит процессор OMAP 3530 с поддержкой сети и аудиопериферии. Процессор включает ARM ядро и DSP ядро. На ARM располагается SIP/SDP подсистема под управлением Arago Linux. На DSP располагаются система эхоподавления и еще некоторые приложения. Вызов функций DSP осуществляется из ARM Linux с использованием библиотеки межядерного взаимодействия Syslink.

    VCS ARM+DSP Prototype Board
    SBC на базе OMAP 3530

    Приложения прототипа и все необходимые библиотеки были благополучно откомпилированы и собраны кросс-компилятором для ARM архитектуры. Конечно, самой сложной с точки зрения программирования оказалась DSP часть.

    Самый интересный вопрос: на каком ядре должна размещаться RTP подсистема и кодеки? С одной стороны, RTP смотрит в сторону асинхронного сетевого интерфейса, тогда ее место на ARM ядре. С другой — в жестко тактируемую синхронную линию передачи/приема аудиоданных, соответственно тогда она должна располагаться на DSP, который работает с шинами кодеков в реальном времени.

    На этот вопрос ответа пока не будет. Это маленький секрет )

    Прототип работал следующим образом. На одном из рабочих мест через визуальный интерфейс GT инициировалось соединение с sip адресом другого рабочего места. Выполнялась SIP процедура соединения INVITE/RINGING, на отвечающем рабочем месте возникал сигнал вызова, нажатием кнопки возвращался ответ и оставшаяся часть процедуры SIP 200OK/ACK выполняла SDP согласование кодеков и медиаданных обоих рабочих мест. После согласования, инициировалось RTP соединение в каждую из сторон.

    Оценивались задержки в тракте обработки и передачи, степень джиттера, а также эхоподавление. Эхо имитировалось акустической связью между динамиком и микрофоном — просто приставляли их друг другу. Интересно было наблюдать за адаптацией системы эхоподавления в течении 10 — 20 секунд: вначале слышно сильное эхо, затем оно плавно сходит на нет, а голос остается.

    Такое время адаптации конечно не означает что нужно ждать каждый раз 20 секунд. Алгоритм адаптируется к окружению рабочего места только один раз.

    Что осталось непроверенным и в чем состоят риски? Как и в любой низкоуровневой архитектуре железа ARM/DSP, смотреть узлы надо только с родной аппаратной периферией. Поскольку OMAP 3530 использует специализированный чип аудио-подсистемы, не факт что все будет работать в другом аппаратном окружении. Кроме того, замена платы прототипа на другую плату влечет за собой полную замену BSP (Board Support Package) и все что с этим связано: драйверы, патчи ядра Linux, библиотеки предназначенные для работы специально с этой платой. Поэтому работу с BSP также надо тестировать только на финальной конфигурации.

  • Что авиадиспетчеры хотят от СКРС/VCS

    Пульт СКРС

    Часто инженеры ведут разработку исходя из своего понимания того, что нужно заказчику. При этом предполагается, что заказчик сам знает что хочет и вся квинтэссенция его пожеланий содержится в ТТЗ. Однако, бывает далеко не лишним послушать «конечных пользователей» и даже пойти им навстречу. Сейчас народ начал привыкать к удобству пользования в бытовой области; дизайнеры стараются вычислить оптимальное расположение органов управления и индикации, раскраску интерфейса для обычных мобильных телефонов; однако промышленный дизайн так и остался на уровне прямоугольных коробок и аляповатого пользовательского интерфейса в стиле сайтов народ.ру.

    Дабы быть ближе к народу и понять, что нужно сделать для того чтобы авиадиспетчерам было приятно и удобно работать с СКРС/VCS, мы с Виталием Ставитским, вице-президентом Союза Дизайнеров России, задумали совершить вояж в Питер и Ростов-на-Дону в центры управления воздушным движением. Следует заметить, что изначально идея о том, что для разрабатываемой СКР/VCS нужно привлекать хорошего промышленного дизайнера, вызвала искреннее недоумение у моих коллег. Нашлись сподвижники, которые четко позиционировали свои подходы в этом направлении типа «да я сам лучше дизайнера все это нарисую» и «баловство все это». Вот сделать кнопочный интерфейс на тачскрине и раскрасить кнопки красным, желтым, синим и зеленым чтобы резало глаза когда только заходишь к сменному инженеру или сделать ручку шкафа в кузове радиолокатора торчащей так, что ты сразу натыкаешься на нее когда входишь в КУНГ — это нормально, ведь работает же все. И так пойдет, эксплуатация — народ подневольный, будет тыкать куда скажут.

     В процессе интервью с диспетчерами и руководителями полетов в Питере и Ростове нас прежде всего интересовало, как диспетчеры работают с СКРС руками, глазами, голосом и ушами. И не только с диспетчерами — эксплуатация тоже сказала свое слово. Материала мы набрали много; после систематизации в сухом остатке осталось следующее.

     Динамики

    Они должны быть раздельными на радиопрослушивание и на телефонную связь. Причина — это позволяет диспетчеру пространственно ориентироваться по источнику звука с динамика где борт а где земля; при этом независимой регулировкой громкости он может подчеркнуть для себя это различие. Поэтому СКРС должна позволять диспетчеру оперативно устанавливать различную громкость на радио и на телефон. В настоящий момент, в установленных СКРС динамики расположены далеко, и их неудобно регулировать. Они должны находиться в пределах доступности руки.

    В Пулково динамики секторов Подход-1 и Подход-2 расположены пространственно также, как и сектора — руководителю полетов удобно интуитивно соотносить речь с определенного направления с сектором.

    Регулировка должна быть традиционной — колесико, чтобы не искать ползунок громкости в иерархии меню когда ее нужно оперативно изменить. Индикация частоты на динамике не нужна, диспетчер безразличен к этой информации. Желательна индикация источника речи — например радио — желтый, телефон — зеленый.

    Для руководителя полетов могут потребоваться дополнительные динамики, чтобы прослушивать все частоты.

    Трубка с тангентой

    Активно используют в Ростове, не любят в Пулково. В Ростове трубка — специальная заказная. Часто диспетчер не прикладывает микрофон трубки прямо ко рту, а вертит ей во всех направлениях. Это надо учитывать в расчете чувствительности системы, динамического диапазона речи и автоматической регулировки громкости.

    Настольный микрофон

    Настольный микрофон используют в Пулково, не любят в Ростове. В Пулково документирование идет с микрофона потому что он является универсальным источником звука (не только диспетчера). Весьма желательна автоматическая регулировка громкости микрофона. Для эксплуатации неудобно когда много ручных регулировок уровней на разных концах линии.

    Нужен контроль собственной речи — с самой радиостанции. Один диспетчер говорит громче или микрофон ближе, другой — тише или микрофон дальше. Приходится оперативно подстраиваться.

    Гарнитура

    Нравятся гарнитуры с разъемом LEMO. Конструкция сочленения должна быть такой, чтобы было удобно вставлять гарнитуру в гарнитурную панель если последняя будет утоплена. Когда гарнитура извлекается из разъема, речь автоматом должна переключаться на динамики. Были и такие пожелания — чтобы в гарнитуре можно было встать и ходить (радиоканал? в России дело не близкого будущего, сильно строгие правила по безопасности).

    Гарнитуру не любят в Ростове — пользуются трубкой. Пожелание Пулково — иметь регулятор громкости в наушниках. Если кто-то что-то слишком сильно сказал — должна быть возможность быстро изменить громкость, а не искать в меню/подменю регулировку громкости. Как альтернатива, должна быть автоматическая регулировка громкости.

    Пулково приветствует вывод разной информации на левый и правый телефон гарнитуры. Диспетчеры очень боятся ситуации когда динамик или наушник отказывает а они об этом не знают — приводили в пример случай когда отказывают наушники, а сосед-диспетчер говорит — тебя зовет борт а ты не отвечаешь! Должна быть возможность быстро вытащить гарнитуру (потенциально неисправную) и чтобы связь сразу переключилась на динамики.

    В Пулково каждый приходит со своей гарнитурой.

    Ножная педаль

    Не любят и не используют как в Питере, так и в Ростове. Бесполезный аксессуар. Хотя мы думаем, что если сделать ее с приятным, акцентированным нажатием, а не как ножной привод на швейной машинке Зингер, она бы прижилась.

    Дисплей

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

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

    Бывают случаи отключения соединения случайным касанием сенсорной панели, при этом собеседник не знает что произошло разъединение и продолжает говорить. Были случаи самопроизвольного «приподнимания» утопленной сенсорной кнопки.

    Есть еще одно пожелание — наличие отдельной кнопки для аварийно-спасательной команды.

    В общем, прогресс прогрессом, а например Пулково перешло бы на механические кнопки.

    Реконфигурация рабочих мест

    Этот пункт наши респонденты сочли одним из самых важных. Причина мне видится в том что существующие отечественные СКРС имеют ограниченный функционал на уровне системы, скорее всего их можно интерпретировать как набор удаленных выносов радиостанций. Как только возникает задача уровня системы, которая требует координации рабочих мест — возникает проблема.

    Реконфигурация нужна в следующих случаях:

    1) Сделать удобным пользование рабочего места для конкретного диспетчера.

    2) Изменить назначение секторов и ролей в периоды низкого и высокого трафика.

    3) Передать управление на другие рабочие места в связи с техническим обслуживанием или отказом.

    Первый аргумент считается очевидным, но есть и аргумент против: если рабочее место отказывает и диспетчер пересаживатся за другое то он видит непривычную конфигурацию. С другой стороны, если система позволяет оперативно установить его профиль, то этот аргумент несущественный. В Пулково и Ростове нет кастомизации под конкретного диспетчера. Ростов считает что в этом нет необходимости, а Пулково — что профили желательны (не очень много), может быть даже не для разных диспетчеров, а для разных ролей.

    В случае пункта 3) Пулково переводит управление на резервное место, которое должно быть реконфигурировано так же, как и отказавшее рабочее место. Ростов поступает по другому — выделяет рабочие места под “направления”, которые сконфигурированы сразу для двух или более секторов, таким образом “направления” имеют избыточное наборное поле. Кроме этого, на каждом столе организованы два идентичных рабочих места для двух диспетчеров, но второй диспетчер работает как помощник и речевой пульт не использует. Если происходит отказ пульта у основного диспетчера, он меняется местами с помощником и использует резервный пульт. Кроме этого, есть третий пульт, подключенный резервной линией к отдельному серверу СКРС.

    Профили могут включать в себя цвет, иконки/буквенные обозначения, расположение панелей.

    В Пулково используется следующая стратегия реконфигурации — если интенсивность потока воздушного движения спадает, то направления Подход-2 и Подход-1 объединяется и вся информация, включая плановую, идет на Подход-1, что позволяет работать только с одним сектором подхода. При увеличении потока снова работают два подхода.

    Для укрупненных центров на каждом рабочем месте используется два резервных пульта.

    Требования к резервному пульту: все связи секторов перебрасываются на него, как подключения к радиостанциям, так и телефония. 

    Документирование

    Нужна кратковременная запись радиообмена, чтобы можно было прослушать на другом рабочем месте и разобрать что сказал борт. Желательна функция привлечения внимания руководителя полетов к диспетчеру, возможно текстовым сообщением.

    В Пулково пишут аналоговый выход и документируются отдельные аналоговые линии. В Ростове пишут цифровой тракт преобразованный в аналог. Считается, что цифровая запись нужна для внутренних целей, а аналоговая — для прокурора.

    Вообще с документированием много неясного. Если выполнять ФАПы буквально, то писать надо сразу выход микрофона, а стопроцентную гарантию документирования дает только второй микрофон. И писать надо аналогично акустический выход динамика. Естественно, что так никто не делает.

    Для документирования также нужен лог клавиатуры: кто какие клавиши нажимал.

    Авторизация

    В Ростове смена регистрируется на системе управления, после регистрации все события регистрируются уже за новым диспетчером.

    В Пулково есть пожелания по процедуре смены авторизации: второй диспетчер подключился в паре — его запросили ввести пароль, и когда первый диспетчер отключился — с него авторизация переключилась на второго

    Всякие разные фишки

    В одной из существующих СКРС после нажатия тангенты начало речи пропускается — не успевает срабатывать выход на передачу или начало речи идет с задержкой. Для диспетчера делать паузу в речи после нажатия дискомфортно, он к этому не привык.

    Есть небольшие радиозоны в которых или не слышно борт или борт не слышит диспетчера, поэтому приходится переходить на резервную станцию. Что с этим делать?

    Нужна диагностика радиостанций. Для диспетчера психологически важно быть уверенным в том, что радиотракт работает а не отказал минуту назад, а он об этом не знает. Если нет контроля передатчика — диспетчер наблюдает свой выход в эфир по радиопеленгатору (вот еще одна задача по комплексированию СКРС и АРП).

    Диспетчеры в основном с СКРС работают левой рукой. Все должно быть в зоне доступности руки.

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

    Телефонию использует в основном руководитель полетов. Основная нагрузка на диспетчера — радио.

    РЦ общается с другими центрами, АДЦ — нет.

    АТС находится вне контроля эксплуатации, если она отказала — сидим, ждем. Это же обстоятельство дает жирный минус идее резервирования телефонного оборудования и каналов СКРС до АТС, ибо что толку — АТС не резервируется.

    Нужны отдельные места для имитации радио-трафика.

    Резюме

    Надо сказать, что эти две поездки получились очень результативными. Нам все подробно показали и рассказали. В Пулково я встретил своих старых знакомых, которых помню еще по 2001 году, когда с первым опытным образцом АРП «Платан»  приезжал на его развертывание и испытания, будучи главным конструктором этого радиопеленгатора. С той поры он так стоит и работает, сейчас аэропорт прикупил еще один АРП.

    Теперь Виталий думает о своем дизайнерском, а я — о своем ) А об общем думаем сообща.

  • Обзор VCS Sitti

    VCS Sitti

    С развитием IP технологий передачи речи и их использованием в системах коммутации речевой связи — СКРС (или как их еще называют, СРС) представляет несомненный интерес решения лидеров в этой области. Один из таких лидеров — миланская компания Sitti. Как правило, архитектурно-технические решения промышленных систем весьма скупо представлены в публичном доступе. Тем интереснее получить информацию из первоисточника, в самом R&D центре компании. Такая возможность мне предоставилась в марте 2012 года, когда по любезному приглашению итальянской стороны я посетил эту компанию.

    Sitti поставляет VCS (Voice Communication System) по всему миру. В Италии установлены VCS только производства Sitti. Отчасти это связано с протекционистской политикой итальянского государства. В бывшем СССР компания активно работает в Белоруссии и на Украине.

    Sitti также является участником рабочей группы WG-67, которая готовила документы Eurocae ED-136, ED-137, ED-138. Данные документы являются «библией» разработчиков IP-ориентированных VCS.

    Компания позиционирует себя как гибкого поставщика, который идет навстречу пожеланиям заказчика, кастомизируя систему под его потребности в том числе после поставки. Пару раз в год специалисты Sitti навещают каждого заказчика — посмотреть, есть ли проблемы и как идут дела. Можно заметить, что это характерно для небольших, компактных компаний, ориентированных на ограниченное количество продуктов — здесь Sitti является ярким представителем такой компании, которая кроме VCS занимается разве что только консолями диспетчеров УВД. Такое необычное сочетание Giorgio Donnini, генеральный директор Sitti объяснил любовью к дизайну; ну и не стоит недооценивать влияния миланской моды как мирового центра эстетики.

    По информации на 2012 год, в компании было занято 92 сотрудника, доход за 2010 год составил около 23 млн. евро. 60% акций принадлежит менеджменту, 40% — инвестиционному фонду. Всего в компании около 20 инженеров-разработчиков.

    VCS поставляется в двух вариантах — IP и TDM. Многие заказчики достаточно консервативны и хотят иметь традиционный вариант TDM системы. Следует заметить, тем не менее, что оба варианта имеют идентичное IP ядро — рабочие места CWP работают в сети по протоколу IP в том и другом случае. Разница между этими технологиями состоит только в том, как ядро работает с внешними подсистемами — радио и телефонией.

    В IP варианте система не содержит центральной (серверной) части, как и следует ожидать. Исключением можно назвать сервер конфигураций, располагаемый на АРМ супервизора. Связь между CWP может обеспечиваться как по Ethernet LAN, так и по волоконнооптическим кабелям. Используется две сети LAN — основная и резервная. Подключение оптоволокна к рабочим местам — через небольшие адаптеры, с сохранением унификации основного оборудования. Резервирование и переключение на резервную сеть обеспечивается технологиями хорошо зарекомендовавших себя свичей MOXA.

    В TDM варианте система содержит платы поддержки матрицы коммутаций и масштабируется увеличением количества этих плат.

    Для аналогового радио и не-VoIP телефонии есть соответствующие платы интерфейсов, размещаемые в той же стойке, что и платы матрицы коммутации. Каждая плата обеспечивает речевой выход для документирования. В варианте радио плата интерфейса может подключить две радиостанции. Несущая часть плат для радио и внешней телефонии (корзина) идентична. Поддержка различных протоколов обеспечивается мезонинными надстройками; несущие платы унифицированы.

    Предполагается, что в локальной сети нет никаких проблем с латентностью передачи речи (задержки в доставке IP пакетов). Данные проблемы могут иметь место в WAN, что должно решаться соответствующими соглашениями с провайдером IP/MPLS сети (SLA). В этом принципиальное отличие зарубежных провайдеров от отечественных, когда VCS может положиться на документированный и гарантированный уровень обслуживания SLA.

    Для каждого проекта поставки собирается тестовая конфигурация системы, это стандарт де-факто любой западной R&D компании подобного типа. Изготовление плат и монтаж, а также часть механических работ производится за пределами Sitti силами партнерский компаний. Им предоставляется соответствующая документация; со стороны Sitti производится приемка результатов и контроль качества.

    Несколько слов о софте.

    В качестве операционной системы на CWP используется Red Hat Linux, на АРМ супервизора стоит MS Windows (видимо, соблазнились на простоту кодинга под окна). Linux работает на Power PC платформе. Предполагаю, что выбор экзотической платформы вызван желанием обеспечить некий реалтайм для голосовых кодеков. Что меня удивило в реализации, так это то что используются кодеки и стандартная голосовая подсистема Linux. Никакого специального внимания этому специфичному разделу софта не уделялось. Реализация SIP у Sitti по их словам — собственная.

    АРМ супервизора управляет конфигурациями CWP и плат центральной части и плат интерфейсов. Заданная оператором конфигурация распространяется АРМ’ом по сети к данным платам. Протокол управления конфигурациями — собственный (проприетарный). При замене платы из ЗИП, конфигурация обновляется автоматически. Протокол удаленной системы контроля — также проприетарный (не SNMP).

    Пользовательский интерфейс, на мой взгляд, слишком «цветной» и броский. Впрочем, вкусовые предпочтения у каждого свои, а о вкусах не спорят. Главное — заказчику нравится.

    Да, за разговорами о делах можно забыть о том, что мы все таки в Милане, а недалеко от Милана — Венеция. Но это уже совсем другая история.

    Венеция

     

  • Дорогая крошка WhatsApp

    Ян КумЯн Кум (Jan Koum) рос единственным ребенком в семье прораба и домохозяйки. В его деревенском доме, который находился недалеко от Киева, не было горячей воды и электричества — правда этим и сейчас в России мало кого удивишь.  В 1992 г., когда ему было 16 лет, ему пришлось иммигрировать с матерью в США. Для него она захватила с собой чемодан с тетрадями и карандашами, чтобы не покупать их в штатах и на этом сэкономить. Им выделили небольшую квартиру с двумя кроватями; мать работала няней, а сам Ян Кум был уборщиком в бакалейной лавке. Когда у матери обнаружили рак, семья жила на денежное пособие. Типичная иммигрантская история, каких было тысячи.

    Отучившись в университете, Ян устраивается на работу в Yahoo. В это время он знакомится с Брайаном Эктоном (Brian Acton), который активно инвестировал в интернет-бизнес. Брайан был не очень удачливым инвестором, потому что потерял все свои миллионы, когда доткомовский пузырь лопнул в 2000 году. После смерти матери Ян жил у Брайена. Они были друзьями; после того как они покинули Yahoo то попытались устроиться на работу в Facebook, но получили отказ. В январе 2009 года Кум купил iPhone и осознал, какие перспективы перед ними разворачиваются. Уже в феврале этого же года они зарегистрировали компанию WhatsApp, которая разработала мессенжер для смартфонов, в этом же году сервис был запущен.

    В начале все пошло не так, как ожидалось. Лишь около сотни владельцев iPhone загрузили WhatsApp — и в основном это были американские друзья. Яном овладело отчаяние — он решил вернуться к работе по найму. Однако его остановил Брайан, которому выдержка не изменила. Брайан сказал: «Ты будешь идиотом, если бросишь все сейчас. Подожди еще пару месяцев». И как показало будущее, оказался прав.

    Уже в октябре 2011-го пользователи WhatsApp каждый день отправляли друг другу около миллиарда сообщений. К августу 2012-го количество сообщений увеличилось до десяти миллиардов ежедневно. Количество пользователей сервиса к этому времени превышало 250 миллионов человек. Это приложение прозвали киллером SMS. Ведь концу 2012-го в мире отправлялось около 22 миллиардов SMS-сообщений в день, а WhatsApp достиг 50 процентов этого показателя всего за три года. При этом SMS сообщения платные, а WhatsApp передает текст, картинки, звук и видео совершенно бесплатно.

    Сейчас на дворе февраль 2013 года. И вот, последняя новость: Facebook купил сервис WhatsApp за 19 миллиардов долларов. Да-да, вы не ослышались — именно миллиардов. Ян и Брайан неплохо заработали.

    Сейчас компания WhatsApp разрослась аж до 100 человек. На офисе нет вывески, как и в самом WhatsApp нет рекламы. Да и зачем нужна вывеска? Миллиарды говорят сами за себя.

    Все есть в этой сказке, которая стала былью: трудное детство, надежды, отчаяние и в конце — великолепный приз. Тем же, кто сказки любит, положено извлекать урок. И даже не один, а несколько уроков. Вот они.

    • Неважно, где и кем ты родился. Важно, в какой среде ты растешь и развиваешься.
    • Потерянные миллионы — это бесценный опыт, который потом превращается в миллиарды.
    • Для кого-то iPhone — дорогая игрушка, а для кого-то — ключ которым открываются двери в будущее.
    • Свое дело, каким бы простым и маленьким оно не выглядело вначале — лучше чем работа по найму.
    • Никогда, никогда нельзя бросать начатое, если даже ничего не получается и возникает соблазн все бросить.
    • Делай то, что нужно людям. Чтобы им было удобно. Нет рекламы, понятный интерфейс, программой легко пользоваться любой блондинке — таков WhatsApp.
    • Добавленные услуги (Value Added Services, VAS) — это вещь. Традиционные операторы связи этого так и не поняли и пролетают мимо кассы.

    И последний урок. Не взяли на работу в Facebook? Не беда. Получи с Facebook 19 миллиардов долларов и этот неприятный осадок быстро рассосется.

  • Бонус от клуба — семинар ВПП: разрешение на взлет

    Клуб “Пати у Пати”, Кадровое агентство “Гарант&Профи”

    представляют семинар “ВПП: команда на взлет” на тему:

    «Как обеспечить поток хороших клиентов, которые не отнимают у Вас драгоценное время по мелочам и хорошо платят?»

    takeoff
    Семинар ВПП: команда на взлет

    Стратегии, методы, инструменты для тех, кто собирается начать свой бизнес

    а также для тех

    кто недоволен тем количеством и качеством клиентов, которые обеспечивает существующий бизнес.

    Вы собираетесь открыть свой бизнес? Или у Вас бизнес, который встает на ноги, и Вы сделали все, что принято делать в таких ситуациях: сняли помещение, наняли сотрудников, сформировали пакет продуктов и услуг, которые вы можете продавать, заказали хороший web — сайт, дали рекламу, Ваш сотрудник (или вы сами!) на телефоне в полной готовности, чтобы принять звонок, все готовы наизусть рассказывать про Ваши преимущества и замечательные продукты и услуги…

    …и тут наступает пауза, которая начинает беспокоить Вас все больше и больше !!!

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

    Зато Вас достают другие — которые торгуются за каждую копейку, требуют кучу разных материалов, презентаций, добиваются от Вас максимальных скидок — и в конце концов уходят ничего не купив, в результате чего ваше драгоценное время потрачено впустую.

    Нельзя сказать, что Вы вообще не уделяете внимания системе продаж. Вы читали литературу по этому поводу, посещали семинары, только вот беда — Вы не Ашан, Пятерочка, не сеть аптек 36,6, не Макдональдс, Самсунг или Apple, за Вашей спиной нет известного бренда и миллионов долларов, вложенных в него и рекламу, и Ваши потенциальные заказчики — это не крупные госструктуры и продуктовые и фармацевтические монополии, которые покупают по контрактам в сотни миллионов долларов. Вы не можете потратить столько же денег на рекламу и привлечение клиентов, и такая реклама не работает.

    СТОП!

    Сразу договариваемся о стандартных возражениях. По опыту нашей работы более чем с 50 компаниями малого и среднего бизнеса, которые мы поставили на правильные рельсы, эти возражения всегда одни и те же:

    • в моем бизнесе это не работает.
    • с моими клиентами это не пройдет.
    • в моем городе (Махачкале) это работать не будет.
    • А у нас люди не такие.

    Если Вы серьезно так думаете, то есть смысл найти идею получше как провести предстоящую субботу. Мы Вас предупредили. А теперь идем дальше с теми, кому это жизненно необходимо.

    nomonkey

    Что же тогда работает?

    Реальные методы, которые опробованы на практике для малого и среднего бизнеса и работают ВЕЗДЕ, и которые будут даны на семинаре

    ”ВПП: Команда на взлет”.

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

    тогда Вам отлично подойдет та информация которую мы будем давать на этом семинаре.

    Семинар «ВПП, Команда на взлет: Как обеспечить поток хороших клиентов, которые не отнимают у Вас драгоценное время по мелочам и хорошо платят»

    состоится в субботу, 7 декабря в 12:00.

    Цель семинара:

    • Дать Вам не только базовые знания о том как строить продажи в Вашей компании, но и практические навыки. То о чем мы знаем но не используем — бесполезный груз;
    • Дать системное понимание, как найти дополнительные деньги в уже существующем бизнесе (дополнительные деньги могут перекрыть ваш существующий доход).

    Темы которые мы будем давать на семинаре:

    • Поиск и ликвидация узких мест в вашем бизнесе;
    • «Как найти ту корову которая ест больше всего Вашего сена»;
    • Стратегии для резкого увеличения оборота компании — сначала поднимите то, что валяется прямо у Вас под ногами;
    • Что такое блог и как он увеличивает продажи? Как удвоить продажи при помощи сайта – запрещённые методы;
    • Ваша система продаж и работы с клиентами напоминает дырявое ведро, почему через нее клиенты пролетают, не оставив Вам ни рубля. Как ее правильно выстроить;
    • Постановка вашего бизнеса на круиз — контроль. Вы сидите а денежки идут;
    • Продвинутые маркетинговые стратегии по привлечению новых клиентов;
    • Как использовать тех клиентов, которым Вы уже продавали;
    • Убойная методика двухшаговых продаж — что это такое и как приспособить это к своим нуждам;
    • Как подготовить свое дело к бурному росту, и что сдерживает Ваш рост сейчас;
    • Как за три месяца перестроить свой бизнес;
    • Обязательный минимум бизнес — подсистем которые должны быть в Вашей компании;
    • Масштабируемость Вашего бизнеса — мы сами себя наняли на работу и в сутках только 24 часа, как от этого уйти. Почему это мало у кого получается;
    • Как сделать так, что бы сотрудник ушедший от Вас, ничего не смог сделать с Вашей клиентской базой, даже если он ее слил — учимся правильно работать с клиентами;
    • Менеджеры по продажам уже не занимаются поисками клиентов, а только закрывают продажи;
    • 3 этапа через который должна пройти Ваша компания, от становления, до бурного роста;
    • Построение маркетингового плана Вашей компании — и он будет работать;
    • 5 (Пять) параметров, зная и измеряя которые, Вы сможете полностью изменить свою систему продаж. Почему уже измерение нашей деятельности подсказывает куда нужно двигаться;
    • Какие метрики, незнание которых тормозит Ваш бизнес, необходимо получать ежедневно и еженедельно;
    • Кто Ваш клиент, и как его найти;
    • Реклама: как измерить ее эффективность, и сделать бюджет безлимитным не тратя лишние деньги;
    • 3 (Три) критические ошибки в системах продаж. Типовые ошибки в построении маркетинговых систем;
    • Что такое на самом деле и чем Вам может помочь директ маркетинг;
    • Машина по непрерывной генерации новых клиентов. Запуск и настройка;
    • Какие процессы должны обязательно быть в Вашей компании, пусть даже она состоит из 10 человек. Как их правильно выстроить;
    • Используем Up Sell и Cross Sell — и еще больше увеличиваем количество своих клиентов;
    • Как вернуть клиентов которые ушли, и продать им снова;
    • Что такое Follow up системы и как их правильно строить. Отслеживаем зацепки осторожно;
    • Как сделать что бы клиенты, покупали у вас снова и снова;
    • Почему Вы боитесь использовать гарантию и почему это надо сделать;
    • И многое другое …

    Условия проведения семинара

    По приглашению клуба “Пати у Пати” и Кадрового агентства “Гарант&Профи” семинар проводит бизнес-тренер Назим Алиев, один из авторов системы РМЭИТ, автор книг по построению эффективного бизнеса, г.Москва.

    Назим Алиев

    • Стоимость участия — БЕСПЛАТНО;
    • участники оплачивают кофе-сбор по правилам Антикафе-Место (около 200р за 2 часа);
    • Длительность семинара — 2 часа;
    • Будут рассмотрены основные темы из приведенных и темы по пожеланию участников;
    • Количество участников ограничено;
    • Вход на семинар по приглашениям от Клуба и Кадрового Агентства (звоните по телефону внизу);
    • Участникам семинара будет предоставлена запись;
    • Рассмотрение индивидуальных бизнес-кейсов участников семинара не предусмотрено;
    • Участники семинара получат скидку на последующие мероприятия из бизнес-серии “ВПП: команда на взлет” на правах участников Клуба “Пати у Пати”.
    Место проведения семинара «ВПП: команда на взлет»

    Семинар состоится 7 декабря 2013 года, в субботу в 12:00, в помещении “Антикафе Место”, по адресу: г. Махачкала, ул.Чернышевского, 68.

    За приглашениями на семинар и с любыми вопросами звоните по телефону:

    phone-b+7 (965) 485-2157

    Добро пожаловать!