海康HTTP監聽報警事件數據

http監聽接收報警事件數據

海康獲取設備報警事件數據兩種方式:
1、sdk 布防監聽報警事件數據,服務端布防。(前面文章有示例)
2、http監聽接收報警事件數據,設備直接推送。

http監聽接收報警事件數據,服務端可以使用netty通過端口來監聽獲取事件數據。

WEB 端配置遠程主機

登錄Web管理后臺:
? 設置電腦IP 地址和設備IP 地址在同一網段(例如192.168.1.100)。
? 在瀏覽器地址欄輸入設備默認IP 地址,例如http://192.168.1.64,回車。
? 輸入用戶名和密碼。
? 單擊確定。
配置遠程主機:
不同版本的設備配置方式不同,交通設備是通過配置ANPR參數進行設置,過程如下:
? 單擊配置—設備配置—系統設置—網口參數
? 根據實際情況設置ANPR IP和端口
? 設置完成后點擊保存
門禁設備是通過配置HTTP監聽參數,過程如下:
? 單擊配置—網絡—高級配置—HTTP監聽
? 根據實際情況設置IP、端口、URL、協議類型(http或者https),
? 設置完成后點擊保存

設備一
在這里插入圖片描述
設備二
在這里插入圖片描述

ISAPI 協議命令配置遠程主機

如果設備支持HTTP監聽,Web后臺沒有選項進行配置,那就需要通過協議命令進行配置。配置工具可以選用Postman或者海康官網設備網絡SDK開發包中的ClientDemo 工具調用透傳接口進行配置。
在這里插入圖片描述

說明:實際配置過程中,先調用GET接口獲取遠程主機配置參數的報文,然后修改其中節點參數,將修改后的報文作為輸入,調用PUT操作命令,修改遠程主機的參數,實現遠程主機的參數配置。
Postman 測試:
前提條件:電腦與設備接入同一網段的局域網內; Postman 測試方式同樣也是先調用GET操作,獲取輸出報文,修改后然后調
用PUT操作進行配置。Postman操作說明如下圖所示:
? 操作類型選擇:GET;
? 組裝URL:http://設備IP地址:80/ISAPI命令,例如:http://10.17.35.42:8
0/ISAPI/Event/notification/httpHosts,如果設備是使用 https,端口為 443;
? 認證方式:ISAPI協議命令認證方式為摘要認證,Postman集成了這種認證方式,在認證方式的選項中選擇:Digest Auth,輸入設備的用戶名和密碼;
? GET操作命令是沒有輸入的,所以輸入中選擇為空;
? 設置完成后,點擊SEND,發送請求到設備中,設備接收到請求后,返回響應,
? 修改GET操作獲取到的配置報文中的IP、端口、URL等節點參數,然后調用PUT操作下發此配置參數到設備中,返回200 OK代表成功。
認證方式為:Digest Auth,可以參考
海康ISAPI對接門禁設備 添加用戶信息和下發人臉
如下圖代碼認證認證方式:
在這里插入圖片描述

服務器監聽接收事件

服務端對指定的端口開啟監聽,成功開啟監聽后,可以通過系統命令查看端口監聽是否成功,觸發設備上對應的事件后,設備會通過POST命令往指定的遠程主機端口上推送事件報文。交互的過程可以通過在平臺端抓包分析。示例抓包
在這里插入圖片描述
接收到的報文解析都是具有標準的http協議,解析報警報文需要自行實現,對應事件的JSON或者XML報文說明可以聯系我司對接技術同事獲取。如果配置正常,設備正常觸發報警,平臺未收到上傳的報警事件,首先通過抓包確定設備是否上傳到指定端口,如果抓包中有設備上傳事件,平臺側沒有接收到報文,重點排查一下平臺接收解析報文代碼、端口監聽是否被占用和防火墻是否阻擋。監聽機制設備會推送歷史事件,剛開啟監聽后,設備中會將存儲的歷史事件先上。

報文解析可以參考另一個博主文章

配置遠程主機參數報文

