1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/ikaros-521-ONVIF_gSOAP_Get_basic_information_of_equipment

В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Связанные конфигурации

Сайт ONVIF: http://www.onvif.org/

Конфигурация установки gSOAP: Конфигурация установки gSOAP + пример использования + ссылки на справочные материалы

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

Справочные материалы

Статьи на тему ONVIF от Xu Zhenping: Переход на сайт

Статьи от эксперта 6, 7, 8 (в основном посвящены).

Справочные материалы по обнаружению устройств: ONVIF обнаружение устройств (веб-камеры) — заметки по примеру

Практическое применение кода

Полный исходный код доступен для загрузки: GitHub, Gitee

Как сгенерировать код ONVIF-фреймворка: ONVIF протокол для сетевых камер (IPC) — разработка клиента (6): использование gSOAP для генерации кода ONVIF-фреймворка

Поскольку эксперт не предоставил полный код в 8-й статье, его невозможно скомпилировать. В этом месте будет добавлено.

Необходимо объединить код из 7-й статьи с кодом из 8-й статьи, убрать не предоставленные экспертами заголовочные файлы и функции, заменив их своими.Процесс модификации уже был описан в комментариях к статьям эксперта, и вы можете использовать их для справки.

Для компиляции введите в терминале: gcc -o main main.c stdsoap2.c soapC.c soapClient.c wsaapi.c duration.c

Результат выполнения:

Информация об одном устройстве не может быть получена, а информация о другом устройстве успешно выведена.

Здесь можно вставить изображение

Дополнительная информация

Информация, которую я предоставляю для вывода, недостаточно полная.

//dump__wsdd__ProbeMatches(&rep); 166 строка примерно

//dump_tds__GetDeviceInformationResponse(&devinfo_resp); 217 строка примерно

__wsdd__ProbeMatches и _tds__GetDeviceInformationResponse

Поиск этих двух переменных по типу

Связанные структуры можно найти в soapStub.h

Здесь можно вставить изображение

Вот некоторые из материалов, которые я нашел, структура __wsdd__ProbeMatches содержит несколько уровней вложенности, и я не могу это выдержать.

struct __wsdd__ProbeMatches {
        /** Необязательный элемент 'wsdd:ProbeMatches' типа XML-схемы 'wsdd:ProbeMatchesType' */
        struct wsdd__ProbeMatchesType *wsdd__ProbeMatches;
};
struct wsdd__ProbeMatchesType {
        /** Последовательность элементов 'wsdd:ProbeMatch' типа XML-схемы 'wsdd:ProbeMatchType', хранящихся в динамическом массиве ProbeMatch длиной __sizeProbeMatch */
        int __sizeProbeMatch;
        struct wsdd__ProbeMatchType *ProbeMatch;
};
``````c
struct wsdd__ProbeMatchType {
        /** Обязательный элемент 'wsa:EndpointReference' типа XML-схемы 'wsa:EndpointReference' */
        struct wsa__EndpointReferenceType wsa__EndpointReference;
        /** Необязательный элемент 'wsdd:Types' типа XML-схемы 'xsd:QName' */
        char *Types;
        /** Необязательный элемент 'wsdd:Scopes' типа XML-схемы 'wsdd:ScopesType' */
        struct wsdd__ScopesType *Scopes;
        /** Необязательный элемент 'wsdd:XAddrs' типа XML-схемы 'wsdd:UriListType' */
        char *XAddrs;
        /** Обязательный элемент 'wsdd:MetadataVersion' типа XML-схемы 'xsd:unsignedInt' */
        unsigned int MetadataVersion;
};
struct _tds__GetDeviceInformationResponse {
        /** Обязательный элемент 'tds:Manufacturer' типа XML-схемы 'xsd:string' */
        char *Manufacturer;
        /** Обязательный элемент 'tds:Model' типа XML-схемы 'xsd:string' */
        char *Model;
        /** Обязательный элемент 'tds:FirmwareVersion' типа XML-схемы 'xsd:string' */
        char *FirmwareVersion;
        /** Обязательный элемент 'tds:SerialNumber' типа XML-схемы 'xsd:string' */
        char *SerialNumber;
        /** Обязательный элемент 'tds:HardwareId' типа XML-схемы 'xsd:string' */
        char *HardwareId;
};

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Использование gSOAP для генерации кода ONVIF, чтобы получить базовую информацию о сетевом видеокамерном устройстве. Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Язык

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/ikaros-521-ONVIF_gSOAP_Get_basic_information_of_equipment.git
git@api.gitlife.ru:oschina-mirror/ikaros-521-ONVIF_gSOAP_Get_basic_information_of_equipment.git
oschina-mirror
ikaros-521-ONVIF_gSOAP_Get_basic_information_of_equipment
ikaros-521-ONVIF_gSOAP_Get_basic_information_of_equipment
master