mobile CCTV,mobile surveillance,police body worn cameras

标题: 关于从NVR接收数据-WEB SDK-OCX [打印本页]

author: davy    time: 2017-2-10 10:43
标题: 关于从NVR接收数据-WEB SDK-OCX
我们已经将数据通过串口传到NVR,那么web程序如何从NVR接收数据呢
[attach]503[/attach]



author: besovideo    time: 2017-2-10 10:48
《帮助文档.txt 》中有说明,和获取GPS一样ocx接口给的是转换为16进制字符串的数据


author: fanghj90    time: 2017-2-10 10:58
您好,请查看《帮助文档.txt》。
接口调用顺序 Login -> GetPUList -> OpenDialog
OpenDialog("PU_123456",65792,48,0,0,0); 其中“PU_123456”改成您要打开串口的设备ID号。
然后等事件通知:
1、DialogEvent();通知通道打开是否成功(只通知一次,且当OpenDialog返回成功,才有通知)
2、RecvDlgData();通知收到TSP数据(DialogEvent通知成功后),注意数据格式(原数据的16进制字符串)。
author: besovideo    time: 2017-2-10 10:59
RecvDlgData(LONG hDialog, BSTR sData, LONG iDataLen);
中间那个参数传什么进去?
这个是事件,库通知应用层的,
中间那个参数 不是传进去,是事件,sData是收到的数据




author: fanghj90    time: 2017-2-10 11:03
besovideo post on2017-2-10 10:59
RecvDlgData(LONG hDialog, BSTR sData, LONG iDataLen);
中间那个参数传什么进去?

RecvDlgData是事件,只能监听,不能调用。
sData是收到的数据,数据格式看OpenDialog打开的通道类型,TSP为16进制字符串。
iDataLen是 sData的长度,可以忽略。
author: davy    time: 2017-2-10 14:53
fanghj90 post on2017-2-10 11:03
RecvDlgData是事件,只能监听,不能调用。
sData是收到的数据,数据格式看OpenDialog打开的通道类型,TS ...

只收到GPS数据,没有收到串口传的TSP数据:
({time:'1999-11-30 08:00:00',lng:117.1980163,lat:31.8522272,height:0,speed:0,angle:0.000})  

是OpenDialog的参数传的有问题吗?
OpenDialog(puid, 0x010000, 48, 0, 0, 0);


author: besovideo    time: 2017-2-10 15:02
你参数写错了。
author: davy    time: 2017-2-10 15:08
besovideo post on2017-2-10 15:02
你参数写错了。