配置遠程主機參數報文: 
{ "requestURL":  "test",  /*ro, opt, string, 請求URL, range:[,]*/ "statusCode":  1,  /*ro, req, int, 狀態碼, range:[,], step:, unit:, unitType:*/ "statusString":  "test",  /*ro, req, string, 狀態描述, range:[,]*/ "subStatusCode":  "test", /*ro, req, string, 子狀態碼, range:[,]*/ "errorCode":  1,  /*ro, opt, int, 錯誤碼, range:[,], step:, unit:, unitType:, desc:當statusCode不為1
時,錯誤碼,與subStatusCode對應*/ "errorMsg":  "ok",  /*ro, opt, string, 錯誤詳細信息, range:[,], desc:當statusCode不為1時,錯誤詳
細信息,能具體到某一個參數的錯*/ "HttpHostNotification": [  /*ro, req, array, 報警主機信息列表, subType:object, range:[,]*/ { "id":  "1",  /*ro, req, string, 序號, range:[,], desc:最大長度為128*/ "url":  "http://10.7.35.19:9000/alarm",  /*ro, opt, string, URL, range:[,]*/ "protocolType":  "HTTP",  /*ro, req, enum, 協議類型, subType:string, 
[HTTP#HTTP,HTTPS#HTTPS], desc:最大長度為32*/ "parameterFormatType ":  "json",  /*ro, req, enum, 參數格式類型, subType:string, 
[json#json,XML#XML,querystring#querystring], desc:最大長度為32*/ "addressingFormatType":  "ipaddress",  /*ro, req, enum, 地址格式類型, subType:string, [ipaddress#IP地
址,hostname#域名], desc:最大長度為32*/ "ipAddress":  "ipv4",  /*ro, opt, enum, IP地址類型, subType:string, [ipv4#ipv4,ipv6#ipv6], 
desc:最大長度為32*/ "ipv6Address":  "test",  /*ro, opt, string, ipv6地址, range:[,], desc:最大長度為128*/ "portNo":  7200,  /*ro, opt, int, 報警通信端口號, range:[,], step:, unit:, unitType:*/ "httpAuthenticationMethod":  "MD5digest",  /*ro, req, string, HTTP認證方法, range:[,], desc:最大長度為32,
MD5digest或none(不認證)*/ "uploadImagesDataType":  "URL",  /*ro, opt, string, 上傳圖片數據類型, range:[,], desc:URL-圖片存儲
URL(需要支持并且配置云存儲), binary-圖片二進制數據, 最大長度為32*/ "format":  "json",  
/*ro, opt, string, 協議交互格式, range:[,]*/ 
"eventType":  "alarmResult"  
/*ro, req, string, 觸發的事件類型, range:[,],  
desc:alarmResult-人臉比對報警上報,  
captureResult-人臉抓拍上報,  
HFPD -高頻人員檢測事件, 
behaviorResult-行為分析結果上報, 
executeControlResult-車牌布控, 
LFPD-低頻人員偵測, 
AIOP_Video-AI 開放平臺視頻分析任務結果上報, 
string 類型, 最大長度為64, 多個類型用逗號隔開*/ 
} 
] 
} 

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/74665.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/74665.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/74665.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Python----計算機視覺處理(Opencv:圖像邊緣檢測:非極大值抑制,雙閾值篩選)

一、 高斯濾波 邊緣檢測本身屬于銳化操作,對噪點比較敏感,所以需要進行平滑處理。這里使用的是一個5*5的高斯 核對圖像進行消除噪聲。 二、計算圖像的梯度和方向 三、非極大值抑制 在得到每個邊緣的方向之后,其實把它們連起來邊緣檢測就算完了…

Maven工具學習使用(四)——倉庫

倉庫分類 對于Mavne來說,倉庫只分為兩類:本地倉庫和遠程倉庫。當Maven根據坐標查詢尋找構件的時候,它首先會查看本地倉庫,如果本地倉庫存在此構件,則直接使用;如果本地倉庫不存在此構件,或者需要查看是否有更新的構件版本,Maven就會去遠程倉庫查找,發現需要的構件之后…

Axure PR 9.0(發音:Ack-sure)原型圖工具入門教程:鏈接交互

文章目錄 引言Axure? RP 9I Axure RP9入門介紹元件庫對兩個元件進行連接頁面:導航視圖、概要母版交互II 鏈接交互從A頁面跳轉到B頁面返回之前的頁面see also引言 【 產品原型圖】核心價值和實際應用場景:可視化需求,統一團隊理解 https://blog.csdn.net/z929118967/articl…

docker遠程debug

1. 修改 Java 啟動命令 在 Docker 容器中啟動 Java 程序時,需要添加 JVM 調試參數,jdk8以上版本 java -agentlib:jdwptransportdt_socket,servery,suspendn,address*:5005 -jar your-app.jar jdk8及以下版本: java -Xdebug -Xrunjdwp:tra…

K8S學習之基礎五十四:jenkins新建測試流水線

