1
zhanghua
2024-09-26 c775c6953d9759e70f08acbfa8f6d7490aaae3d1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
package com.netsdk.demo.customize.heatmap;
 
import com.netsdk.demo.util.CaseMenu;
import com.netsdk.lib.NetSDKLib;
import com.netsdk.lib.callback.impl.DefaultDisconnectCallback;
import com.netsdk.lib.callback.impl.DefaultHaveReconnectCallBack;
import com.netsdk.lib.callback.impl.MessCallBack;
import com.netsdk.lib.enumeration.ENUMERROR;
import com.netsdk.module.BaseModule;
import com.netsdk.module.entity.DeviceInfo;
 
/**
 * className:ColdHotSpotEventDemo
 * description:冷点异常、热点异常 热成像测温点温度异常报警事件
 * author:251589
 * createTime:2021/5/14 20:45
 *
 * @version v1.0
 */
 
public class ColdHotSpotEventDemo {
    private NetSDKLib netSdk = NetSDKLib.NETSDK_INSTANCE;
    /** 二次封装的基础模块,包含初始化,登录,登出 */
    private BaseModule baseModule;
 
    private long loginHandler;
    /**
     * sdk初始化
     *
     * @return
     */
    public boolean init() {
        return baseModule.init(
                DefaultDisconnectCallback.getINSTANCE(), DefaultHaveReconnectCallBack.getINSTANCE(), true);
    }
    /**
     * 登录设备
     *
     * @param ip 设备ip
     * @param port 设备端口
     * @param userName 用户名
     * @param password 密码
     * @return
     */
    public boolean login(String ip, int port, String userName, String password) {
        DeviceInfo info = baseModule.login(ip, port, userName, password);
        if (info == null || info.getLoginHandler() == 0) {
            loginHandler = 0;
            return false;
        }
        loginHandler = info.getLoginHandler();
        System.out.println("Login success! LoginHandler is " + loginHandler);
        return true;
    }
 
    public void startListen(){
        //设置报警事件回调
        netSdk.CLIENT_SetDVRMessCallBack(MessCallBack.getInstance(),null);
        //订阅报警事件
        netSdk.CLIENT_StartListenEx(new NetSDKLib.LLong(loginHandler));
    }
    //退订
    public void stopListen(){
        netSdk.CLIENT_StopListen(new NetSDKLib.LLong(loginHandler));
    }
 
    public void runTest() {
        CaseMenu menu = new CaseMenu();
        menu.addItem(new CaseMenu.Item(this, "订阅", "startListen"));
        menu.addItem(new CaseMenu.Item(this, "订阅", "stopListen"));
        menu.run();
    }
 
    /**
     * 登出设备
     *
     * @return
     */
    public boolean logout() {
        boolean result = baseModule.logout(loginHandler);
        if (!result) {
            System.out.println("logout failed. the error is " + ENUMERROR.getErrorMessage());
        }
        return result;
    }
    /**
     * sdk清理资源
     *
     * @return
     */
    public void clean() {
        baseModule.clean();
    }
 
 
 
    public static void main(String[] args) {
        String ip = "172.32.102.88";
        int port = 37777;
        String username = "admin";
        String password = "admin123";
        ColdHotSpotEventDemo demo = new ColdHotSpotEventDemo();
        demo.init();
        if (demo.login(ip, port, username, password)) {
 
            demo.runTest();
            demo.logout();
        }
        demo.clean();
    }
 
}