[Начало] [Предыдущая] [Следующая] [Содержание]
После инсталляции AXIS 240 и присвоения ему соответствующего Internet адреса, его можно использовать в каких-либо видео-приложениях.
Этот раздел описывает способы эффективного использования AXIS 240 с учетом всех его функциональных возможностей, включающих в себя:
Замечание:
Получение кадров
Для каждого полученного кадра AXIS 240 создает файл с формате JPEG и сохраняет его во внутренней памяти.
Кадр на базовой странице Home
Для создания кадра, который отображается на базовой странице AXIS 240 Home, необходимо
ввести имя или Internet адрес AXIS 240 в поле URL локального Web браузера.
Например,
http://172.16.253.80/ |
В результате этого AXIS 240 создает изображение размера "fullsize" в формате JPEG. При каждой перезагрузке (reload/refresh) страницы на странице AXIS 240 Home отображается новый кадр.
"Чистый" кадр
Для получения "чистого" кадра, не используя страницу AXIS 240 Home,
нужно задать требуемый тип кадра в URL локального Web браузера, и он будет содержаться
в JPEG файле. Можно создавать кадры с различными размерами, т.е. fullsize (нормальный),
halfsize(половинный) и т.д.
Пример
http://172.16.253.80/fullsize.jpg |
http://172.16.253.80/halfsize.jpg |
Типы кадров
Можно изменять размер и вид кадров AXIS 240, начиная от кадров малого размера с высоким уровнем сжатия и заканчивая кадрами большого размера с высоким качеством (низким сжатием) отображения.
Размер файла зависит от нескольких факторов. Изображения с низким сжатием и большого размера имеют наибольший размер файла, однако при этом достигается наивысшее качество изображения. Изображения, содержащие большое количество деталей, также имеют наибольшие размеры. Как это свойственно для всех web приложений, обратной стороной увеличения размера и качества изображений является снижение быстродействия!
Следующие типы кадров имеются в AXIS 240:
Интеграция кадров в Web страницы
Следуйте следующим инструкциям для интеграции "живых" кадров в web страницы:
http://camserv/fullsize.jpg |
<HTML> <HEAD> <TITLE>Sample page</TITLE> </HEAD> <BODY> <H1>Welcome to my camera server demo</H1> <IMG ALT="Fullsize JPEG Image" SRC="http://camserv/fullsize.jpg?camera=1" WIDTH="320" HEIGHT="240"> </BODY> </HTML> |
При каждом посещении этой страницы новый кадр fullsize.jpg будет создаваться
и отображаться средствами Web браузера.
AXIS 240 поддерживает три метода для автоматического обновления изображений:
Они представлены линками на странице AXIS Home.
Server Push
Функция Server push постоянно "выталкивает" новые кадры в Web браузер.
Частота смены изображений зависит от того, насколько быстро AXIS 240 может создавать и передавать данные по сети. Между тем, можно варьировать частоту изменения кадров в Server push внутри Web браузера.
В целях минимизации требуемой памяти для реализации данной функции AXIS 240 количество одновременно активных клиентов (точнее, запросов) в режиме Server push ограничено 5 для одного устройства. В случае превышения этого лимита для всех дополнительных пользователей становится доступен только один кадр.
Замечание:
Java Image Feed
Эта функция реализована как Java апплет, который можно запускать из любого места
сети. Скорость обновления кадров программируется.
Refresh Image Feed
Эта функция обязывает Web браузеры получать новые кадры с переменной скоростью.
Данный режим поддерживается большинством стандартных Web браузеров.
Замечание:
При использовании позиционера Web интерфейс AXIS 240 позволяет изменять ориентацию подключенной к нему камеры удаленно.
Придерживайтесь данной последовательности шагов:
Canon, Sony
Выберите положение на кадре или на изображении координат для перемещения камеры
в данное положение.
Градуировка на координатах положения соответствует абсолютным положениям камеры. Это означает, что при нажатии на левую стрелку позационер переместит камеру в ее крайнее левое положение.
Выберите Home для перемещения камеры в ее базовое (home) положение, которое определяется самим позиционером.
VideMech
Выберите положение на координатной полосе для перемещения камеры в заданное положение.
Координатная полоса соответствует абсолютным положениям камеры. Это означает, что при нажатии на левую стрелку позиционер переместит камеру в ее крайнее левое положение.
Выберите Home для перемещения камеры в ее базовое (home) положение, которое находится точно посередине между ее крайними положениями.
Изменение установок зума и фокуса осуществляется нажатием на полосу zoom and focus соответственно.
Замечание:
Ernitec
Нажмите на стрелку для пошагового перемещения камеры в заданное положение.
Перемещение задается относительно текущего положения камеры. Это означает, что при каждом нажатии на левую стрелку камера переместится на один шаг влево вне зависимости от текущего положения.
Для изменения зума камеры нажмите Wide (угол обзора) или Tele (масштаб) соответственно.
Замечания:
При использовании AXIS 240 в Internet мы рекомендуем устанавливать ее с промежуточным Web сервером, а не непосредственно. Это связано с ограниченным количеством ресурсов для буферов в AXIS 240, которые могут потребоваться для таких приложений.
Замечания:
Можно использовать CRON скрипты для задания моментов получения кадров. Если публичный web сайт не имеет высокую загрузку, то можно использовать в нем непосредственную ссылку на AXIS 240. Однако, при этом возникают три основные проблемы:
Axis разработал расширенный сервис под названием CRON для обеспечения выполнения сервером камеры последовательностей периодических команд. Этот сервис позволяет пользователю программировать осуществляемые AXIS 240 события и выполняемые функции в зависимости от состояния триггеров/времени (triggered functions).
Script формат
CRON скрипт может содержать одну или несколько процедур (entry). Каждая процедура содержит следующие элементы:
Стандартная конструкция CRON скрипта представлена ниже:
# <comment> <comment><> | (first entry) | |
<trigger condition> : | ||
<command 1> ; <command 2> ; . . <command n> ; |
||
% | ||
# <comment> | (second entry) | |
<trigger condition> : | ||
<command 1> ; <command 2> ; . . <command n> ; |
||
% | ||
# <comment> | (...nth entry) | |
<trigger condition> : | ||
<command 1> ; <command 2> ; . . <command n> ; |
||
% |
Комментарии (Comments)
Хорошим стилем программирования считается наличие перед началом каждой процедуры комментариев с ее кратким описанием. Комментарии не являются обязательными, но они должны следовать за символом <#>, как это показано ниже:
# <comment> |
Пример:
# This cron entry will... |
Состояние триггеров (Trigger Condition)
Выполнение содержащейся в процедуре команды зависит от состояния триггеров. Состояние триггеров задается шестью раздельными полями, заканчивающимися обязательно двоеточием ":".
<Minute> <Hour> <Day> <Month> <Day of the week> <Input and Boot (optional)> : |
Поля времени и даты (Time and Date Event Fields)
Первые пять полей определяют время и дату события, т.е. минуту, час, день, месяц
и день недели. Обратите внимание, что CRON скрипт использует 24-часовое представление
времени.
Синтаксис каждого поля определяется следующими правилами:
Пример:
Срабатывать каждый месяц, между 4ым и 8ым числами в 10.03,12.03 и 14.03:
3 10,12,14 4-8 * * : |
Поле Input и Boot
Шестое поле содержит массив символов. Это поле необязательно и определяет срабатывание
по значениям Input и Boot.
Оно позволяет запрограммировать AXIS 240 по включению, загрузке и по заранее определенным состояниям кнопки Control и портам Digital Input, используя триггерные переменные BOOT, B, I1, I2, I3 и I4 соответственно. Триггерные переменные B, I1, I2, I3 и I4 используются для активизации условий, а /, \, 0 или 1 описывают, когда необходимо реагировать на то или иное состояние триггерных переменных.
Следующая таблица содержит возможные значения триггерных перменных и их условие срабатывания:
Триггерная переменная | Описание |
---|---|
BOOT | Активизация при инициализации. |
\B | Активизировать, когда кнопка Control переходит из состояния "1" (high) в "0" (low). |
/B | Активизировать, когда кнопка Control переходит из состояния "0" в "1" |
1B | Активизировать, когда кнопка Control в состоянии "1" (нажата). |
0B | Активизировать, когда кнопка Control в состоянии "0" (отпущена) |
\I1 | Активизировать после перехода состояния порта Input 1 из "1" в "0". |
/I2 | Активизировать после перехода "0"-"1" порта Input 2. |
1I3 | Активизировать, когда порт Input 3 имеет уровень "1". |
0I4 | Активизировать, когда порт Input 4 имеет значение "0". |
... и т.д. |
Замечание:
Пример 1
Активизировать после того, как к кнопка Control меняет состояние с "1"
на "0" и порт Input 1 принимает значение "1".
\B&1I1 |
Пример 2
Активизировать по условию порт Input 2 - "0" и Input 4 - "1".
0I2&1I4 |
Сводная информация
Приведенная ниже таблица содержит допустимые значения триггерных полей:
Поля даты и времени
|
Поля портов Input и Boot (опция) | |||||
---|---|---|---|---|---|---|
Поле # | 1 | 2 | 3 | 4 | 5 | 6 |
Описание | Минута | Час | День | Месяц | День недели | Условие |
Допустимые значения | * 0-59 |
* 0-23 |
* 1-31 |
* 1-12 |
* 0-6 0 = Воскресенье |
BOOT B I1, I2, I3, I4 |
Команды
Внутри процедур используется несколько команд. Все команды должны оканчиваться точкой с запятой <;>.
Список команд:
Команда | Описание |
---|---|
alert | Посылает небольшое сообщение на удаленный хост. |
buffer_init | Инициирует (стирает) буфер изображений. |
buffer_start | Начинает записываеть кадры в буфер изображений. |
buffer_stop | Прекращает записывать кадры в буфер изображений. |
ftp | Передает изображение на удаленный хост, используя FTP. |
Посылает e-mail по SMTP. | |
offline | Прекращает текущее PPP соединение. |
online | Производит набор номера на модеме для установки PPP соединения. |
reset | Стирает программое обеспечение или инициирует состояние устройства. |
sleep | Прерывает выполнение CRON скрипта. |
snapshot | Обновляет изображение последнего кадра. |
Замечания:
Выберите на странице AXIS 240 Home кнопку CRON для доступа к встроенному текстовому редактору для генерации CRON скрипта. Новый CRON скрипт затем будет автоматически загружен в AXIS 240.
Для редактирования CRON скрипта можно также использовать стандартный текстовый редактор и затем загрузить его в AXIS 240 по FTP.
Замечания:
Файл с CRON скриптом, содержащий ошибки, не будет загружен в AXIS 240, что, соответственно, не приведет к стиранию предыдущего успешно загруженного скрипта.
Пример:
# Это пример CRON скрипта:
# Раз в день моя мать получает письмо по e-mail # Вторая процедура сохраняет изображение fullsize # Третья процедура набирает ISP и запоминает |
Загрузка CRON скрипта по FTP
Загрузки файла с CRON скриптом cron.txt в AXIS 240 по FTP осуществляется в следующей последовательности:
Пример
C:\Temp>ftp 171.16.3.30 Connected to 171.16.3.30. 220 AXIS 240 Jun 6 1998 ready. User (171.16.3.30:(none)): root 331 User name ok, need password Password: 230 Root user logged in ftp> bin 200 TYPE set to I. ftp> put cron.txt cronscript 200 PORT command successful. 150 Opening data connection for cronscript (171,16,4,70,4,6), (mode binary). 226- Compilation OK Events initiated 226 File transfer complete 112 bytes sent in 0.00 seconds (112000.00 Kbytes/sec) ftp> quit 221 Goodbye. |
Common Gateway Interface (CGI) является стандартным интерфейсом информационного HTTP или Web сервера для внешних приложений.
CGI программа внутри AXIS 240 позволяет пользователю задать характеристики кадра в рамках встроенного запроса URL. Пользователь генерирует эти запросы в форме строки запроса, добавленной к URL AXIS 240.
Можно использовать CGI параметры для простых операций ввода-вывода через HTTP с портом позиционера.
CGI параметры кадров
Для запроса кадра используется следующий синтаксис:
http://<cameraname>/<imagefile>?<parameter>=<value>[&<parameter>=<value>...] |
Приведенная ниже таблица содержит CGI параметры кадра:
Параметр/Синтаксис | Описание | Значения |
---|---|---|
camera=<n> | Задается источник создаваемого кадра. Если параметр отсутствует, то используется базовая камера. | 1/2/3/4/5 |
compression= <value> |
Изменение качества изображения и размера файла. | medium/high/low |
color=<value> | Выбор цветного или черно-белого изображения. | normal/none |
axislogo=<value> | Показывать/Скрыть логотип Axis. | off/on |
clock=<value> | Показывать/Скрыть штамп времени. | off/on |
rotation=<value> | Вращение изображения. | normal/upsidedown/90deg/ 270deg |
mirror=<value> | Зеркальное отображение кадра в горизонтальной плоскости. | off/on |
Cropping/ top=<value> &left=<value> &width=<value> &height=<value> |
Отображение части кадра формата `hugesize'.
|
Значения параметров задаются в пикселах и округляются до чисел, кратных 8
(например, 45 округлится до 40).
Сумма параметров Top+height не должна превышать размер по высоте изображения `hugesize' (576 для PAL и 480 для NTSC).
Сумма параметров Left+width не должна превышать размер по длине изображения `hugesize' (704 для PAL и 640 для NTSC)
|
move=<x> | Повернуть позиционер на 5 градусов в заданном направлении. | up/down/left/right/home |
pan=<n> | Повернуть позиционер по вертикали на <n> градусов относительно базового положения. | -180 ... 180 |
tilt=<n> | Повернуть позиционер по горизонтали на <n> градусов относительно базового положения. | -180 ... 180 |
rpan=<n> | Повернуть позиционер по вертикали на <n> градусов относительно текущего положения. | -180 ... 180 |
rtilt=<n> | Повернуть позиционер по горизонтали на <n> градусов относительно текущего положения. | -180 ... 180 |
zoom=<n> | Изменить зум камеры на заданный угол. | 1 ... 999 где 1 соответствует отсутствию зума |
Замечания:
Пример 1
Запрос кадра fullsize JPEG от базовой камеры, подключенной к AXIS 240, называемой
camserv, который должен содержать данные о времени и иметь вращение на
270 градусов:
http://camserv/fullsize.jpg?clock=on&rotation=270deg |
Пример 2
Запрос кадра с высоким сжатием формата hugesize JPEG от камеры, подключенной к
camserv, порт CAM2:
http://camserv/hugesize.jpg?camera=2&compression=high |
Пример 3
Повернуть камеру, подключенную к camserv , порт CAM3 на 45 градусов вправо:
http://camserv/fullsize.jpg?camera=3&pan=45 |
CGI параметры для операций ввода/вывода
Для операций ввода/вывода через порт позиционера используется синтаксис:
http://<cameraname>/cgi-bin/control?<parameter>= <value>[&<parameter>=<value>...] |
Приведенная ниже таблица содержит CGI параметры для операций ввода/вывода:
Параметр/Синтаксис | Описание | Значения |
---|---|---|
dataout=<string> | Передает строку данных на порт позиционера. Максимальный размер - 128 байт. | Шестнадцатиричное кодирование байтов {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, a, b, c, d, e, f} |
read=<n> | Считывает заданое количество байтов с порта позиционера. Возвращаемое значение имеет шестнадцатиричный код и размещается между символами "#", например #3A#. | 1 ... 128 |
wait=<n> | Означает ожидание заданного количества секунд перед считыванием с порта позиционера. Используется совместно с параметром "read". | 1 ... 9 |
flush=<value> | Стирает входной буфер порта позиционера. Требуется всегда при комбинировании с другими параметрами. | yes/no |
Пример 1
Записать строку данных 430001FF в порт позиционера:
http://camserv/cgi-bin/control?dataout=430001FF |
Пример 2
Очищает входной буфер, записывет строку данных 2B004C4C4F в порт позиционера и
ожидает 5 секунд до получения ответа. AXIS 240 вернет значение Web браузеру:
http://camserv/cgi-bin/control?flush=yes &dataout=2B004C4C4F&wait=5&read=20 |
Пример 3
Страница HTML page для считывания и записи в порт позиционера:
<HTML> <HEAD> <TITLE>HTTP Input/Output Test Page</TITLE> </HEAD> <BODY> <H2>HTTP Input/Output Test Page</H2> <FORM ACTION="http://camserv/cgi-bin/control" method=post>Write hexadecimal byte string <input type=text size=20 maxsize=19 name="dataout"> to Pan/Tilt port. <P>Read <input type=text name=read value="0" size=4> bytes from Pan/Tilt port. <P>Wait <input type=text name=wait value="1" size=4> seconds. <P><input type=submit name="Send" value="Send HTTP Request"></FORM> </BODY> </HTML> |
Замечание:
AXIS 240 поддерживает протокол работы точка-точка Point to Point Protocol (PPP), предназначенный для использования в Internet-соединениях и в других сетевых протоколах по последовательному каналу. Реализуется это следующими способами:
PPP может быть транспортом для любого IP протокола и позволяет осуществлять удаленный доступ к AXIS 240 таким образом, как будто он непосредственно подключен в локальную сеть. Основным различием между подключением PPP и Ethernet является скорость передачи. Стандартное подключение к сети Ethernet имеет скорость 10 Mбит/сек. (максимальная теоретическая пропускная способность), тогда как аналоговый модем функционирует с максимальной скоростью до 56 kбит/сек.
Установка PPP в среде Windows 95
Выполняйте следующую инструкцию при конфигурировании PPP в среде Windows 95:
Обращение к удаленному AXIS 240
Следуйте инструкции по установке соединения с удаленным AXIS 240:
Установка режима PPP в Linux
Следуйте приведенным ниже инструкциям для соединения хоста Linux с AXIS 240, используя PPP:
ABORT BUSY ABORT 'NO CARRIER' '' ATDT<phone number> CONNECT |
pppd connect '/usr/sbin/chat -f DIAL_240' 115200 /dev/modem
или
pppd connect '/usr/sbin/chat -f DIAL_240' :192.168.3.219 115200 /dev/modem |
Последний вариант команды присваивает AXIS 240 временный Internet адрес 192.168.3.219. Если адрес не задается, как это показано в первом варианте, устройство использует свой адрес, ранее определенный командой arp. Обратите внимание на то, что для установки соединения необходимо быть пользователем или иметь права пользователя root. Модем постарается установить соединение, и затем процесс PPP будет работать как фоновый. Подсказка shell при этом появится автоматически. Для прекращения взаимодействия необходимо задать команду -detach.
64 bytes from 192.168.3.219: icmp_seq=0 ttl=15 time=197.0 ms
64 bytes from 192.168.3.219: icmp_seq=1 ttl=15 time=180.0 ms |
kill -TERM `cat /var/run/ppp0.pid` |
Подключение модема
При подключении AXIS 240 к модему появляется возможность загрузки изображений кадров на удаленный компьютер, используя стандартный модем.
Данные по изображениям и конфигурации могут быть переданы по последовательному каналу при помощи протокола Zmodem. Этот протокол поддерживается большинством коммуникационных пакетов для UNIX и PC/Mac.
Передача файлов
Для инициализации передачи файлов наберите команду sz и затем имя передаваемого файла, например:
sz fullsize.jpg |
Большое количество коммуникационных пакетов позволяет автоматически загружать файлы с кадрами, т.е. они сами обнаруживают, что процесс передачи файлов установлен, и отвечают за выполнение процесса передачи. Если коммуникационный пакет не поддерживает этого, то необходимо вручную указывать 'receive zmodem' (или нечто подобное).
Успешно переданный файл изображения кадра будет в формате JPEG, т.е. будет являться копией кадра, имевшегося в собственной файловой системе AXIS 240.
Замечание:
До передачи файла от AXIS 240 необходимо правильно сконфигурировать хост и удаленный модем. Более подробная информация по этому поводу содержится в Приложение E - Последовательный порт ввода-вывода.
[Начало] [Предыдущая] [Следующая] [Содержание] [Сервера Камер]
Все технические вопросы посылайте в адрес:
AXIS Internatinal Tech-Support или Техническая поддержка AXIS в Компании TerraNet© TerraNet webmaster@terranet.ru |
||
125367, Москва, Полесский проезд дом 16 офис 309 |