차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 다음 판 양쪽 다음 판 | ||
ko:configuration_api [2019/05/02 12:04] kkshin [BS2SystemConfig] |
ko:configuration_api [2020/02/19 14:53] kkshin [BS2FaceConfig] |
||
---|---|---|---|
줄 60: | 줄 60: | ||
* [[BS2_SetDstConfig]]: DST 설정 정보를 저장합니다. | * [[BS2_SetDstConfig]]: DST 설정 정보를 저장합니다. | ||
* [[BS2_GetSupportedConfigMask]]: 장치에서 지원하는 구성 설정을 가져옵니다. | * [[BS2_GetSupportedConfigMask]]: 장치에서 지원하는 구성 설정을 가져옵니다. | ||
+ | * [[BS2_GetIPConfigViaUDPEx]]: [+ 2.6.3] IP 설정 정보를 UDP broadcasting를 통해 가져옵니다. (host ip 지정) | ||
+ | * [[BS2_SetIPConfigViaUDPEx]]: [+ 2.6.3] IP 설정 정보를 UDP broadcasting를 통해 저장합니다. (host ip 지정) | ||
+ | * [[BS2_GetIPV6Config]]: [+ 2.6.3] IP V6 설정 정보를 가져옵니다. | ||
+ | * [[BS2_SetIPV6Config]]: [+ 2.6.3] IP V6 설정 정보를 저장합니다. | ||
+ | * [[BS2_GetIPV6ConfigViaUDP]]: [+ 2.6.3] IP V6 설정 정보를 UDP broadcasting를 통해 가져옵니다. | ||
+ | * [[BS2_SetIPV6ConfigViaUDP]]: [+ 2.6.3] IP V6 설정 정보를 UDP broadcasting를 통해 저장합니다. | ||
+ | * [[BS2_GetIPV6ConfigViaUDPEx]]: [+ 2.6.3] IP V6 설정 정보를 UDP broadcasting를 통해 가져옵니다. (host ip 지정) | ||
+ | * [[BS2_SetIPV6ConfigViaUDPEx]]: [+ 2.6.3] IP V6 설정 정보를 UDP broadcasting를 통해 저장합니다. (host ip 지정) | ||
+ | * [[BS2_GetDesFireCardConfigEx]]: [+ 2.6.4] DesFire 카드 고급설정 정보를 가져옵니다. | ||
+ | * [[BS2_SetDesFireCardConfigEx]]: [+ 2.6.4] DesFire 카드 고급설정 정보를 저장합니다. | ||
===== 구조체 ===== | ===== 구조체 ===== | ||
==== BS2FactoryConfig ==== | ==== BS2FactoryConfig ==== | ||
줄 111: | 줄 121: | ||
==== BS2SystemConfig ==== | ==== BS2SystemConfig ==== | ||
- | 반드시 [[BS2_GetSystemConfig]] 호출 후, tamperOn을 제외하고 필요한 설정을 완료한 후 | ||
- | [[BS2_SetSystemConfig]]를 호출하여야 합니다. \\ | ||
<code cpp> | <code cpp> | ||
typedef struct { | typedef struct { | ||
줄 127: | 줄 135: | ||
uint32_t cameraFrequency; | uint32_t cameraFrequency; | ||
bool secureTamper; | bool secureTamper; | ||
- | private: | + | bool reserved0; // (write protected) |
- | bool tamperOn; // (write protected) | + | uint8_t reserved[2]; |
- | public: | + | |
- | bool gdprSupport; | + | |
- | uint8_t reserved[1]; | + | |
uint32_t useCardOperationMask; | uint32_t useCardOperationMask; | ||
- | uint8_t reserved2[20]; | + | uint8_t reserved2[16]; |
} BS2SystemConfig; | } BS2SystemConfig; | ||
</code> | </code> | ||
줄 166: | 줄 171: | ||
보안 탬퍼를 사용할지 결정하는 flag입니다.\\ | 보안 탬퍼를 사용할지 결정하는 flag입니다.\\ | ||
탬퍼 on 발생 시 다음의 데이터가 장치에서 삭제됩니다. (사용자, 로그, 데이터 암호화 키, SSL 인증서) \\ \\ | 탬퍼 on 발생 시 다음의 데이터가 장치에서 삭제됩니다. (사용자, 로그, 데이터 암호화 키, SSL 인증서) \\ \\ | ||
- | 13. //tamperOn// \\ | + | 13. //reserved0// \\ |
- | 탬퍼가 발생하였는지 내부적으로 관리하기 위한 정보로, 설정되어져서는 안되는 값입니다. \\ | + | 예약된 공간입니다. \\ \\ |
- | 반드시, [[BS2_GetSystemConfig]] 호출 후, tamperOn을 제외한 필요 설정을 완료한 후 [[BS2_SetSystemConfig]]를 호출하여야 합니다. \\ \\ | + | 14. //reserved// \\ |
- | 14. //gdprSupport// \\ | + | |
- | [+ V2.6.4] GDPR (일반 개인정보 보호법) 지원 여부를 나타내는 flag입니다. \\ \\ | + | |
- | 15. //reserved// \\ | + | |
예약된 공간입니다. \\ \\ | 예약된 공간입니다. \\ \\ | ||
- | 16. //useCardOperationMask// \\ | + | 15. //useCardOperationMask// \\ |
[+ V2.6.4] 모든 카드를 읽지 않고, 사용자 선택에 의해 카드 타입별로 읽을 수 있도록 옵션을 제공합니다. \\ | [+ V2.6.4] 모든 카드를 읽지 않고, 사용자 선택에 의해 카드 타입별로 읽을 수 있도록 옵션을 제공합니다. \\ | ||
- | MASK값을 조합하여 중복 설정이 가능합니다. \\ | + | MASK값은 조합을 통하여 중복 설정이 가능며, 사용자는 이 옵션을 통하여 카드 타입의 읽기를 추가 또는 제거할 수 있습니다. \\ |
+ | 단, 장치가 지원할 수 있는 카드 타입에 한하며, 장치가 지원하지 않는 카드 읽기를 추가하는 경우 해당 설정은 무시됩니다. \\ | ||
+ | 또한, 지원하고자하는 카드 타입의 마스크는 ''CARD_OPERATION_USE''와 조합해야 합니다.\\ | ||
+ | 예를들어 EM카드만 읽을 수 있도록 설정하고자 한다면 useCardOperationMask에는 ''0x80000001''로 설정되어져야 합니다. | ||
<WRAP group 50%> | <WRAP group 50%> | ||
^값 ^설명 ^ | ^값 ^설명 ^ | ||
줄 191: | 줄 196: | ||
|0x00000001 |CARD_OPERATION_MASK_EM | | |0x00000001 |CARD_OPERATION_MASK_EM | | ||
</WRAP> | </WRAP> | ||
- | 15. //reserved2// \\ | + | 16. //reserved2// \\ |
예약된 공간입니다. \\ \\ | 예약된 공간입니다. \\ \\ | ||
==== BS2AuthConfig ==== | ==== BS2AuthConfig ==== | ||
줄 253: | 줄 258: | ||
개별 인증 모드를 사용할지 결정하는 flag입니다. \\ \\ | 개별 인증 모드를 사용할지 결정하는 flag입니다. \\ \\ | ||
7. //faceDetectionLevel// \\ | 7. //faceDetectionLevel// \\ | ||
- | 사용자를 인증할 때 얼굴 검출 레벨값이며, 지정한 레벨보다 낮은 레벨로 얼굴이 검출되면 인증 실패로 처리됩니다.\\ | + | A2에서 사용자를 인증할 때 얼굴 검출 레벨값이며, 지정한 레벨보다 낮은 레벨로 얼굴이 검출되면 인증 실패로 처리됩니다.\\ |
+ | 설정하면 Normal/Strict에 따른 카메라 뷰가 표시되며, 인증 성공 시의 이미지 로그가 얼굴로 인식되지 않으면 접근이 거부됩니다. 기본값은 0입니다. \\ | ||
<WRAP group 50%> | <WRAP group 50%> | ||
^값 ^설명 ^ | ^값 ^설명 ^ | ||
줄 261: | 줄 267: | ||
</WRAP> | </WRAP> | ||
<WRAP info> | <WRAP info> | ||
- | 카메라가 장착된 장치에서만 유효합니다. | + | A2에서만 설정 가능하며, FaceStation2나 FaceLite에서는 사용되지 않습니다. |
</WRAP> | </WRAP> | ||
8. //useServerMatching// \\ | 8. //useServerMatching// \\ | ||
줄 591: | 줄 597: | ||
uint8_t fileID; | uint8_t fileID; | ||
uint8_t encryptionType; | uint8_t encryptionType; | ||
- | uint8_t reserved[3]; | + | uint8_t operationMode; |
+ | uint8_t reserved[2]; | ||
} BS2DesFireCard; | } BS2DesFireCard; | ||
줄 636: | 줄 643: | ||
DESFire 카드내에 내장된 사용할 애플리케이션가 데이터를 읽고 쓰기 위한 파일 식별자입니다.\\ \\ | DESFire 카드내에 내장된 사용할 애플리케이션가 데이터를 읽고 쓰기 위한 파일 식별자입니다.\\ \\ | ||
15. //encryptionType// \\ | 15. //encryptionType// \\ | ||
- | 데이터 암호화 방식이며, AES는 추후 적용 예정입니다.\\ | + | 데이터 암호화 방식을 나타냅니다.\\ |
<WRAP group 50%> | <WRAP group 50%> | ||
^값 ^설명 ^ | ^값 ^설명 ^ | ||
줄 642: | 줄 649: | ||
|1 |AES | | |1 |AES | | ||
</WRAP> | </WRAP> | ||
- | 16. //reserved// \\ | + | 16. //operationMode// \\ |
+ | 운영 방식을 지정합니다. (추후적용)\\ | ||
+ | <WRAP group 50%> | ||
+ | ^값 ^설명 ^ | ||
+ | |0 |기존방식 (PICC master key를 사용) | | ||
+ | |1 |신규방식 (App master key를 사용) | | ||
+ | </WRAP> | ||
+ | 17. //reserved// \\ | ||
예약된 공간입니다.\\ \\ | 예약된 공간입니다.\\ \\ | ||
- | 17. //byteOrder// \\ | + | 18. //byteOrder// \\ |
카드 데이터의 바이트 저장 순서입니다. 0일 경우 MSB((최상위 비트, Most Significant Bit))이고, 1일 경우 LSB((최하위 비트, Least Significant Bit))입니다. \\ \\ | 카드 데이터의 바이트 저장 순서입니다. 0일 경우 MSB((최상위 비트, Most Significant Bit))이고, 1일 경우 LSB((최하위 비트, Least Significant Bit))입니다. \\ \\ | ||
- | 18. //useWiegandFormat// \\ | + | 19. //useWiegandFormat// \\ |
Wiegand 형식 카드 사용 유무를 결정하는 flag입니다. \\ \\ | Wiegand 형식 카드 사용 유무를 결정하는 flag입니다. \\ \\ | ||
- | 19. //dataType// \\ | + | 20. //dataType// \\ |
Card의 데이터 유형입니다. \\ | Card의 데이터 유형입니다. \\ | ||
<WRAP group 50%> | <WRAP group 50%> | ||
줄 657: | 줄 671: | ||
|3 |BCD | | |3 |BCD | | ||
</WRAP> | </WRAP> | ||
- | 20. //useSecondaryKey// \\ | + | 21. //useSecondaryKey// \\ |
두번째 암호화 키 사용 유무를 결정하는 flag입니다. \\ \\ | 두번째 암호화 키 사용 유무를 결정하는 flag입니다. \\ \\ | ||
- | 21. //formatID// \\ | + | 22. //formatID// \\ |
BioStar 애플리케이션에서 card configuration을 데이터베이스 관리할 필요가 있을 경우 사용할 수 있는 식별자입니다. \\ \\ | BioStar 애플리케이션에서 card configuration을 데이터베이스 관리할 필요가 있을 경우 사용할 수 있는 식별자입니다. \\ \\ | ||
- | 22. //cipher// \\ | + | 23. //cipher// \\ |
Keypad로 card id를 입력받을 수 있도록 활성화 합니다. \\ | Keypad로 card id를 입력받을 수 있도록 활성화 합니다. \\ | ||
기본 값은 0이며, Xpass D2 Gangbox Keypad 만 유효합니다. \\ | 기본 값은 0이며, Xpass D2 Gangbox Keypad 만 유효합니다. \\ | ||
줄 669: | 줄 683: | ||
|1 |활성화 | | |1 |활성화 | | ||
</WRAP> | </WRAP> | ||
- | 23. //reserved5// \\ | + | 24. //reserved5// \\ |
예약된 공간입니다. \\ | 예약된 공간입니다. \\ | ||
==== BS2FingerprintConfig ==== | ==== BS2FingerprintConfig ==== | ||
<code cpp> | <code cpp> | ||
typedef struct { | typedef struct { | ||
- | uint8_t securityLevel; | + | uint8_t securityLevel; |
- | uint8_t fastMode; | + | uint8_t fastMode; |
- | uint8_t sensitivity; | + | uint8_t sensitivity; |
- | uint8_t sensorMode; | + | uint8_t sensorMode; |
- | uint16_t templateFormat; | + | uint16_t templateFormat; |
- | uint16_t scanTimeout; | + | uint16_t scanTimeout; |
- | uint8_t successiveScan; | + | uint8_t successiveScan; |
- | uint8_t advancedEnrollment; | + | uint8_t advancedEnrollment; |
- | uint8_t showImage; | + | uint8_t showImage; |
- | uint8_t lfdLevel; | + | uint8_t lfdLevel; |
- | bool checkDuplicate; | + | bool checkDuplicate; |
- | + | | |
- | uint8_t reserved3[31]; | + | uint8_t reserved3[31]; |
} BS2FingerprintConfig; | } BS2FingerprintConfig; | ||
</code> | </code> | ||
줄 750: | 줄 764: | ||
12. //reserved3// \\ | 12. //reserved3// \\ | ||
예약된 공간입니다. \\ | 예약된 공간입니다. \\ | ||
- | |||
==== BS2Rs485Config ==== | ==== BS2Rs485Config ==== | ||
<code cpp> | <code cpp> | ||
줄 1535: | 줄 1548: | ||
<code cpp> | <code cpp> | ||
typedef struct { | typedef struct { | ||
- | BS2_FACE_SECURITY_LEVEL securityLevel; | + | uint8_t securityLevel; |
- | BS2_FACE_LIGHT_CONDITON lightCondition; | + | uint8_t lightCondition; |
- | BS2_FACE_ENROLL_THRESHOLD enrollThreshold; | + | uint8_t enrollThreshold; |
- | BS2_FACE_DETECT_SENSITIVITY detectSensitivity; | + | uint8_t detectSensitivity; |
- | uint16_t enrollTimeout; | + | uint16_t enrollTimeout; |
- | BS2_FACE_LFD_LEVEL lfdLevel; | + | uint8_t lfdLevel; |
- | bool quickEnrollment; | + | bool quickEnrollment; |
- | BS2_FACE_PREVIEW_OPTION previewOption; | + | uint8_t previewOption; |
- | bool checkDuplicate; | + | bool checkDuplicate; |
- | uint8_t reserved[2]; | + | uint8_t reserved[2]; |
- | uint8_t reserved2[26]; | + | uint8_t reserved2[26]; |
} BS2FaceConfig; | } BS2FaceConfig; | ||
</code> | </code> | ||
줄 1594: | 줄 1607: | ||
얼굴 스캔 대기 시간으로 기본값은 60초입니다\\ \\ | 얼굴 스캔 대기 시간으로 기본값은 60초입니다\\ \\ | ||
6. //lfdLevel// \\ | 6. //lfdLevel// \\ | ||
- | [+ V2.6.4] 위조된 얼굴을 여과할 수 있는 민감도를 설정할 수 있습니다. \\ | + | [+ V2.6.3] 위조된 얼굴을 여과할 수 있는 민감도를 설정할 수 있습니다. \\ |
<WRAP group 50%> | <WRAP group 50%> | ||
^값 ^설명 ^ | ^값 ^설명 ^ | ||
줄 1603: | 줄 1616: | ||
</WRAP> | </WRAP> | ||
7. //quickEnrollment// \\ | 7. //quickEnrollment// \\ | ||
- | [+ V2.6.4] 빠른 얼굴 등록 사용 여부를 설정할 수 있습니다. \\ | + | [+ V2.6.3] 빠른 얼굴 등록 사용 여부를 설정할 수 있습니다. \\ |
이 값을 true로 설정하면 얼굴 등록 절차가 1단계로 설정되며, false로 설정할 경우 3단계로 설정됩니다. \\ | 이 값을 true로 설정하면 얼굴 등록 절차가 1단계로 설정되며, false로 설정할 경우 3단계로 설정됩니다. \\ | ||
고품질의 얼굴 템플릿을 등록하려면 false를 설정하십시오. \\ \\ | 고품질의 얼굴 템플릿을 등록하려면 false를 설정하십시오. \\ \\ | ||
8. //previewOption// \\ | 8. //previewOption// \\ | ||
- | [+ V2.6.4] IR 인증 가이드를 의미하며, 얼굴 인증 시 preview 화면 출력 설정을 변경할 수 있습니다. \\ | + | [+ V2.6.3] IR 인증 가이드를 의미하며, 얼굴 인증 시 preview 화면 출력 설정을 변경할 수 있습니다. \\ |
+ | ''FaceLite''에서만 사용됩니다. \\ | ||
<WRAP group 50%> | <WRAP group 50%> | ||
^값 ^설명 ^ | ^값 ^설명 ^ | ||
줄 1620: | 줄 1634: | ||
11. //reserved2// \\ | 11. //reserved2// \\ | ||
예약된 공간입니다.\\ \\ | 예약된 공간입니다.\\ \\ | ||
- | |||
==== BS2Rs485ConfigEX ==== | ==== BS2Rs485ConfigEX ==== | ||
<code cpp> | <code cpp> | ||
줄 1839: | 줄 1852: | ||
</WRAP> | </WRAP> | ||
+ | ==== BS2IPV6Config ==== | ||
+ | <code cpp> | ||
+ | enum { | ||
+ | BS2_MAX_IPV6_ALLOCATED_ADDR = 8, | ||
+ | }; | ||
+ | typedef struct { | ||
+ | uint8_t useIPV6; | ||
+ | uint8_t reserved1; | ||
+ | uint8_t useDhcpV6; | ||
+ | uint8_t useDnsV6; | ||
+ | uint8_t reserved[1]; | ||
+ | char staticIpAddressV6[BS2_IPV6_ADDR_SIZE]; | ||
+ | char staticGatewayV6[BS2_IPV6_ADDR_SIZE]; | ||
+ | char dnsAddrV6[BS2_IPV6_ADDR_SIZE]; | ||
+ | char serverIpAddressV6[BS2_IPV6_ADDR_SIZE]; | ||
+ | uint16_t serverPortV6; | ||
+ | uint16_t sslServerPortV6; | ||
+ | uint16_t portV6; | ||
+ | uint8_t numOfAllocatedAddressV6; | ||
+ | uint8_t numOfAllocatedGatewayV6; | ||
+ | uint8_t reserved[8]; | ||
+ | char allocatedIpAddressV6[BS2_IPV6_ADDR_SIZE][BS2_MAX_IPV6_ALLOCATED_ADDR]; | ||
+ | char allocatedGatewayV6[BS2_IPV6_ADDR_SIZE][BS2_MAX_IPV6_ALLOCATED_ADDR]; | ||
+ | } BS2IpConfig; | ||
+ | </code> | ||
+ | 1. //useIPV6// \\ | ||
+ | IP V6 사용여부를 나태내는 flag입니다. \\ \\ | ||
+ | 2. //reserved1// \\ | ||
+ | 예약된 공간입니다. \\ \\ | ||
+ | 3. //useDhcpV6// \\ | ||
+ | DHCP 사용 유무를 나타내는 flag입니다. \\ \\ | ||
+ | 4. //useDnsV6// \\ | ||
+ | server addresss를 사용할지 server URL을 사용할 지 결정하는 flag입니다. \\ \\ | ||
+ | 5. //staticIpAddressV6// \\ | ||
+ | 현재 장치의 정적 IP V6 주소입니다. \\ \\ | ||
+ | 6. //staticGatewayV6// \\ | ||
+ | 현재 장치의 정적 IP V6 게이트웨이 주소입니다. \\ \\ | ||
+ | 7. //dnsAddrV6// \\ | ||
+ | DNS V6 주소입니다. \\ \\ | ||
+ | 8. //serverIpAddressV6// \\ | ||
+ | connectionMode가 server mode일 때 사용되며, BioStar 애플리케이션의 IP V6 주소입니다. \\ \\ | ||
+ | 9. //serverPortV6// \\ | ||
+ | connectionMode가 server mode일 때 사용되며, BioStar 애플리케이션의 포트 번호입니다. \\ \\ | ||
+ | 10. //sslServerPortV6// \\ | ||
+ | connectionMode가 server mode일 때 사용되며, ssl로 연결될 애플리케이션의 서버 포트 번호입니다. \\ \\ | ||
+ | 11. //portV6// \\ | ||
+ | 현재 장치의 IP V6 포트 번호입니다. \\ \\ | ||
+ | 12. //numOfAllocatedAddressV6// \\ | ||
+ | 현재 장치에 할당되어진 IP V6 주소의 갯수를 나타냅니다. \\ \\ | ||
+ | 13. //numOfAllocatedGatewayV6// \\ | ||
+ | 현재 장치에 할당되어진 IP V6 게이트웨이 주소의 갯수를 나타냅니다. \\ \\ | ||
+ | 14. //reserved// \\ | ||
+ | 예약된 공간입니다. \\ \\ | ||
+ | 15. //allocatedIpAddressV6// \\ | ||
+ | 현재 장치에 할당되어진 IP V6 주소입니다. numOfAllocatedAddressV6는 할당되어진 주소의 갯수를 나타냅니다. \\ \\ | ||
+ | 16. //allocatedGatewayV6// \\ | ||
+ | 현재 장치에 할당되어진 IP V6 게이트웨이 주소입니다. numOfAllocatedGatewayV6는 할당되어진 게이트웨이 주소의 갯수를 나타냅니다.\\ | ||
+ | \\ | ||
+ | |||
+ | ==== BS2DesFireCardConfigEx ==== | ||
+ | <code cpp> | ||
+ | typedef struct { | ||
+ | uint8_t appMasterKey[16]; | ||
+ | uint8_t fileReadKey[16]; | ||
+ | uint8_t fileWriteKey[16]; | ||
+ | uint8_t fileReadKeyNumber; | ||
+ | uint8_t fileWriteKeyNumber; | ||
+ | uint8_t reserved[2]; | ||
+ | } BS2DesFireAppLevelKey; ///< 52 bytes | ||
+ | |||
+ | typedef struct { | ||
+ | BS2DesFireAppLevelKey desfireAppKey; ///< 52 bytes | ||
+ | uint8_t reserved[16]; | ||
+ | } BS2DesFireCardConfigEx; ///< 68 bytes | ||
+ | </code> | ||
+ | 1. //appMasterKey// \\ | ||
+ | DesFire의 application master key 값 입니다. \\ \\ | ||
+ | 2. //fileReadKey// \\ | ||
+ | 파일 읽기에 사용되는 key 값 입니다. \\ \\ | ||
+ | 3. //fileWriteKey// \\ | ||
+ | 파일 쓰기에 사용되는 key 값 입니다. \\ \\ | ||
+ | 4. //fileReadKeyNumber// \\ | ||
+ | 파일 읽기용 key의 key index 입니다. \\ \\ | ||
+ | 5. //fileWriteKeyNumber// \\ | ||
+ | 파일 쓰기용 key의 key index 입니다. \\ \\ | ||
+ | 6. //reserved// \\ | ||
+ | 예약된 공간입니다. \\ \\ | ||
+ | 7. //desfireAppKey// \\ | ||
+ | DesFire의 키 정보를 갖는 구조체입니다. \\ \\ | ||
+ | 8. //reserved// \\ | ||
+ | 예약된 공간입니다. \\ |