Qt编写Onvif搜索及云台控制工具

Qt编写Onvif搜索及云台控制工具,第1张

这个工具很早以前大概在2013年就想做了,后面杂七杂八的事情一再耽搁,记得当时最初用的是soap类来搜索和解析的,后面发现太大了,每次编译都要等好久,光源码文件加起来都快10MB了,而且函数名非常另类,大量的下划线等,反正本人非常不适应,近期经过一个朋友(QQ:408815041)的前期探索,对整个处理流程熟悉以后,发现其实用纯Qt也可以实现,核心就是udp搜索+post数据

本程序框架的最大难点在找出对应的数据以及节点数据解析。找出对应的数据可以直接使用官方的ONVIF Device Test Tool,抓包即可。数据解析一开始采用xml的节点解析,发现根本行不通,因为返回的数据不是标准的xml数据,而是soap格式的数据,需要用QXmlQuery来解析。本程序只实现了设备信息的搜索和云台控制,并未实现服务端,服务端一般是IPC或者NVR上来实现。

体验地址: https://pan.baidu.com/s/1bbL2ZughZAgfIGrexyN-9g 提取码:zkeh,下面的bin_onviftool.zip,如果是XP系统,请先执行目录下的游旁fixff.cmd。

ONVIF致力于通过全球性的开放接口标准来推进网络视频在安防市场的应用,这一接口标准将确保不同厂商生产的网络视频产品具有互通性。2008年11月,正式发布了ONVIF第一版规范——ONVIF核心规范1.0。随着视频监控的网络化应用,产业链的分工将越来越细。有些厂商专门做摄像头,有些厂商专门做DVS,有些厂商则可能专门做平台等,然后通过集成商进行集成,提供给最终客户。这种产业合作模式,已经迫切的需要行业提供越来越标准化的接口平台。

ONVIF规范描述了网络视频的模型、接口、数据类型以及数据交互的模式。并复用了一些现有的标准,如WS系列标准等。ONVIF规范的目标是实现一个网络视频框架协议,使不同厂商所生产的网络视频产品(包括摄录前端、录像设备等)完全互通。

ONVIF规范中设备管理和控制部分所定义的接口均以Web Services的形式提供,设备作为服务提供者为服务端升磨漏。ONVIF规范涵盖了完全的XML及WSDL的定义。每一个支持ONVIF规范的终端设备均须提供与功能相应的Web Service。服务端与客户端的数据交互采用SOAP协议。ONVIF中的其他部分比吵烂如音视频流则通过RTP/RTSP进行。

自己已经没有信心能完成了,so还是先记录下目前已有的一些资料吧。

德国人做的brugi,地址在这里 https://sourceforge.net/projects/brushless-gimbal-brugi/

缺点是两轴的,优点是基于arduino而且开源

立陶宛的EvvGc,地址在这里 https://github.com/EvvGC

优点是三轴的,但是是基于stm32做的……

淘宝上好像都是基于BGC做的板子。。。还在找相关的资料。。 貌似不开源 (好像说原来是开源的,现在不开源了),不过淘宝上全是破解的。。这个是链接 http://www.basecamelectronics.com/simplebgc32bit/

好像还有一个叫VR gimbal的? https://vrgimbal.wordpress.com/

2016年03月22日 UPTDATE:

买了一个2208云台电机,但是完全搞不懂是怎么控制的。。。好像很多都是基于GBC开发的如启,但是BGC官网竟然也不写配套什么样的电机。。。

又找到一个好像硬件开源软件不开源的。。storm32bgc: http://www.olliw.eu/storm32bgc-wiki/Main_Page :

2016年03月23日 UPDATE:

找到一个对比bgc和burgi的视频,好像还是bgc比较厉害啊。。 http://v.youku.com/v_show/id_XNTYwOTUzMzA0.html

恩,现在的问题是普通的电调好像不能正反转,我的这个电机好像只能用在bgc的板子上,bgc好像用了L6245D这个芯片驱动,我正在看这个的数据手册

2016年03月24日 UPDATE:

看了下brugi的资料,大概就是用arduino接到了一个l6234的芯片上面来驱动电机

额,然后找到个开源的电调。。。BL Heli,地址在这里 https://github.com/bitdump/BLHeli

2016年03月28日 UPDATE:

找到一个网站上面分享了几个云台的项目,还包含一些单反用的云台 http://www.diygimbals.com/category/gimbals/

另外有一个叫STorM32 BGC的,硬件和GUI是开源的,但是固件好像不开源,虽然是免费的。 https://github.com/olliw42/storm32bgc

2016年03月30日 UPDATE:

总算让电机转起来了。。买了一个bgc的板子。。。。然后电机被拽断一根线,又拆了一晚上电机。。原来念橡虚拆无刷电机还需要用火烤。。 https://youtu.be/JPgeDmQNvio

然后先这样吧。。对了,电机接控制板是能看到触点的那边冲上的。。

2017年02月23日 UPDATE:

更新下吧,最近恰好又要做这个方面的项目,然后找到些东西仔燃。

无刷电机驱动IC:simpleBGC用的是L6234D,然后STorM32用的是drv8313。

另外我一直想找一个只有无刷驱动器的模块不知道为什么一直找不到(不是电调,是正反转但是功率很低的。。),然后现在的解决方案是找到了simpleBGC的第三轴扩展模块,上面有一个单片机,有一个L6234D。我在看怎么给单片机信号让他控制电机转。。

找到了simpleBGC32的源码好像。。 http://download.csdn.net/detail/asdfg547/9634305?locationNum=3

alexmos的github上面有一个叫 sbgc-api-examples 的库好像有些simpleBGC8的一些东西,因为simpleBGC32是没有扩展板的。。。所以看看这个是不是能找到怎么驱动控制板

华为云WeLink官方版是尺尺一款出枯仿自华为之手的云办公协同工具,华为云WeLink最新版功能强劲,可以提供相当出色的数字化办公协作平台。

pc端安装方法:

1、下载华为云WeLink官方版软件压缩包,然后进行解压,解压后,双击exe程序,进入安装界面,然后点击确定

2、设置软件的安装位置,建议安装在D盘,设置好之后点击下一步

3、设置快捷方式的安装位置,设置好之后点击下一步

4、点击下一步

5、点击安装

6、正在安装,请耐心陵败高等待......

7、软件安装成功


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12450583.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存