Device API

장치 정보를 제어하거나 펌웨어를 업그레이드할 수 있습니다.

BS2SimpleDeviceInfo

typedef struct
{
    uint32_t id;
    uint16_t type;
    uint8_t connectionMode;
    uint32_t ipv4Address;
    uint16_t port;
    uint32_t maxNumOfUser;
    uint8_t userNameSupported;
    uint8_t userPhotoSupported;
    uint8_t pinSupported;
    uint8_t cardSupported;
    uint8_t fingerSupported;
    uint8_t faceSupported;
    uint8_t wlanSupported;
    uint8_t tnaSupported;
    uint8_t triggerActionSupported;
    uint8_t wiegandSupported;
    uint8_t imageLogSupported;
    uint8_t dnsSupported;
    uint8_t jobCodeSupported;    
    uint8_t wiegandMultiSupported;
    uint8_t rs485Mode;
    uint8_t sslSupported;
    uint8_t rootCertExist;
    uint8_t dualIDSupported;
    uint8_t useAlphanumericID;
    uint32_t connectedIP;
    uint8_t phraseCodeSupported;
    uint8_t card1xSupported;
    uint8_t systemExtSupported;
    uint8_t voipSupported;
}BS2SimpleDeviceInfo;

1. id
장치 식별자이며 항상 1 이상입니다.

2. type
장치 유형의 코드 값입니다.

설명
0x01 BioEntry Plus
0x02 BioEntry W
0x03 BioLite Net
0x04 Xpass
0x05 Xpass S2
0x06 Secure IO 2
0x07 DM-20
0x08 BioStation 2
0x09 BioStation A2
0x0A FaceStation 2
0x0B IO Device
0x0C BioStation L2
0x0D BioEntry W2
0x0E CoreStation 40
0x0F Output Module
0x10 Input Module
0x11 BioEntry P2
0x12 BioLite N2
0x13 XPass2
0x14 XPass S3
0x15 BioEntry R2
0x16 XPass D2
0x17 Door Module 21
0xFF Unknown Type

3. connectionMode
BioStar 애플리케이션과 장치간의 접속 모드를 뜻하며, 접속 주체에 따라 direct mode(0x0)와 server mode(0x1)로 구분됩니다. direct mode는 BioStar 애플리케이션이 장치로 접속하며 server mode는 장치가 BioStar 애플리케이션으로 접속합니다. 장치에 설정된 기본 접속 모드는 direct mode이며 접속 모드를 수정하려면 IP Config를 참고하십시오.

4. ipv4Address
현재 설정된 장치의 IP 주소입니다.

5. port
현재 설정된 장치의 TCP 포트 번호입니다.

6. maxNumOfUser
장치에서 저장할 수 있는 최대 사용자 개수입니다.

7. userNameSupported
장치에서 사용자 이름 사용을 지원하는지 알 수 있는 flag입니다.

8. userPhotoSupported
장치에서 사용자 프로필 사진 사용을 지원하는지 알 수 있는 flag입니다.

9. pinSupported
장치에서 PIN 사용을 지원하는지 알 수 있는 flag입니다.

10. cardSupported
장치에서 스마트 카드 인증을 지원하는지 알 수 있는 flag입니다.

11. fingerSupported
장치에서 지문 인증을 지원하는지 알 수 있는 flag입니다.

12. faceSupported
장치에서 얼굴 인식을 지원하는지 알 수 있는 flag입니다.

13. wlanSupported
장치에서 무선랜을 지원하는지 알 수 있는 flag입니다.

14. tnaSupported
장치에서 근태관리를 지원하는지 알 수 있는 flag입니다.

15. triggerActionSupported
장치에서 trigger action을 지원하는지 알 수 있는 flag입니다.

16. wiegandSupported
장치에서 Wiegand를 지원하는지 알 수 있는 flag입니다.

17. imageLogSupported
장치에서 이미지 로그를 지원하는지 알 수 있는 flag입니다.

18. dnsSupported
장치에서 DNS를 지원하는지 알 수 있는 flag입니다.

19. jobCodeSupported
장치에서 Job Code를 지원하는지 알 수 있는 flag입니다.

20. wiegandMultiSupported
장치에서 wiegandMulti를 지원하는지 알 수 있는 flag입니다.

21. rs485Mode
장치에서 RS485 모드입니다.

22. sslSupported
장치에서 ssl를 지원하는지 알 수 있는 flag입니다.

23. rootCertExist
장치에서 root인증서가 존재하는지를 알 수 있는 flag입니다.

24. dualIDSupported
장치에서 dualID(숫자,문자)를 지원하는지 알 수 있는 flag입니다.

25. useAlphanumericID
장치에서 AlphanumericID를 사용중인지 여부를 말하는 flag입니다.

26. connectedIP
장치가 접속하고 있는 ip주소입니다. (0xFFFFFFFF if disconnected)

