、    

 

海康威视门禁设备线路反潜回配置指导

适用型号:门禁主机 如DS-K260X、DS-K261X、DS-K262X系列

门禁一体机DS-K1T673、DS-K1T670系列等

场景说明
(1)反潜回功能是指在客户端中设置好刷卡开门路径,若不按此路径刷卡,门
将无法打开。可根据所需设置反潜回路径。适用于对刷卡路径有顺序要求的场景。
(2)不支持跨控制器线路反潜回。
(3)线路反潜回:某企业展厅对访客开放参观,需确保访客按预设路线活动,
避免进入敏感区域或随意折返。

场景示意图

配置步骤
1、读卡器接线拨码
读卡器与主机的接线及拨码如下图所示:

韦根方式接读卡器

485 方式接读卡器

2、4200下发权限
人员添加权限下发详细操作可站内搜索

打开4200客户端软件,以AC版本为例,添加设备后,在人员管理中组织:
新增人员和卡号。

新增人员和卡号。

点击访问控制—权限组,创建权限组下发所有人权限。

创建权限组下发所有人权限

3、线路反潜回配置
点击访问控制—高级配置—反潜回,选择对应设备, 设置首个读卡器,选择
进门读卡器1

线路反潜回配置

设置后续读卡器
① 进门读卡器1的“后续读卡器”选择:进门读卡器3;
② 进门读卡器3的“后续读卡器”选择:进门读卡器5;
③ 进门读卡器5的“后续读卡器”选择:进门读卡器7;
④ 进门读卡器7的“后续读卡器”选择:进门读卡器1;
点击保存,提示保存成功即可。

点击保存,提示保存成功即可

功能效果验证
正常刷卡流程,先刷读卡器1->再读卡器3->再读卡器5->再读卡器7
正常事件如下:普通卡认证通过

功能效果验证

错误操作:先刷读卡器1->再读卡器3->再读卡器5->再读卡器3
事件如下:反潜回认证无效

反潜回认证无效

海康威视DS-K1T692、DS-K1T692A、DS-K1T693、DS-K1T693A调试指导

详细内容如有需要,请添加站长微信(内容末尾)

发送设备型号获取(注:需付费1元)

—————————————————————————————————-

内容目录

DS-K1T692A系列调试指导

DS-K1T692系列调试指导

DS-K1T693A系列调试指导

DS-K1T693系列调试指导

—————————————————————————————————-

内容摘选

DS-K1T692A磁力锁接线

磁力锁接线

适用于上电锁门,断电开锁。以磁力锁为例,磁力锁供电端子V+V-,一体机输出开关量信号端子为NC和COM。开关电源的12V接到一体机NC上,一体机COM接线到磁力锁的V+上,磁力锁的V-接线到开关电源的GND上。

电插锁接线

电插锁接线

DS-K4T100C接线
开关电源的12V接到一体机NC上,一体机COM接线到电插锁的V+上,磁力锁的V-接线到开关电源的GND上。

—————————————————————————————————-

详细内容如有需要,请添加站长微信,发送设备型号获取(注:需付费1元)

学海无涯 走一路学一路 站长微信I

海康威视集中式拼控DS-C33S设备产品调试指导

详细内容如有需要,请添加站长微信(内容末尾)

发送设备型号获取(注:需付费1元)

—————————————————————————————————-

内容目录

集中式拼控DS-C33S设备产品 调试指导目录一集中式拼控DS-C33S设备产品 调试指导目录二

 

—————————————————————————————————-

详细内容如有需要,请添加站长微信,发送设备型号获取(注:需付费1元)

学海无涯 走一路学一路 站长微信I

海康威视周界毫米波雷枪球一体机 —-雷达标定调试指导

详细内容如有需要,请添加站长微信(内容末尾)

发送设备型号获取(注:需付费1元)

—————————————————————————————————-

内容目录

