onvif学习总结

本文档详细介绍了ONVIF协议的学习过程,包括如何使用gsoap-2-8工具进行远程发现(Discovery)的步骤。从下载remotediscovery.wsdl文件开始,到通过命令行工具生成所需的代码文件,直至编写客户端和服务端函数并完成编译。

onvif学习总结

           开始接触onvif协议,不知道从哪里下手,就百度什么是onvif?接触的第一个文件onvif培训.ppt(http://download.youkuaiyun.com/detail/zhuyanling0106/5153310),可总觉得还不是很明白,后来知道了一个工具gsoap-2-8(http://download.youkuaiyun.com/detail/zhuyanling0106/5183814),后来就在网上找了很多资料去了解,也下了一些别人的例子,对discovery步骤如下:

1.        在onvif官网下载remotediscovery.wsdl文件   下载网站为:http://www.onvif.org/onvif/ver10/network/wsdl/remotediscovery.wsdl  直接拷贝这个链接, 放到下载工具中

2.       将工具中的typemap.dat文件加入到你编译的文件中,对typemap.dat文件进行更改:将一下加入到文件尾部

#       ONVIF recommended prefixes
tds     = "http://www.onvif.org/ver10/device/wsdl
"
tev     = "http://www.onvif.org/ver10/events/wsdl
"
tls     = "http://www.onvif.org/ver10/display/wsdl
"
tmd     = "http://www.onvif.org/ver10/deviceIO/wsdl
"
timg    = "http://www.onvif.org/ver20/imaging/wsdl
"
trt     = "http://www.onvif.org/ver10/media/wsdl
"
tptz    = "http://www.onvif.org/ver20/ptz/wsdl
"
trv     = "http://www.onvif.org/ver10/receiver/wsdl
"
trc     = "http://www.onvif.org/ver10/recording/wsdl
"
tse     = "http://www.onvif.org/ver10/search/wsdl
"
trp     = "http://www.onvif.org/ver10/replay/wsdl
"
tan     = "http://www.onvif.org/ver20/analytics/wsdl
"
tad     = "http://www.onvif.org/ver10/analyticsdevice/wsdl
"
tdn     = "http://www.onvif.org/ver10/network/wsdl
"
tt      = "http://www.onvif.org/ver10/schema
"
#       OASIS recommended prefixes
wsnt    = "http://docs.oasis-open.org/wsn/b-2
"
wsntw   = "http://docs.oasis-open.org/wsn/bw-2
"
wsrfbf  = "http://docs.oasis-open.org/wsrf/bf-2
"
wsrfr   = "http://docs.oasis-open.org/wsrf/r-2
"
wsrfrw  = "http://docs.oasis-open.org/wsrf/rw-2
"
wstop   = "http://docs.oasis-open.org/wsn/t-1
"
#       WS-Discovery 1.0 remapping
wsdd10__HelloType               = | wsdd__HelloType
wsdd10__ByeType                 = | wsdd__ByeType
wsdd10__ProbeType               = | wsdd__ProbeType
wsdd10__ProbeMatchesType        = | wsdd__ProbeMatchesType
wsdd10__ProbeMatchType          = | wsdd__ProbeMatchType
wsdd10__ResolveType             = | wsdd__ResolveType
wsdd10__ResolveMatchesType      = | wsdd__ResolveMatchesType
wsdd10__ResolveMatchType        = | wsdd__ResolveMatchType
#       SOAP-ENV mapping
SOAP_ENV__Envelope      = struct SOAP_ENV__Envelope { struct SOAP_ENV__Header *SOAP_ENV__Header; _XML SOAP_ENV__Body; }; | struct SOAP_ENV__Envelope
SOAP_ENV__Header        = | struct SOAP_ENV__Header
SOAP_ENV__Fault         = | struct SOAP_ENV__Fault
SOAP_ENV__Detail        = | struct SOAP_ENV__Detail
SOAP_ENV__Code          = | struct SOAP_ENV__Code
SOAP_ENV__Subcode       = | struct SOAP_ENV__Subcode

 

3.在linux中输入命令:wsdl2h   -o onvif.h -c -s -typemap.dat  .../remotediscovery.wsdl       生产onvif.h头文件

4.输入命令:    ./soapcpp2 -c onvif.h -x -I /home/user/gsoap-2.8/gsoap/import -I /home/user/gsoap-2.8/gsoap/         生产一些.h  .c  等文件

5.编写server和client函数

6.写makefill文件

7.编译

8.下载测试工具http://download.youkuaiyun.com/detail/zhuyanling0106/5161160

 

 

 

onvif  全部wsdl文件:http://www.onvif.org/onvif/ver20/util/operationIndex.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值