27. phraseCodeSupported
장치에서 사용자별 개인 메세지를 지원하는지 알 수 있는 flag입니다.

28. card1xSupported
장치에서 1.x ToC 카드 읽기를 지원하는지 알 수 있는 flag입니다.

29. systemExtSupported
장치에서 RS-485 키 설정을 지원하는지 알 수 있는 flag입니다.

30. voipSupported
장치에서 VoIP를 지원하는지 알 수 있는 flag입니다.

BS2SimpleDeviceInfoEx

BS2SimpleDeviceInfo 외 지원정보를 가져옵니다.

typedef struct
{
    enum
    {
	BS2_SUPPORT_RS485EX 	= 0x00000001,
	BS2_SUPPORT_CARDEX  	= 0x00000002,
	BS2_SUPPORT_DST     	= 0x00000004,
	BS2_SUPPORT_DESFIREEX	= 0x00000008,
 
	BS2_SUPPORT_ALL     	= BS2_SUPPORT_RS485EX | BS2_SUPPORT_CARDEX | BS2_SUPPORT_DST | BS2_SUPPORT_DESFIREEX
    };
 
    uint32_t supported;
    uint8_t  reserved[4];
}BS2SimpleDeviceInfoEx;

1. supported
현재 장치가 BS2SimpleDeviceInfo 에서 제공하는 기능 외의 정보를 추가적으로 가져옵니다.
아래 정의된 값으로 bit masking을 하여 지원 여부를 확인할 수 있습니다.

정의 설명
BS2_SUPPORT_RS485EX 0x00000001 RS485 확장 지원 여부 (CoreStation 40에 해당)
BS2_SUPPORT_CARDEX 0x00000002 iClass SEOS 카드 사용 여부
BS2_SUPPORT_DST 0x00000004 일광절약 시간 사용 여부
BS2_SUPPORT_DESFIREEX 0x00000008 DesFire 카드 고급설정 지원 여부 [+2.6.4]
BS2_SUPPORT_ALL 0x0000000F 추가 정보 전체 제공 여부

2. reserved
예약된 공간입니다.

BS2ResourceElement

typedef struct
{
    uint8_t type;
    uint32_t numResData;
    struct {
        uint8_t index;
        uint32_t dataLen;
        uint8_t* data;
    }resData[128];
}BS2ResourceElement;

1. type
리소스 데이터 타입입니다.

설명 지원하는 데이터 형식
0 UI(Langauge pack) 슈프리마 언어팩
1 Notice message UTF-8 문자열
2 Image(Background) PNG
3 Slide image PNG
4 Sound WAVE

2. numResData
리소스 데이터 개수입니다.

3. index
리소스 인덱스 번호입니다.

4. dataLen
리소스 데이터 크기입니다.

5. data
바이너리 리소스 데이터입니다.

BS2IPv6DeviceInfo

enum {
    BS2_MAX_IPV6_ALLOCATED_ADDR = 8,
};
 
typedef struct
{
    BS2_DEVICE_ID id;
    uint8_t reserved[1];
    uint8_t bIPv6Mode;
    char ipv6Address[BS2_IPV6_ADDR_SIZE];
    uint16_t portV6;
    char connectedIPV6[BS2_IPV6_ADDR_SIZE];
    uint8_t numOfAllocatedAddressV6;
    char allocatedIpAddressV6[BS2_IPV6_ADDR_SIZE][BS2_MAX_IPV6_ALLOCATED_ADDR];
}BS2IPv6DeviceInfo;

1. id
장치 식별자입니다.

2. reserved
예약된 공간입니다.

3. bIPv6Mode
현 장치가 IP V6로 동작하는지 여부를 나타내는 flag입니다.

4. ipv6Address
현재 장치의 IP V6 주소입니다.

5. portV6
현재 장치의 IP V6 포트 번호입니다.

6. connectedIPV6
장치가 연결된 서버의 IP V6 주소입니다.

7. numOfAllocatedAddressV6
현재 장치에 할당되어진 IP V6 주소의 갯수를 나타냅니다.

8. allocatedIpAddressV6
현재 장치에 할당되어진 IP V6 주소입니다. numOfAllocatedAddressV6는 할당되어진 주소의 갯수를 나타냅니다.

BS2AuthOperatorLevel

typedef struct {
    char userID[BS2_USER_ID_SIZE];
    uint8_t level;
    uint8_t reserved[3];
} BS2Operator;
 
typedef BS2Operator BS2AuthOperatorLevel;

1. userID
사용자 식별자입니다.

2. level
사용자가 인증되었을 때 식별자에 해당하는 권한을 지정합니다.

설명
0 권한 없음
1 관리자 권한
2 시스템 구성을 변경할 수 있는 권한
3 사용자 정보를 변경할 수 있는 권한

3. reserved
예약된 공간입니다.