faq обучение настройка
Текущее время: Пт апр 26, 2024 08:15

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
 Заголовок сообщения: "Простой" способ работы с 3220
СообщениеДобавлено: Вс мар 18, 2007 21:24 
Не в сети

Зарегистрирован: Вс мар 18, 2007 20:42
Сообщений: 4
Отдельным подзаголовком можно пустить "...или почему в России военные не будут использовать продукцию Д-Линк"...

Итак, поставили нам военные задачу, что надо получить с камеры картинку, обработать и по результатам - произвести некие действия... Конкретно рассказывать не буду - подписку давал...
В нормальной ситуации всё просто - есть Веб-камера на ЮСБ и методика отработана до мелочей...
Но нет! Сложность задачи была в том, что камера должна быть удалена от машины и соединяться через ВиФи или сетевой кабель.
По итогам "мозгового штурма" (у них) были в декабре 2006 куплены DCS-3220 (с POE) и DCS-3220G, и "спущены" сверху с указанием "вот на них и делайте!"...
Полезли на сайт, просмотрели форум... Стандартные средства не помогают - ну не в кайф Д-Линку делать стандартные камеры с потоковым видео! Остаётся SDK, запрос на который и был послан в Поддержку...
...Где он и был благополучно похоронен - за два с лишним месяца ни ответа ни привета...
Вобщем по итогам для отчётности был найден способ "через одно место" + приписка к отчёту, в которой не рекомендовалось по итогам практического использования брать для задачи продукцию Д-Линк... С учётом того, что предполагаемая закупка была-бы "всего" под тысячу штук комплектов - для Д-Линка в целом это, видимо, капля в море...

Вобщем это всё лирика.
Практическая реализация "в лоб" на Си Билдере 6.0:
Исходные: Можно с определённого адреса на камере получить jpg с текущим скрин-шотом.
Компоненты на форме - TNMHTTP + TImage (плюс кнопка или таймер для активации)
Код:
        Body = "C:\\gameimagesincom.jpg";
        URL="http://192.168.0.4/cgi-bin/video.jpg";

        NMHTTP1->InputFileMode=true;
        NMHTTP1->OutputFileMode=false;
        NMHTTP1->Body=Body;
        NMHTTP1->Close(1);

        NMHTTP1->Get(URL);

        TJPEGImage *myjpeg = new TJPEGImage();
        myjpeg->LoadFromFile(Body);
        myjpeg->DIBNeeded();
        Image1->Picture->Bitmap->Assign(myjpeg);
        delete myjpeg;


В теории можно через TStream завязать получение картинки прямо в JPEG, минуя запись на диск, но... В начальной задаче секундный скриншот (+секунда задержки от съёмки скриншота) нас вполне удовлетворяли... В практической задаче в условиях боя - нет (что сказали военные насчёт двух секунд задержки - я промолчу. Ругаться они умеют)...
Если кому пригодится наш опыт - буду рад. В отличие от SDK, которое открыто распространять Д-Линк права не имеет, этот кусочек кода объявляю фриварным.


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 60


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB