차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
다음 판 양쪽 다음 판
ko:log_management_api [2020/02/17 19:49]
kkshin
ko:log_management_api [2021/05/25 15:37]
kkshin [BS2Event]
줄 8: 줄 8:
   * [[BS2_ClearLog]]:​ 모든 로그를 삭제합니다.   * [[BS2_ClearLog]]:​ 모든 로그를 삭제합니다.
   * [[BS2_StartMonitoringLog]]:​ 실시간 로그 스트리밍을 시작합니다.   * [[BS2_StartMonitoringLog]]:​ 실시간 로그 스트리밍을 시작합니다.
 +  * [[BS2_StartMonitoringLogEx]]:​ 측정 체온이 포함된, 실시간 로그 스트리밍을 시작합니다. [+ V2.7.1]
   * [[BS2_StopMonitoringLog]]:​ 실시간 로그 스트리밍을 중단합니다.   * [[BS2_StopMonitoringLog]]:​ 실시간 로그 스트리밍을 중단합니다.
   * [[BS2_GetLogBlob]]:​ EventMask에 맞게 일정량의 로그를 가져옵니다.   * [[BS2_GetLogBlob]]:​ EventMask에 맞게 일정량의 로그를 가져옵니다.
   * [[BS2_GetFilteredLogSinceEventId]]:​ 조건에 맞는 로그를 가져옵니다.   * [[BS2_GetFilteredLogSinceEventId]]:​ 조건에 맞는 로그를 가져옵니다.
   * [[BS2_GetImageLog]]:​ 이미지로그를 가져옵니다.   * [[BS2_GetImageLog]]:​ 이미지로그를 가져옵니다.
-  * [[BS2_GetLogSmallBlob]]:​ [+ 2.6.4] 효율적으로 메모리를 사용하, EventMask에 맞게 일정량의 로그를 가져옵니다.+  * [[BS2_GetLogSmallBlob]]:​ [+ 2.6.4] 효율적으로 메모리를 사용하면서, EventMask에 맞게 일정량의 ​로그를 가져옵니다. 
 +  * [[BS2_GetLogSmallBlobEx]]:​ [+ 2.7.1] 효율적으로 메모리를 사용하면서,​ EventMask를 사용해서 체온정보를 포함한 ​로그를 가져옵니다.
  
 ===== 콜백 함수 ===== ===== 콜백 함수 =====
 +==== OnLogReceived ====
 +장치로부터 새로운 로그를 수신했을 때 호출되는 콜백 함수입니다. ​ \\ \\ 
 <code cpp> <code cpp>
 typedef void (*OnLogReceived)(uint32_t deviceId, BS2Event* log); typedef void (*OnLogReceived)(uint32_t deviceId, BS2Event* log);
 </​code>​ </​code>​
 \\ \\
 +1. //​deviceId//​ \\ 
 +새로운 로그를 보내준 장치 ID입니다. ​ \\ \\ 
 +2. //log// \\ 
 +새로운 로그 정보 구조체입니다. ​ \\ \\ 
  