周界毫米波雷枪球一体机 雷达标定调试指导
周界毫米波雷枪球一体机 雷达标定调试指导

—————————————————————————————————-

内容摘选

第四章 球机雷达标定

4.1 雷达基础配置
点击【智能应用】-【配置应用】-【雷达配置】,选择“基础信息”,根据现场实际需要
检测的最远距离来修改“最远检测距离”。比如说,实际检测场景最远处距离设备
170m,可以修改“最远检测距离”为200m。

最远检测距离修改
4.2 雷达水平标定
点击【雷达标定】-【水平标定】,标定方式选择“自动”,球机会自动回水平位置,点
击“开始标定”。标定成功后页面会弹窗显示当前设备架设角度大小,如偏差较大,需
调整设备的安装架设。

雷达水平标定

4.3 球机雷达标定
球机雷达标定主要有两种方式,推荐优先采用工具标定,其次可选手动标定。两种方
式选取一种进行标定即可。
4.3.1 手动标定
点击【雷达标定】-【雷达标定】,
1、选择标定方式为手动标定。手动标定过程中,需确保场景中有人员移动。
2、点击添加一个新的标定点。
3、提前将中心绿色十字对准目标必经之处,待目标踩住绿色十字时,点击雷达图中的
目标点获取雷达坐标,再点击右侧PTZ位置按钮获取PTZ坐标。
4、重复2-3步骤,标定多个坐标点。
一般可让标定人员从设备近处往远处沿直线走,每隔30-40m左右标定一个点。
5、完成所有标定点添加后,单击开始标定完成手动标定。

…………………………………………………

—————————————————————————————————-

详细内容如有需要,请添加站长微信,发送设备型号获取(注:需付费1元)

学海无涯 走一路学一路 站长微信I

海康威视周界毫米波雷枪球一体机 —-全景雷视融合调试指导

详细内容如有需要,请添加站长微信(内容末尾)

发送设备型号获取(注:需付费1元)

—————————————————————————————————-

内容目录

周界毫米波雷枪球一体机全景雷视融合检测调试指导
周界毫米波雷枪球一体机全景雷视融合检测调试指导

—————————————————————————————————-

内容摘选

周界毫米波雷枪球主要用于工业厂区、企业园区、区域管控等周界安防场景,主要有
三种使用方式,通常选择其中一种方式使用即可:
1、纯视频检测:主要基于全景通道2/3进行smart周界事件检测,纯视频方案无需进
行雷达相关配置,配置简单,适用于场景干净(干扰目标少)、日常环境照度良好、检
测距离较近的情况。
可实现全景摄像机对设定区域进行布防,当检测到目标时联动细节摄像机对目标进行
跟随报警,实现周界布防。
2、全景雷视融合检测:主要基于全景通道2/3进行smart周界事件检测。需要进行全
景雷达标定,将全景视频与雷达进行关联,可实现视频优先、雷达优先、雷视融合三
种模式进行检测。
同样可实现全景摄像机对设定区域进行布防,当检测到目标时联动细节摄像机对目标
进行跟随报警,实现周界布防。
3、雷达检测:需要进行球机雷达标定,将球机视频与雷达进行关联。
可实现雷达检测到目标后,联动球机进行复核,复核成功后可对目标进行跟随报警,
实现周界布防。
本文主要针对全景雷视融合检测功能,对全景雷达标定和规则事件配置进行相关说
明。如采用纯视频检测方案,无需配置第5章“全景雷达标定”的内容。
纯视频检测配置流程参考(必配项):场景调整——主从标定——6.1Smart事件配置—
—6.3 联动跟踪配置。
全景雷视融合检测配置流程参考(必配项):场景调整——主从标定——5.2雷达水平
标定——5.3全景雷达标定——事件配置。、

第三章 场景调整 

 周界毫米波雷球一体机的两个全景枪机和雷达为一体式设计,会一起转动。因此在标
