반응형
- Pan-Tilt : nPan, nTilt 값에 따라 방향과 속도가 달라집니다.
public void PTZ_PanTilt(int nPan, int nTilt) { String strPreURI = "http://"; String strIPAddress = _strDeviceIP; String strPort = _nDeviceHttpPort.ToString(); String strFunction = String.Format("/stw-cgi/ptzcontrol.cgi?msubmenu=continuous&action=control&Pan={0}&Tilt={1}&NormalizedSpeed=True", nPan, nTilt); String strQuery = strPreURI + strIPAddress + ":" + strPort + strFunction; String strUserID = _strUserID; String strUserPWD = _strUserPWD; Console.WriteLine(strQuery); // Query 출력 WebRequest request = WebRequest.Create(strQuery); // WebRequest 생성. request.Credentials = new NetworkCredential(strUserID, strUserPWD); // 계정 생성. HttpWebResponse response = (HttpWebResponse)request.GetResponse(); // Response 호출. Console.WriteLine(response.StatusDescription); // 응답 결과 출력 response.Close(); } |
- PTZ Stop : 동작을 정지합니다.
public void PTZ_Stop() { String strPreURI = "http://"; String strIPAddress = _strDeviceIP; String strPort = _nDeviceHttpPort.ToString(); String strFunction = "/stw-cgi/ptzcontrol.cgi?msubmenu=stop&action=control&OperationType=All"; String strQuery = strPreURI + strIPAddress + ":" + strPort + strFunction; String strUserID = _strUserID; String strUserPWD = _strUserPWD; Console.WriteLine(strQuery); // Query 출력 WebRequest request = WebRequest.Create(strQuery); // WebRequest 생성. request.Credentials = new NetworkCredential(strUserID, strUserPWD); // 계정 생성. HttpWebResponse response = (HttpWebResponse)request.GetResponse(); // Response 호출. Console.WriteLine(response.StatusDescription); // 응답 결과 출력 response.Close(); } |
- Preset Info : 현재 설정되어 있는 Preset의 정보를 가져옵니다.
public String PTZ_Preset_Get() { String strPreURI = "http://"; String strIPAddress = _strDeviceIP; String strPort = _nDeviceHttpPort.ToString(); String strFunction = String.Format("/stw-cgi/ptzconfig.cgi?msubmenu=preset&action=view"); String strQuery = strPreURI + strIPAddress + ":" + strPort + strFunction; String strUserID = _strUserID; String strUserPWD = _strUserPWD; Console.WriteLine(strQuery); // Query 출력 WebRequest request = WebRequest.Create(strQuery); // WebRequest 생성. request.Credentials = new NetworkCredential(strUserID, strUserPWD); // 계정 생성. HttpWebResponse response = (HttpWebResponse)request.GetResponse(); // Response 호출. Console.WriteLine(response.StatusDescription); // 응답 결과 출력 // ResponseStream 가져옴. Stream dataStream = response.GetResponseStream(); // 현재 설정된 Preset의 정보를 가져옴. StreamReader streamReader = new StreamReader(dataStream); String strPresetInfo = streamReader.ReadToEnd(); // Resource Release streamReader.Close(); dataStream.Close(); response.Close(); return strPresetInfo; } |
- Preset Move : 해당 Preset 번호로 움직입니다.
public void PTZ_Preset_Move(int nNumber) { String strPreURI = "http://"; String strIPAddress = _strDeviceIP; String strPort = _nDeviceHttpPort.ToString(); String strFunction = String.Format("/stw-cgi/ptzcontrol.cgi?msubmenu=preset&action=control&Preset={0}", nNumber); String strQuery = strPreURI + strIPAddress + ":" + strPort + strFunction; String strUserID = _strUserID; String strUserPWD = _strUserPWD; Console.WriteLine(strQuery); // Query 출력 WebRequest request = WebRequest.Create(strQuery); // WebRequest 생성. request.Credentials = new NetworkCredential(strUserID, strUserPWD); // 계정 생성. HttpWebResponse response = (HttpWebResponse)request.GetResponse(); // Response 호출. Console.WriteLine(response.StatusDescription); // 응답 결과 출력 response.Close(); } |
- Preset Remove : 해당 Preset 번호를 삭제합니다.
public void PTZ_Preset_Remove(int nNumber) { String strPreURI = "http://"; String strIPAddress = _strDeviceIP; String strPort = _nDeviceHttpPort.ToString(); String strFunction = String.Format("/stw-cgi/ptzconfig.cgi?msubmenu=preset&action=remove&Preset={0}", nNumber); String strQuery = strPreURI + strIPAddress + ":" + strPort + strFunction; String strUserID = _strUserID; String strUserPWD = _strUserPWD; Console.WriteLine(strQuery); // Query 출력 WebRequest request = WebRequest.Create(strQuery); // WebRequest 생성. request.Credentials = new NetworkCredential(strUserID, strUserPWD); // 계정 생성. HttpWebResponse response = (HttpWebResponse)request.GetResponse(); // Response 호출. Console.WriteLine(response.StatusDescription); // 응답 결과 출력 response.Close(); } |
반응형
'IT > C#' 카테고리의 다른 글
[PostgreSQL] 네트워크 접속 설정 방법 (외부 접속 설정) (0) | 2023.07.12 |
---|---|
[한화 비전 - SUNAPI] Zoom, Focus (0) | 2023.07.06 |
[한화 비전 - SUNAPI] RTSP 영상 수신 (with OpenCVSharp) (0) | 2023.07.05 |
[한화 비전 - SUNAPI] RTSP - SMP Address (0) | 2023.07.04 |
[한화 비전 - SUNAPI] SnapShot (0) | 2023.07.04 |