문서의 이전 판입니다!
Device API
장치 정보를 제어하거나 펌웨어를 업그레이드할 수 있습니다.
- BS2_GetDeviceInfo: 장치 정보를 가져옵니다.
- BS2_GetDeviceInfoEx: [+ 2.6.0] 장치 추가정보를 가져옵니다.
- BS2_GetDeviceTime: 현재 시간을 가져옵니다.
- BS2_SetDeviceTime: 현재 시간을 설정합니다.
- BS2_ClearDatabase: 사용자 정보와 Blacklist를 초기화합니다.
- BS2_FactoryReset: 모든 설정 정보와 데이터 베이스를 초기화합니다.
- BS2_RebootDevice: 장치를 다시 시작합니다.
- BS2_LockDevice: 장치 잠금을 설정하여 사용자 인증을 거부합니다.
- BS2_UnlockDevice: 장치 잠금을 해제하여 사용자 인증을 허용합니다.
- BS2_SetKeepAliveTimeout: 장치의 keep-alive 시간을 설정합니다.
- BS2_UpgradeFirmware: 펌웨어를 업그레이드합니다.
- BS2_UpdateResource: 리소스를 업데이트합니다.
- BS2_GetSpecifiedDeviceInfo: [+ 2.6.3] 장치 정보를 선택적으로 가져옵니다.
- BS2_GetAuthOperatorLevelEx: [+ 2.6.3] 주어진 장치 관리자를 가져옵니다. (1000명 관리자 지원)
- BS2_GetAllAuthOperatorLevelEx: [+ 2.6.3] 모든 장치 관리자를 가져옵니다. (1000명 관리자 지원)
- BS2_SetAuthOperatorLevelEx: [+ 2.6.3] 장치 관리자를 추가합니다. (1000명 관리자 지원)
- BS2_RemoveAuthOperatorLevelEx: [+ 2.6.3] 주어진 장치 관리자를 삭제합니다. (1000명 관리자 지원)
- BS2_RemoveAllAuthOperatorLevelEx: [+ 2.6.3] 모든 장치 관리자를 삭제합니다. (1000명 관리자 지원)
구조체
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
예약된 공간입니다.