定前需先调整全景镜头画面到需要监控区域,将检测区域尽量处于全景画面的中心位
置。
全景01和全景02朝向角度大致相同,其中全景01支持5倍变倍,可用于监控较远处
的区域。
【配置】-【标定】-【全景相机配置】点击解锁云台,控制全景通道的云台转动变倍到需要监控的场景后,点击“保存场景”。(全景01支持5倍变倍,支持0-270°水平转
动,-11°-11°垂直转动)。再点击“保存”。
如下图,实际对进入道路上的人员进行检测,需调整全景水平位置,使道路处于画面
的中心区域。

全景画面调整
全景画面调整

    第四章 主从标定

点击【配置】-【标定】-【主从标定】进入标定界面。优先采用自动标定。
1、选择“自动标定模式”,选择当前需要标定的通道通道2;
2、控制云台键转动细节相机(球机),使细节相机画面中心的绿十字中心与全景相机
画面的中心点基本一致。
中心点对准后,再调整细节相机倍率,使细节相机整体画面与全景相机画面基本一
致。
3、点击开始标定。
4、通道2标定成功后,选择通道3,重复2-3步骤,完成通道3的标定。
注意:标定请在白天进行。细节相机与全景相机画面对得越准,自动标定越容易成
功。如果提示标定失败,请再微调细节相机画面后,尝试标定。

……………………………………………………………….

—————————————————————————————————-

详细内容如有需要,请添加站长微信,发送设备型号获取(注:需付费1元)

学海无涯 走一路学一路 站长微信I

海康威视25、27系列、2200 GF、2200 XF系列全网管型交换机配置指导

详细内容如有需要,请添加站长微信(内容末尾)

发送设备型号获取(注:需付费1元)

—————————————————————————————————-

交换机基础配置

802.1X配置手册

AA配置手册

CPU防攻击配置手册

DoS防攻击配置手册

ERPS配置手册

IPv4基础配置手册

IPv6基础配置手册

MAC地址管理配置手册

MAC地址认证配置手册

MVRP配置手册

NTP配置手册

QoS配置手册

SmartConfig配置手册

STP-RSTP-MSTP(生成树)配置手册

 

—————————————————————————————————-

详细内容如有需要,请添加站长微信,发送设备型号获取(注:需付费1元)

学海无涯 走一路学一路 站长微信I

海康威视ISC平台常用配置指导V2.11

详细内容如有需要,请添加站长微信(内容末尾)

发送设备型号获取(注:需付费1元)

—————————————————————————————————-

【配置调测】iSC平台访客H5预约申请配置【2.1.1版本】

【配置调测】iSC平台访客预约配置【2.1.1版本】

【配置调测】iSC平台事件规则配置【2.1.1版本】

【配置调测】iSC平台事件联动弹窗配置【2.1.1版本】

【配置调测】iSC平台事件联动语音配置【2.1.1版本】

【配置调测】iSC平台图上监控添加地图链接配置【2.1.1版本】

【配置调测】iSC平台系统管理基础人员导入配置【2.1.1版本】

【配置调测】iSC平台系统管理基础人员添加配置【2.1.1版本】

【配置调测】iSC平台系统管理基础信息生物特征采集人脸配置【2.1.1版本】

【配置调测】iSC平台系统管理基础信息生物特征采集指纹配置【2.1.1版本】

.【配置调测】iSC平台综合管控添加人脸分组配置【2.1.1版本】

【配置调测】iSC平台电视墙监控点键盘控制码配置【2.1.1版本】

【配置调测】iSC电视墙画面放大配置【2.1.1版本】

—————————————————————————————————-

详细内容如有需要,请添加站长微信,发送设备型号获取(注:需付费1元)

学海无涯 走一路学一路 站长微信I

C#通过SIP协议实现对网络广播音柱的声音播放

1、电脑端下载并安装FreeSWITCH,配置教程可千问、豆包,防火墙端口要配置正确SIP(5506),FSL(8821),RTP(16384-32768)