jenkins新建測試流水線 新建任務 node(testak) {stage(第1步:從gitee上下載源代碼) {git url: "https://gitee.com/akang007/jenkins-sample"script {build_tag sh(returnStdout: true, script: git rev-parse --short HEAD).trim()}}stage(第2步:基…

SylixOS 中 select 原理及使用分析

1、select接口簡介 1.1 select接口使用用例 select 是操作系統多路 I/O 復用技術實現的方式之一。 select 函數允許程序監視多個文件描述符,等待所監視的一個或者多個文件描述符變為“準備好”的狀態。所謂的”準備好“狀態是指:文件描述符不再是阻塞狀…

Spring WebFlux之ServerWebExchange

ServerWebExchange 是 Spring WebFlux 中的一個核心接口,用于表示服務器端處理的 HTTP 請求和響應。它封裝了請求和響應的所有信息,并提供了相應的方法來操作這些信息。ServerWebExchange 在響應式編程模型中扮演著關鍵角色,支持非阻塞、異步…

Flutter 常見錯誤和坑

1. 狀態管理問題 StatefulWidget 生命周期誤用 // 錯誤:在 build 方法中修改狀態 override Widget build(BuildContext context) {setState(() { counter; }); // 會導致無限重建循環return Text($counter); }// 正確:在事件處理中修改狀態 Widget bui…

C++智能指針萬字詳細講解(包含智能指針的模擬實現)

在筆試,面試中智能指針經常出現,如果你對智能指針的作用,原理,用法不了解,那么可以看看這篇博客講解,此外本博客還簡單模擬實現了各種指針,在本篇的最后還應對面試題對智能指針的知識點進行了拓…

【Go】Go語言結構體筆記

整體介紹 雖然 Go 語言不是傳統意義上的面向對象語言,但它提供了結構體(struct)來組織數據,并且可以為結構體綁定方法,從而達到面向對象的部分效果。 關鍵知識點包括: 結構體定義與實例化 定義結構體時使用…

Three.js 快速入門教程【十八】射線拾取模型——鼠標點擊屏幕選中模型或物體

系列文章目錄 Three.js 快速入門教程【一】開啟你的 3D Web 開發之旅 Three.js 快速入門教程【二】透視投影相機 Three.js 快速入門教程【三】渲染器 Three.js 快速入門教程【四】三維坐標系 Three.js 快速入門教程【五】動畫渲染循環 Three.js 快速入門教程【六】相機控件 Or…

Object.defineProperty()Proxy詳解(Vue23數據劫持實現)

底層原理👇🏿 總結一下,結構應該包括: 1. 方法的基本作用和參數。 2. 數據描述符和存取描述符的區別。 3. 屬性定義的內部處理流程。 4. 在Vue中的應用實例。 5. 常見錯誤和正確實踐。 每個部分都要結合搜索結果的信息&…

MySQL 進階語法:函數、約束、多表查詢、事務

目錄 一、MySQL 常用函數 1. 字符串函數 1.1 基本字符串操作 1.2 字符串截取與處理 1.3 字符串搜索與替換 2. 數值函數 2.1 基本數學運算 2.2 數學計算 2.3 隨機數與符號 3. 日期時間函數 3.1 獲取當前時間 3.2 日期時間計算 3.3 日期時間提取 3.4 日期時間格式化…

第 12 章(番外)| Solidity 安全前沿趨勢 × 審計生態 × 職業路徑規劃

🌐 第 12 章(番外)| Solidity 安全前沿趨勢 審計生態 職業路徑規劃 ——做得了審計,也接得了項目,走進 Web3 安全工程師的職業實戰地圖 ? 本章導讀 Solidity 安全,不只是代碼安全、業務安全、審計安全…

1、pytest基本用法

目錄 先給大家分享下學習資源 1. 安裝pytest 2. 編寫用例規則 3. 執行用例 最近在學習pytest的用法 并且用這套框架替換了原來的unittest, 同是測試框架 確實感覺到pytest更加便捷 這邊分享給大家我得學習心得 先給大家分享下學習資源 1 官方文檔 pytest 官方…

【sylar-webserver】5 協程調度模塊

文章目錄 設計思路三種協程的切換 協程調度模塊,需要把前面的線程模塊和協程模塊結合使用 ~ 設計思路 構造函數定義 線程池 基本信息。start(),創建線程池,每個線程創建都執行 run()。每個線程在 run() 里,查找任務隊列 m_tasks…

Go 語言規范學習(1)

文章目錄 IntroductionNotation示例(Go 語言的 if 語句): Source code representationCharacters例子:變量名可以是中文 Letters and digits Lexical elementsCommentsTokensSemicolons例子:查看程序所有的token Ident…

探索抓包利器ProxyPin,實現手機APP請求抓包,支持https請求

以下是ProxyPin的簡單介紹: - ProxyPin是一個開源免費HTTP(S)流量捕獲神器,支持 Windows、Mac、Android、IOS、Linux 全平臺系統- 可以使用它來攔截、檢查并重寫HTTP(S)流量,支持捕獲各種應用的網絡請求。ProxyPin基于Flutter開發&#xff0…

深度學習3-pytorch學習

深度學習3-pytorch學習 Tensor 定義與 PyTorch 操作 1. Tensor 定義: Tensor 是 PyTorch 中的數據結構,類似于 NumPy 數組。可以通過不同方式創建 tensor 對象: import torch# 定義一個 1D Tensor x1 torch.Tensor([3, 4])# 定義一個 Fl…

深入淺出Spring-Boot-3.x.pdf

通過網盤分享的文件:深入淺出Spring-Boot-3.x.pdf 鏈接: https://pan.baidu.com/s/10ZkhmeIXphEwND9Rv4EBlg?pwduatm 提取碼: uatm