那我应该怎么写呢?
author: fanghj90    time: 2017-2-10 15:12
davy post on2017-2-10 14:53
只收到GPS数据,没有收到串口传的TSP数据:
({time:'1999-11-30 08:00:00',lng:117.1980163,lat:31.8522 ...

您好,请查看《帮助文档.txt》。
接口调用顺序 Login -> GetPUList -> OpenDialog
OpenDialog("PU_123456",65792,48,0,0,0); 其中“PU_123456”改成您要打开串口的设备ID号。
然后等事件通知:
1、DialogEvent();通知通道打开是否成功(只通知一次,且当OpenDialog返回成功,才有通知)
2、RecvDlgData();通知收到TSP数据(DialogEvent通知成功后),注意数据格式(原数据的16进制字符串)。


如上:OpenDialog("PU_123456",65792,48,0,0,0); 其中“PU_123456”改成您要打开串口的设备ID号。
通道号填:65792或 0x010100 。
author: davy    time: 2017-2-10 15:17
fanghj90 post on2017-2-10 15:12
您好,请查看《帮助文档.txt》。
接口调用顺序 Login -> GetPUList -> OpenDialog
OpenDialog("PU_1234 ...

设备ID我在前面已经赋值,是正确的;
通道号如果填65792或0x010100,页面会直接报错关闭。

我用你们的demo程序测试也是这样的。

author: fanghj90    time: 2017-2-10 15:27
davy post on2017-2-10 15:17
设备ID我在前面已经赋值,是正确的;
通道号如果填65792或0x010100,页面会直接报错关闭。

好的,我来测试解决。
author: fanghj90    time: 2017-2-10 16:58
davy post on2017-2-10 15:17
设备ID我在前面已经赋值,是正确的;
通道号如果填65792或0x010100,页面会直接报错关闭。

老版本打开这个设备串口是会崩溃,我发了个新的版本。
版本无法上传到这里。

author: davy    time: 2017-2-10 17:02
请问新版本在哪里可以下载?
author: davy    time: 2017-2-10 17:07
fanghj90 post on2017-2-10 16:58
老版本打开这个设备串口是会崩溃,我发了个新的版本。
版本无法上传到这里。

请问更新了哪些部分,我需要将我本地的哪些文件替换还是要重新安装WebClient.exe?
author: davy    time: 2017-2-10 17:25
好了,我现在能收到数据了,非常感谢!
author: besovideo    time: 2017-2-10 17:48
好的,已更新至网盘。

author: davy    time: 2017-2-14 10:19
你好,现在接收数据有个问题是,偶尔能将数据一次收全
[attach]508[/attach];
但是多数情况是要分几段才能将数据收全
[attach]510[/attach]

author: fanghj90    time: 2017-2-14 10:24
davy post on2017-2-14 10:19
你好,现在接收数据有个问题是,偶尔能将数据一次收全

但是多数情况是要分几段才能将数据收全

您好,串口那边数据是一次发送的吗?
一般串口的数据是流传输,设备会自动分段发送,OCX是根据收到的段,通知上层。如果串口那边一次发送的,且数据量小,时间间隔短,一般是不会分段的。


author: davy    time: 2017-2-14 10:26
fanghj90 post on2017-2-14 10:24
您好,串口那边数据是一次发送的吗?
一般串口的数据是流传输,设备会自动分段发送,OCX是根据收到的段 ...

串口那边是一次发送的。
设备会自动分段的话,是不是意味着这个问题是不可避免的。
author: fanghj90    time: 2017-2-14 10:32
davy post on2017-2-14 10:26
串口那边是一次发送的。
设备会自动分段的话,是不是意味着这个问题是不可避免的。

是的,分段是不可避免的。
author: davy    time: 2017-2-14 10:34
fanghj90 post on2017-2-14 10:32
是的,分段是不可避免的。

OK,了解!
author: besovideo    time: 2017-2-14 10:40
那是否可循环接收直到收完?这样可以不?
author: davy    time: 2017-2-14 10:48
besovideo post on2017-2-14 10:40
那是否可循环接收直到收完?这样可以不?

串口每秒就会发一次,而我只在需要的时候才会取数据。
现在我只能多收几条数据,然后再来解析。
author: besovideo    time: 2017-2-14 10:50
好的,那多测试下,有问题反馈。
author: fanghj90    time: 2017-2-14 10:50
besovideo post on2017-2-14 10:40
那是否可循环接收直到收完?这样可以不?

只要不关闭通道,是一直接收数据的。每收到数据,会通知上层。
author: davy    time: 2017-2-14 11:01
fanghj90 post on2017-2-14 10:50
只要不关闭通道,是一直接收数据的。每收到数据,会通知上层。

OK,我先这样测试下稳定性。
还有个问题是, 我如果把初始化→Login -> GetPUList -> OpenDialog一个方法执行下来,就收不到数据,也不会报错。我把GetPUList 和OpenDialog都延迟1秒,就可以正常收数据,这是什么原因呢。
author: fanghj90    time: 2017-2-14 11:14
davy post on2017-2-14 11:01
OK,我先这样测试下稳定性。
还有个问题是, 我如果把初始化→Login -> GetPUList -> OpenDialog一个方 ...

收不到数据是通道没有打开。
OpenDialog()返回值应该是零。
这是因为OCX内部自动GetPUList在执行,还没有收到完整的设备列表。
建议:监听OnPUStatus()事件,记录获取到的设备列表,
防止要打开的设备都不在登录的服务器上,或者设备不在线,或者设备没有串口通道 等。
author: davy    time: 2017-2-14 11:17
fanghj90 post on2017-2-14 11:14
收不到数据是通道没有打开。
OpenDialog()返回值应该是零。
这是因为OCX内部自动GetPUList在执行,还没 ...

好的,谢谢




欢迎光临 mobile CCTV,mobile surveillance,police body worn cameras (http://bbs.besovideo.com:8067/) Powered by Discuz! X3.2