2、网络广播音柱配置

参数填写FreeSwitch端分配的帐户信息

网络广播音柱SIP配置

音频编码PCMA或者PCMU(站长用的是PCMU)

网络广播音柱音频编码配置

参数填写完成后,重启下音柱

3、实现代码

internal static class ClassSIP
{
private const string FsIp = “192.168.5.250”;//这个是站长FreeSwitch服务器的地址
private const int FsEslPort = 8821;//FreeSwitch服务器默认端口
private const string FsPassword = “ClueCon”;//FreeSwitch服务器默认的一个登录密码,站长没有改

private static Socket _eslSocket;
private static readonly ConcurrentDictionary<string, string> _extCallUuid = new ConcurrentDictionary<string, string>();
private static readonly ConcurrentDictionary<string, string> _jobMap = new ConcurrentDictionary<string, string>();
private static readonly object _lockInit = new object();
private static Thread _eventThread;
private static bool _runEvent = false;
private static readonly Encoding ASCII = Encoding.ASCII;

// 事件、命令应答缓冲区完全隔离,杜绝粘包污染
private static readonly StringBuilder _eventBuf = new StringBuilder();
private static readonly object _lockEventBuf = new object();

public static bool FunInitSip()
{
lock (_lockInit)
{
if (_eslSocket != null && _eslSocket.Connected)
return true;

Cleanup();
Thread.Sleep(60);

try
{
_eslSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
{
SendTimeout = 3000,
ReceiveTimeout = 1000
};
//ClassSystem.FunCreateRunLog($”FreeSwitch:准备连接 {FsIp}:{FsEslPort}”);
IPEndPoint ep = new IPEndPoint(IPAddress.Parse(FsIp), FsEslPort);
var ar = _eslSocket.BeginConnect(ep, null, null);
if (!ar.AsyncWaitHandle.WaitOne(3000))
{
_eslSocket.Close();
_eslSocket = null;
//ClassSystem.FunCreateRunLog(“FreeSwitch:连接超时”);
return false;
}
_eslSocket.EndConnect(ar);
//ClassSystem.FunCreateRunLog(“FreeSwitch:TCP连接建立成功”);

ReadCmdReply();
SendRaw($”auth {FsPassword}\r\n\r\n”);
string authRes = ReadCmdReply();
if (!authRes.Contains(“+OK”))
{
//ClassSystem.FunCreateRunLog(“FreeSwitch:认证应答异常”);
Cleanup();
return false;
}

SendRaw(“event plain BACKGROUND_JOB CHANNEL_CREATE CHANNEL_HANGUP_COMPLETE\r\n\r\n”);
ReadCmdReply();

_runEvent = true;
_eventThread = new Thread(EventWorker) { IsBackground = true };
_eventThread.Start();
//ClassSystem.FunCreateRunLog(“FreeSwitch:ESL连接FreeSWITCH成功,事件订阅完成”);
return true;
}
catch (Exception ex)
{
//ClassSystem.FunCreateRunLog($”FreeSwitch:连接异常 {ex.Message}”);
Cleanup();
return false;
}
}
}

public static bool CallSingleSpeaker(string ext, string audioPath)
{
if (_eslSocket == null || !_eslSocket.Connected)
{
//ClassSystem.FunCreateRunLog(“FreeSwitch:连接失效,尝试重连”);
if (!FunInitSip())
{
//ClassSystem.FunCreateRunLog(“FreeSwitch:重连失败”);
return false;
}
}

if (_extCallUuid.ContainsKey(ext))
{
//ClassSystem.FunCreateRunLog($”音柱 {ext} 正在播放,禁止重复呼叫”);
return false;
}

try
{
string path = audioPath.Replace(‘\\’, ‘/’);
string jobId = Guid.NewGuid().ToString(“N”);
//PCMU 适用于简单的单向通知。例如:呼叫分机,接通后播放一段欢迎语或通知,播放完毕后呼叫通常会自动挂断。
string cmd = $”bgapi originate {{origination_uuid={jobId},codec=PCMU}}user/{ext} &playback({path})\r\n\r\n”;
//适用于需要双向交互或复杂路由的场景。因为 bridge 建立了双向媒体通道,如果 playback 之后还有其他应用(例如 &record 录音,或者 &park 保持通话),或者需要监听通话过程中的 DTMF 按键,使用 bridge 会更加灵活。此外,bridge 可以桥接真实的 SIP 用户、会议(conference)或外部服务。
// string cmd = $”bgapi originate {{origination_uuid={jobId},absolute_codec_string=PCMU}}user/{ext} bridge(playback({path}))\r\n\r\n”;

SendRaw(cmd);

string res = ReadCmdReply();
// 不再打印res原始内容,彻底屏蔽大包刷屏
string jobUuid = GetHeader(res, “Job-UUID”);
if (string.IsNullOrEmpty(jobUuid))
{
//ClassSystem.FunCreateRunLog($”呼叫{ext}失败:未获取Job-UUID”);
return false;
}

_jobMap.TryAdd(jobUuid, ext);
//ClassSystem.FunCreateRunLog($”已发起音柱{ext}播放,等待分配通话ID,JobID:{jobUuid}”);
return true;
}
catch
{
return false;
}
}

public static void HangUpSingle(string ext)
{
if (_extCallUuid.TryRemove(ext, out string uuid))
{
SendRaw($”api uuid_kill {uuid}\r\n\r\n”);
ReadCmdReply();
//ClassSystem.FunCreateRunLog($”挂断音柱 {ext},通话ID:{uuid}”);
}
}

public static void HangUpAll()
{
foreach (var kv in _extCallUuid)
HangUpSingle(kv.Key);
}

public static bool IsSpeakerBusy(string ext) => _extCallUuid.ContainsKey(ext);

public static void DisposeSip()
{
lock (_lockInit)
{
_runEvent = false;
HangUpAll();
_eslSocket?.Close();
_eslSocket?.Dispose();
_eslSocket = null;
lock (_lockEventBuf) _eventBuf.Clear();
_extCallUuid.Clear();
_jobMap.Clear();
//ClassSystem.FunCreateRunLog(“ESL资源全部释放”);
}
}

#region 底层收发
private static void SendRaw(string msg)
{
if (_eslSocket == null || !_eslSocket.Connected) return;
try
{
byte[] data = ASCII.GetBytes(msg);
_eslSocket.Send(data);
}
catch (Exception ex)
{
//ClassSystem.FunCreateRunLog($”ESL发送异常:{ex.Message}”);
}
}

/// <summary>命令应答独立接收,不受事件干扰</summary>
private static string ReadCmdReply(int timeout = 3000)
{
StringBuilder buf = new StringBuilder();
byte[] temp = new byte[1024];
DateTime expire = DateTime.Now.AddMilliseconds(timeout);

while (DateTime.Now < expire)
{
if (_eslSocket == null || !_eslSocket.Connected) break;
int len;
try
{
len = _eslSocket.Receive(temp, SocketFlags.Peek);
if (len <= 0)
{
Thread.Sleep(10);
continue;
}
len = _eslSocket.Receive(temp);
}
catch (SocketException)
{
break;
}
buf.Append(ASCII.GetString(temp, 0, len));
string all = buf.ToString();
int endPos = all.IndexOf(“\r\n\r\n”);
if (endPos >= 0)
{
return all.Substring(0, endPos + 4);
}
}
return buf.ToString();
}

private static void EventWorker()
{
byte[] tempBuf = new byte[4096];
while (_runEvent)
{
if (_eslSocket == null || !_eslSocket.Connected)
{
//ClassSystem.FunCreateRunLog(“ESL链路断开,事件线程退出”);
break;
}
try
{
int len = _eslSocket.Receive(tempBuf);
if (len <= 0)
{
Thread.Sleep(20);
continue;
}
lock (_lockEventBuf)
{
_eventBuf.Append(ASCII.GetString(tempBuf, 0, len));
}

while (true)
{
string total;
lock (_lockEventBuf) total = _eventBuf.ToString();
int headerEnd = total.IndexOf(“\r\n\r\n”);
if (headerEnd < 0) break;

int contentLen = 0;
int clIndex = total.IndexOf(“Content-Length: “);
if (clIndex > -1)
{
int lineEnd = total.IndexOf(“\r\n”, clIndex);
if (lineEnd > clIndex)
{
string numStr = total.Substring(clIndex + 16, lineEnd – clIndex – 16).Trim();
int.TryParse(numStr, out contentLen);
}
}
int fullSize = headerEnd + 4 + contentLen;
if (total.Length < fullSize) break;

string oneEvent;
lock (_lockEventBuf)
{
oneEvent = _eventBuf.ToString(0, fullSize);
_eventBuf.Remove(0, fullSize);
}
// 只内部解析处理事件,【不再打印事件原文日志】
ProcessEvent(oneEvent);
}
}
catch (SocketException)
{
lock (_lockEventBuf) _eventBuf.Clear();
Thread.Sleep(80);
}
catch (Exception ex)
{
//ClassSystem.FunCreateRunLog($”事件线程异常:{ex.Message}”);
Thread.Sleep(200);
}
}
//ClassSystem.FunCreateRunLog(“ESL事件监听线程终止”);
}

private static void ProcessEvent(string evt)
{
string evtName = GetHeader(evt, “Event-Name”);

if (evtName == “BACKGROUND_JOB”)
{
string jobUuid = GetHeader(evt, “Job-UUID”);
string callUuid = GetHeader(evt, “Unique-ID”);

if (string.IsNullOrEmpty(jobUuid) || string.IsNullOrEmpty(callUuid))
return;

string ext = null;
if (!_jobMap.TryRemove(jobUuid, out ext))
{
Thread.Sleep(15);
if (!_jobMap.TryRemove(jobUuid, out ext))
{
Thread.Sleep(15);
if (!_jobMap.TryRemove(jobUuid, out ext))
{
//ClassSystem.FunCreateRunLog($”警告:BACKGROUND_JOB[{jobUuid}] 任务不存在,事件超前或已处理”);
return;
}
}
}

if (_extCallUuid.TryAdd(ext, callUuid))
{
//ClassSystem.FunCreateRunLog($”音柱{ext}成功分配通话ID:{callUuid}(BACKGROUND_JOB匹配)”);
}
else
{
//ClassSystem.FunCreateRunLog($”音柱{ext}通话ID存入失败,状态已存在”);
}
return;
}

if (evtName == “CHANNEL_HANGUP_COMPLETE”)
{
string hangUuid = GetHeader(evt, “Unique-ID”);
foreach (var kv in _extCallUuid)
{
if (kv.Value == hangUuid)
{
_extCallUuid.TryRemove(kv.Key, out _);
//ClassSystem.FunCreateRunLog($”音柱{kv.Key}通话挂断,释放ID:{hangUuid}”);
break;
}
}
return;
}
}

private static string GetHeader(string src, string key)
{
string search = $”{key}: “;
int pos = src.IndexOf(search);
if (pos < 0) return string.Empty;
int lineEnd = src.IndexOf(“\r\n”, pos);
if (lineEnd < 0) lineEnd = src.Length;
return src.Substring(pos + search.Length, lineEnd – pos – search.Length).Trim();
}

private static void Cleanup()
{
_runEvent = false;
_eslSocket?.Close();
_eslSocket?.Dispose();
_eslSocket = null;
lock (_lockEventBuf) _eventBuf.Clear();
}
#endregion
}