-1. //​OnLogReceived//​ \\  +==== OnLogReceivedEx ==== 
-장치로부터 새로운 로그를 수신했을 때 호출되는 콜백 함수입니다. ​ \\ \\  +[+ V2.7.1] ​장치로부터 새로운 로그를 수신했을 때 호출되는 콜백 함수입니다. \\ 
 +열화상 카메라를 통해 측정된 체온이 세번째 인자로 수신되며,​ [[configuration api#​BS2FaceConfigExt]]의 auditTemperature가 true로 설정되어져야 합니다. \\ \\ 
 +<code cpp> 
 +typedef void (*OnLogReceivedEx)(uint32_t deviceId, BS2Event* log, uint32_t temperature);​ 
 +</​code>​ 
 +\\ 
 +1. //​deviceId//​ \\  
 +새로운 로그를 보내준 장치 ID입니다. ​ \\ \\  
 +2. //log// \\  
 +새로운 로그 정보 구조체입니다. ​ \\ \\  
 +3. //​temperature//​ \\  
 +새로운 로그 발생 시, 측정된 체온 정보입니다. \\ \\
 ===== 구조체 ===== ===== 구조체 =====
 ==== BS2Event ==== ==== BS2Event ====
줄 132: 줄 150:
 |::: |BS2_SUB_EVENT_VERIFY_AOC_FINGER ​ |0x0E  |AOC 카드와 지문 인증 성공 ​ | |::: |BS2_SUB_EVENT_VERIFY_AOC_FINGER ​ |0x0E  |AOC 카드와 지문 인증 성공 ​ |
 |::: |BS2_SUB_EVENT_VERIFY_AOC_FINGER_PIN ​ |0x0F  |AOC 카드, 지문, PIN 인증 성공 ​ | |::: |BS2_SUB_EVENT_VERIFY_AOC_FINGER_PIN ​ |0x0F  |AOC 카드, 지문, PIN 인증 성공 ​ |
 +|::: |BS2_SUB_EVENT_VERIFY_MOBLIE_CARD ​ |0x16  |Mobile카드 인증 성공 (+V2.8) ​ |
 +|::: |BS2_SUB_EVENT_VERIFY_MOBILE_CARD_PIN ​ |0x17  |Mobile카드,​ PIN 인증 성공 (+V2.8) ​ |
 +|::: |BS2_SUB_EVENT_VERIFY_MOBILE_CARD_FINGER ​ |0x18  |Mobile카드,​ 지문 인증 성공 (+V2.8) ​ |
 +|::: |BS2_SUB_EVENT_VERIFY_MOBILE_CARD_FINGER_PIN ​  ​|0x19 ​ |Mobile카드,​ 지문, PIN 인증 성공 (+V2.8) ​ |
 +|::: |BS2_SUB_EVENT_VERIFY_MOBILE_CARD_FACE ​ |0x1A  |Mobile카드,​ 얼굴 인증 성공 (+V2.8) ​ |
 +|::: |BS2_SUB_EVENT_VERIFY_MOBILE_CARD_FACE_PIN ​ |0x1B  |Mobile카드,​ 얼굴, PIN 인증 성공 (+V2.8) ​ |
 +|::: |BS2_SUB_EVENT_VERIFY_MOBILE_CARD_FACE_FINGER ​ |0x20  |Mobile카드,​ 얼굴, 지문 인증 성공 (+V2.8) ​ |
 +|::: |BS2_SUB_EVENT_VERIFY_MOBILE_CARD_FINGER_FACE ​ |0x21  |Mobile카드,​ 지문, 얼굴 인증 성공 (+V2.8) ​ |
 |Identify ​ |BS2_SUB_EVENT_IDENTIFY_FINGER ​ |0x01  |지문 인증으로 사용자 식별 ​ | |Identify ​ |BS2_SUB_EVENT_IDENTIFY_FINGER ​ |0x01  |지문 인증으로 사용자 식별 ​ |
 |::: |BS2_SUB_EVENT_IDENTIFY_FINGER_PIN ​ |0x02  |지문과 PIN 인증으로 사용자 식별 ​ | |::: |BS2_SUB_EVENT_IDENTIFY_FINGER_PIN ​ |0x02  |지문과 PIN 인증으로 사용자 식별 ​ |
줄 145: 줄 171:
 |::: |BS2_SUB_EVENT_CREDENTIAL_AOC_PIN ​ |0x06  |유효하지 않은 AOC PIN  | |::: |BS2_SUB_EVENT_CREDENTIAL_AOC_PIN ​ |0x06  |유효하지 않은 AOC PIN  |
 |::: |BS2_SUB_EVENT_CREDENTIAL_AOC_FINGER ​ |0x07  |유효하지 않은 AOC 지문 ​ | |::: |BS2_SUB_EVENT_CREDENTIAL_AOC_FINGER ​ |0x07  |유효하지 않은 AOC 지문 ​ |
 +|::: |BS2_SUB_EVENT_CREDENTIAL_MOBILE_CARD ​ |0x08  |유효하지 않은 Mobile카드 (+V2.8) ​ |
 |Auth  |BS2_SUB_EVENT_AUTH_FAIL_INVALID_AUTH_MODE ​ |0x01  |유효하지 않은 인증 모드 ​ | |Auth  |BS2_SUB_EVENT_AUTH_FAIL_INVALID_AUTH_MODE ​ |0x01  |유효하지 않은 인증 모드 ​ |
 |::: |BS2_SUB_EVENT_AUTH_FAIL_INVALID_CREDENTIAL ​ |0x02  |인증 모드에 설정되지 않은 인증 수단 ​ | |::: |BS2_SUB_EVENT_AUTH_FAIL_INVALID_CREDENTIAL ​ |0x02  |인증 모드에 설정되지 않은 인증 수단 ​ |
줄 328: 줄 355:
 <WRAP group 50%> <WRAP group 50%>
 ^값  ^설명 ​ ^ ^값  ^설명 ​ ^
-|0     ​|없음 ​ | +|0x0000 ​ |없음 ​ | 
-|1     |BS2EventExtInfo 구조체 | +|0x0001  ​|BS2EventExtInfo 구조체 | 
-|2     |User ID | +|0x0002  ​|User ID | 
-|4     |Card ID | +|0x0004  ​|Card ID | 
-|8     |Door ID | +|0x0008  ​|Door ID | 
-|16    ​|Zone ID | +|0x0010  ​|Zone ID | 
-|32    ​|BS2EventExtIoDevice 구조체 ​ | +|0x0020  ​|BS2EventExtIoDevice 구조체 ​ | 
-|64    |Door ID | +|0x0040  ​|TNA Key | 
-|128   |Zone ID | +|0x0080  ​|Job Code | 
-|256   |TNA Key | +|0x0100 ​ ​|Image | 
-|512   |Job Code | +|0x0200 ​ |Temperature | 
-|1024  ​|Image | +|0xFFFF  ​|ALL |
-|65535 |ALL |+
 </​WRAP>​ </​WRAP>​
 2. //id// \\  2. //id// \\ 
줄 349: 줄 375:
 로그와 관련된 사용자 식별자로써 사용자와 관련 없는 로그일 경우 0으로 설정됩니다. \\ \\  로그와 관련된 사용자 식별자로써 사용자와 관련 없는 로그일 경우 0으로 설정됩니다. \\ \\ 
 5. //cardID// \\  5. //cardID// \\ 
-로그와 관련된 card 식별자로써 card와 관련 없는 로그일 경우 0으로 설정됩니다. \\ \\ +로그와 관련된 card 식별자로써 card와 관련 없는 로그일 경우 0으로 설정됩니다. \\  
 +인증 실패의 경우에만 기록하며,​ 인증 성공의 경우에는 eventMask와 상관없이 user ID를 리턴합니다. \\ \\
 6. //doorID// \\  6. //doorID// \\ 
 로그와 관련된 door 식별자로써 door와 관련 없는 로그일 경우 0으로 설정됩니다. \\ \\  로그와 관련된 door 식별자로써 door와 관련 없는 로그일 경우 0으로 설정됩니다. \\ \\ 
줄 452: 줄 479:
 <WRAP group 50%> <WRAP group 50%>
 ^값  ^설명 ​ ^ ^값  ^설명 ​ ^
-|0     ​|없음 ​ | +|0x0000 ​ |없음 ​ | 
-|1     |BS2EventExtInfo 구조체 | +|0x0001  ​|BS2EventExtInfo 구조체 | 
-|2     |User ID | +|0x0002  ​|User ID | 
-|4     |Card ID | +|0x0004  ​|Card ID | 
-|8     |Door ID | +|0x0008  ​|Door ID | 
-|16    ​|Zone ID | +|0x0010  ​|Zone ID | 
-|32    ​|BS2EventExtIoDevice 구조체 ​ | +|0x0020  ​|BS2EventExtIoDevice 구조체 ​ | 
-|64    |Door ID | +|0x0040  ​|TNA Key | 
-|128   |Zone ID | +|0x0080  ​|Job Code | 
-|256   |TNA Key | +|0x0100 ​ ​|Image | 
-|512   |Job Code | +|0x0200 ​ |Temperature | 
-|1024  ​|Image | +|0xFFFF  ​|ALL |
-|65535 |ALL |+
 </​WRAP>​ </​WRAP>​
 2. //id// \\  2. //id// \\ 
줄 473: 줄 499:
 로그와 관련된 사용자 식별자로써 사용자와 관련 없는 로그일 경우 0으로 설정됩니다. \\ \\  로그와 관련된 사용자 식별자로써 사용자와 관련 없는 로그일 경우 0으로 설정됩니다. \\ \\ 
 5. //cardID// \\  5. //cardID// \\ 
-로그와 관련된 card 식별자로써 card와 관련 없는 로그일 경우 0으로 설정됩니다. \\ \\ +로그와 관련된 card 식별자로써 card와 관련 없는 로그일 경우 0으로 설정됩니다. \\  
 +인증 실패의 경우에만 기록하며,​ 인증 성공의 경우에는 eventMask와 상관없이 user ID를 리턴합니다. \\ \\
 6. //doorID// \\  6. //doorID// \\ 
 로그와 관련된 door 식별자로써 door와 관련 없는 로그일 경우 0으로 설정됩니다. \\ \\  로그와 관련된 door 식별자로써 door와 관련 없는 로그일 경우 0으로 설정됩니다. \\ \\ 
줄 489: 줄 516:
 이벤트 발생되었을 때 이미지 정보가 포함될 경우에 사용됩니다 \\ \\ 이벤트 발생되었을 때 이미지 정보가 포함될 경우에 사용됩니다 \\ \\
 13. //​reserved//​ \\  13. //​reserved//​ \\ 
 +예약된 공간입니다.\\ \\
 +
 +
 +==== BS2EventSmallBlobEx ====
 +<code cpp>
 +typedef struct {
 +    uint16_t eventMask;
 +    uint32_t id;
 +    BS2EventExtInfo info;                         // valid if eventMask has BS2_EVENT_MASK_INFO
 +    union
 +    {
 +        BS2_USER_ID userID; ​                      // valid if eventMask has BS2_EVENT_MASK_USER_ID
 +        uint8_t cardID[BS2_CARD_DATA_SIZE]; ​      // valid if eventMask has BS2_EVENT_MASK_CARD_ID
 +        BS2_DOOR_ID doorID; ​                      // valid if eventMask has BS2_EVENT_MASK_DOOR_ID
 +        BS2_ZONE_ID zoneID; ​                      // valid if eventMask has BS2_EVENT_MASK_ZONE_ID
 +        BS2EventExtIoDevice ioDevice; ​            // valid if eventMask has BS2_EVENT_MASK_IODEVICE
 +    };
 +    uint8_t tnaKey; ​                              // valid if eventMask has BS2_EVENT_MASK_TNA_KEY
 +    uint32_t jobCode; ​                            // valid if eventMask has BS2_EVENT_MASK_JOB_CODE
 +    uint16_t imageSize; ​                          // valid if eventMask has BS2_EVENT_MASK_IMAGE
 +    uint8_t* imageObj; ​                           // valid if eventMask has BS2_EVENT_MASK_IMAGE
 +    uint8_t reserved;
 +    uint32_t temperature; ​                        // valid if eventMask has BS2_EVENT_MASK_TEMPERATURE
 +} BS2EventSmallBlobEx;​
 +</​code>​
 +\\
 +
 +1. //​eventMask//​ \\ 
 +Event mask값입니다. mask값에 따라서 해당 ID(User, card, door, zone)값을 인식할 수 있습니다.\\ \\ 
 +<WRAP group 50%>
 +^값  ^설명 ​ ^
 +|0x0000 ​ |없음 ​ |
 +|0x0001 ​ |BS2EventExtInfo 구조체 |
 +|0x0002 ​ |User ID |
 +|0x0004 ​ |Card ID |
 +|0x0008 ​ |Door ID |
 +|0x0010 ​ |Zone ID |
 +|0x0020 ​ |BS2EventExtIoDevice 구조체 ​ |
 +|0x0040 ​ |TNA Key |
 +|0x0080 ​ |Job Code |
 +|0x0100 ​ |Image |
 +|0x0200 ​ |Temperature |
 +|0xFFFF ​ |ALL |
 +</​WRAP>​
 +2. //id// \\ 
 +로그 레코드의 식별자이며 로그가 발생될 때마다 1부터 자동으로 증가합니다. \\ \\ 
 +3. //info// \\ 
 +BS2EventExtInfo 구조체 정보입니다. \\ \\ 
 +4. //userID// \\ 
 +로그와 관련된 사용자 식별자로써 사용자와 관련 없는 로그일 경우 0으로 설정됩니다. \\ \\ 
 +5. //cardID// \\ 
 +로그와 관련된 card 식별자로써 card와 관련 없는 로그일 경우 0으로 설정됩니다. \\ 
 +인증 실패의 경우에만 기록하며,​ 인증 성공의 경우에는 eventMask와 상관없이 user ID를 리턴합니다. \\ \\
 +6. //doorID// \\ 
 +로그와 관련된 door 식별자로써 door와 관련 없는 로그일 경우 0으로 설정됩니다. \\ \\ 
 +7. //zoneID// \\ 
 +로그와 관련된 zone 식별자로써 zone와 관련 없는 로그일 경우 0으로 설정됩니다. \\ \\ 
 +8. //​ioDevice//​ \\ 
 +Door나 Input 장치의 식별자로 Door나 Input 장치와 관련 없는 로그일 경우 0으로 설정됩니다. (BS2EventExtIoDevice 구조체 참고)\\ \\ 
 +9. //tnaKey// \\ 
 +이벤트 발생 장치의 추가 정보가 필요할 경우에만 사용되고,​ 주로 근태 코드나 출입문이나 입력 장치의 포트 번호가 저장됩니다 \\ \\
 +10. //jobCode// \\ 
 +사용자 정보에 JobCode가 존재했을 경우에, JobCode 사용하여 인증 할 때 사용자의 JobCode 값을 말합니다. \\ \\
 +11. //​imageSize//​ \\ 
 +이벤트 발생되었을 때 이미지 size를 말합니다. \\ \\
 +12. //​imageObj//​ \\ 
 +이벤트 발생되었을 때 이미지 정보가 포함될 경우에 사용됩니다 \\ \\
 +13. //​temperature//​ \\ 
 +열화상 카메라가 설치되어 있으며, 로그를 남기도록 설정이 되어 있는경우 체온정보가 설정됩니다. [[configuration api#​BS2FaceConfigExt|auditTemperature 참조]] \\ \\
 +14. //​reserved//​ \\ 
 예약된 공간입니다.\\ \\ 예약된 공간입니다.\\ \\