четверг, 15 декабря 2011 г.

Установка AdvertisePro

Рекомендации по выбору компьютера.

Любой современный компьютер с процессором Intel и видеокартой от NVIDIA  (нужен один DVI выход для табло и второй выход для монитора) с 1GB ОЗУ годится для работы в качестве станции вывода видео. Если для конвертации RS232-RS485 используется Siolynx первого поколения (с подключением к COM-порту) или прямое подключение к оптическому передатчику DVI-мастер, то нужен также COM-порт на материнской плате или преобразователь USB<->COM или PCIe<->COM. Если экран не очень большой, то с задачей справлялся даже процессор ATOM D525 с NVIDIA ION 2.
Жесткий диск и DVD-привод на собственное усмотрение. Также, если необходим вывод внешнего источника аналогового видео, нужна плата видеозахвата.

Операционная система.

ПО AdvertisePro работает под Windows XP  желательно с установленным SP3. (Готова новая версия ПО Advertisepro 3.1, которая поддерживает Windows 7 и она не требует AdveriseMedia! Кодеки, если они нужны, ставите сами).
В принципе можно попробовать установить его на Windows 7 с отключенным UAC, но возможны различные "глюки" в интерфейсе и работе программы. Чтобы отключить UAC выберите ПУСК в левом нижнем углу и в строке "Найти программы и файлы" наберите uac в списке найденных выберите  "Изменение параметров контроля учетных записей" и передвиньте ползунок вниз, перезагрузитесь.

Установка ПО.

Все ниже перечисленное по можно найти на компакт диске из нашей поставки.
  • Если на компьютере еще не установлен .NET Framework 2.0 установите его. Можно загрузить у нас или воспользоваться диском \REDIST\NET_FRAMEWORK2.0\X86\REDISTRIBUTABLE_PACKAGE\dotnetfx.exe
  • Установите MSXML.4 SP2 взять можно у нас или на диске \REDIST\msxml.4\msxml.msi  
  • Установите dxtxtra.exe (\REDIST\dxtxtra.exe)
  • Установите набор кодеков AdevrtiseMedia. Если есть диск то просто запустите \AdvertiseMedia\Setup.exe, если загрузили AdvertiseMediaPack.zip, то распакуйте и запустите \AdvertiseMedia\Setup.exe. Может понадобится перезагрузка и повторный запуск установщика.
  • Для Siolynx2 понадобятся драйвера, загрузить, распаковать указать Диспетчеру Устройств. Должен появиться COM-порт.
  • Настроить службу nibus.
  • Открыть свойства экрана

    Выбрать второй экран, поставить галочку Расширить рабочий стол на этот монитор. Качество цветопередачи: Самое высокое (32 бита). Цвет рабочего стола лучше сделать черным, отключить заставку и режим выключения монитора после простоя.
  • Загрузить последнюю версию AdvertisePro и установить. Если плата видеозахвата не используется, лучше отключить ее в диалоге установки. Если не поддерживается установленная плата видеозахвата см. Поддержка плат видеозахвата с форматом YUV
  • Настроить управление яркостью
  • Если компьютер должен работать круглосуточно, рекомендую установить AdvertisePro Guard





четверг, 1 декабря 2011 г.

Мониторинг спортивных состязаний.

Иногда возникает необходимость получать информацию о текущем спортивном состязании, чтобы, например, можно было наложить ее на телевизионную картинку. Все данные об игре передаются по 485 интерфейсу используя протокол NiBUS. Подробные сведения по устройству протокола можно прочитать в документе NiBUS.pdf. Если Вы для прослушивания протокола NiBUS будете использовать компьютер под управлением Windows, а в качестве конвертера RS485-RS232 трансивер Siolynx/Siolynx2 (siolynx2.tech_ref.pdf), Вам необходимо будет установить на него службу NiBUS. На данный момент последняя версия nibus-v3.0.780.10.msi. После установки службы может потребоваться ее настройка (Настройка службы NIBUS). Этот дистрибутив также содержит примеры на C++:
  • NibusLog (VC2003), который снифит данные поступающие по nibus
  • NibusListener (VC2008), заготовка для написания обработчиков спортивных событий
Последний пример-заготовка позволяет быстро написать свой обработчик спортивных событий (время, счет и т.д). При необходимости можно добавить обработчики используя документ с расшифровкой основных информационных сообщений для спорта SportInfo.pdf. Обратите внимание 
  • CAppModuleEx::Init() - здесь строится стек протокола nibus (NibusListener.cpp)
  • CAppModuleEx::DoCapture(TRUE) - включить прослушку.
  • CNibusListenerView - получает и разбирает датаграммы
  • CNibusListenerView::OnTimerChanged - изменились данные таймера
  • CNibusListenerView::OnScoreChanged - изменился счет
  • CNibusListenerView::OnPeriodChanged - изменился период
Вместо Pin 1 для питания можно использовать Pin 2. 12V используется для питания пульта и может отсутствовать. Pin 4 и Pin 5 должны быть на одной паре, например - синяя и бело-синяя жилы, также как и Pin 3 и Pin 1/2.
Если возникли вопросы, то отпишитесь в комментариях  к данному сообщению.

Дополнение:

Гораздо удобнее с протоколом NiBUS можно работать с помощью .NET 4.0, поэтому, если для подключения к шине NiBUS Вы используете компьютер с Windows и установленным .NET Framework 4.0, то возможно стоит посмотреть как это реализовано на C#. В этом случае Вам не требуется установка службы NiBUS. Клиент для коммуникации по протоколу NiBUS должен использовать библиотеку libnibus.dll написанную на C#, также понадобятся библиотеки Async-CTP-v3 (AsyncCtpLibrary.dll, System.Threading.Tasks.Dataflow.dll) и NLog.dll для ведения журнала. Все это можно загрузить с с нашего ftp-сайта. Там же есть простейший пример для хоккея в архиве IceHockeyViewer.zip. Чтобы скомпилировать пример понадобится VS2010 и установленный Visual Studio Async CTP (Version 3). libnibus.xml - содержит подсказки для студии, а в libnibusdoc.chm - справка к библиотеке. Пример использует 14 COM-порт для взаимодействия с NiBUS, Вы должны не забыть указать свой. Также учтите, что при установленной VS 11 Beta пример не компилируется.

Важное дополнение:

Все примеры выше используют в качестве конвертера RS485<->RS232 Siolynx2 нашего производства. Наш конвертер, в отличие от обычных конвертеров, является более "интеллектуальным" устройством. Помимо приема/передачи данных он отвечает за разрешение коллизий в протоколе NiBUS. На выход пользователю он выдает Сетевой уровень (Глава 3 nibus.pdf). Если Вы используете обычный конвертер RS485<->RS232 Вам нужно обратить внимание на Канальный уровень (Глава 2). Он отличается от сетевого наличием специальных двухбайтовых маркеров, причем используется режим когда данные содержат 9 бит! Старший бит установлен именно у маркеров. Не все конвертеры могут поддерживать 9 бит данных. Обычно он обрезается до 8 бит. Некоторые конвертеры обрезают этот старший бит (данные можно обработать), другие могут обрезать младший (в этом случае информация неполная).