4、调用方式

应用程序启动事件里,调用: ClassSIP.FunInitSip();

需要播放的代码调用:  ClassSIP.CallSingleSpeaker(valueSipID, valueAudioFilePath))

//valueSipID为SIP帐号,valueAudioFilePath为要播放的音频文件

5、音频文件转换

文字转语音   https://ttsmaker.cn/

音频文件转换  https://g711.org/            PCMU第一个   PCMA第二个

搭配普通摄像头可轻松识别车牌的车牌识别模型

详细内容如有需要,请添加站长微信(内容末尾)

发送设备型号获取(注:需付费20元)

—————————————————————————————————-

网上搜集的大神训练的车牌识别模型,搭配普通摄像头可轻松识别车牌,速度快,适合那种一进一出的场景,多台车同时进出没有测试过

两个模型,一个车牌定位,一个车牌识别

站长用的是C#+OpenCvSharp+模型,用于称重过磅场景。

车牌训练时字符错乱,未按常规顺序排列,经过测试校验,已按顺序排好

字曲识别顺序

‘京’,’沪’,’津’,’渝’,’冀’,’晋’,’蒙’,’辽’,’吉’,’黑’,
‘苏’,’浙’,’皖’,’闽’,’赣’,’鲁’,’豫’,’鄂’,’湘’,’粤’,
‘桂’,’琼’,’川’,’贵’,’云’,’藏’,’陕’,’甘’,’青’,’宁’,’新’,
‘港’………………………………………………

