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
package com.iailab.netsdk.demo.module;
 
import com.iailab.netsdk.lib.ToolKits;
import com.iailab.netsdk.lib.NetSDKLib.*;
 
/**
 * 设备初始化接口实现
 */
public class DeviceInitModule {
    /*
     * 设备初始化
     */
    public static boolean initDevAccount(String localIp,String szMac, String password, String cellPhone_mail, byte byPwdResetWay) {
        /**
         *  入参
         */
        NET_IN_INIT_DEVICE_ACCOUNT inInit = new NET_IN_INIT_DEVICE_ACCOUNT();
        // mac地址
        System.arraycopy(szMac.getBytes(), 0, inInit.szMac, 0, szMac.getBytes().length);
        
        // 用户名
        String username = "admin";
        System.arraycopy(username.getBytes(), 0, inInit.szUserName, 0, username.getBytes().length);
 
        // 密码,必须字母与数字结合,8位以上,否则设备不识别
        if(password.getBytes().length <= 127) {
            System.arraycopy(password.getBytes(), 0, inInit.szPwd, 0, password.getBytes().length);
        } else if(password.getBytes().length > 127){
            System.arraycopy(password.getBytes(), 0, inInit.szPwd, 0, 127);
        }
 
        // 设备支持的密码重置方式
        inInit.byPwdResetWay = byPwdResetWay;
        
        // bit0-支持预置手机号 bit1-支持预置邮箱
        if((byPwdResetWay >> 1 & 0x01) == 0) {  // 手机号
            System.arraycopy(cellPhone_mail.getBytes(), 0, inInit.szCellPhone, 0, cellPhone_mail.getBytes().length);
        } else if((byPwdResetWay >> 1 & 0x01) == 1) {  // 邮箱
            System.arraycopy(cellPhone_mail.getBytes(), 0, inInit.szMail, 0, cellPhone_mail.getBytes().length);
        }
        
        /**
         *  出参
         */
        NET_OUT_INIT_DEVICE_ACCOUNT outInit = new NET_OUT_INIT_DEVICE_ACCOUNT();
        
        if(!LoginModule.netsdk.CLIENT_InitDevAccount(inInit, outInit, 5000, localIp)) {
            System.err.println("初始化失败," + ToolKits.getErrorCodePrint());
            return false;
        }
        
        return true;
    }
}