这是识别效果

车牌识别效果
车牌识别效果

 

 

—————————————————————————————————-

详细内容如有需要,请添加站长微信,发送设备型号获取(注:需付费20元)

学海无涯 走一路学一路 站长微信I

海康威视行业摄像机调试指导、常见问题汇总【20260410】

详细内容如有需要,请添加站长微信(内容末尾)

发送设备型号获取(注:需付费1元)

—————————————————————————————————-

内容目录

室外消防通道占用摄像机常见问题

室外消防通道占用摄像机调试指导

双目溯源摄像机配置调试长图

水位识别产品调试指导

违停球产品调试指导

位移观测球常见问题

位移观测球调试指导

野生动物抓拍专用摄像机常见问题

野生动物抓拍专用摄像机调试指导

野生动物抓拍专用摄像机云帆APP调试指导

臻全彩枪球一体机调试指导V2

雷球一体机产品常见问题

雷球一体机产品调试指导

矿用本安型智慧矿灯摄像机调试指导

垃圾检测产品常见问题

垃圾检测产品调试指导V1.3

耐高温摄像机产品常见问题

耐高温摄像机调试指导手册

频次分析摄像机调试指导V1.0

枪球一体机常规功能调试手册

枪球一体机车辆布控调试手册

抗振防抖场景专用摄像机调试指导V2.0

抗振防抖场景专用摄像机-移动周界算法调试长图V2.0

环视一体机常规功能调试指导

海康铁骑车载智能采集摄像机产品调试指导

海康铁骑车载智能采集摄像机产品常见问题

海康全局视角摄像机调试指导

海康全局视角摄像机常见问题

海康球型鹰眼产品调试指导(web5.0)

防腐蚀网络摄像机通用调试指导

XE系列防爆网络摄像机常见问题指导

XE系列防爆网络摄像机调试指导

城市治理球调试指导

大倍率微距相机注册检测调试长图

电梯电瓶车检测摄像机功能配置指导

电梯轿厢状态监测摄像机安装配置指导V1.0(G10)

多目牌识一体机_用户手册

激光测高云台安装调试指导

4K拼接双舱产品调试指导

4K拼接双舱产品常见问题

SK6P环视一体机调试指导

—————————————————————————————————-

详细内容如有需要,请添加站长微信,发送设备型号获取(注:需付费1元)

学海无涯 走一路学一路 站长微信I

ICP备案号:晋ICP备18007549号-1