차이

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

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
다음 판 양쪽 다음 판
ko:log_management_api [2020/08/21 13:55]
kkshin [콜백 함수]
ko:log_management_api [2021/08/05 10:48]
kkshin
줄 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에 맞게 일정량의 로그를 가져옵니다.
줄 13: 줄 14:
   * [[BS2_GetImageLog]]:​ 이미지로그를 가져옵니다.   * [[BS2_GetImageLog]]:​ 이미지로그를 가져옵니다.
   * [[BS2_GetLogSmallBlob]]:​ [+ 2.6.4] 효율적으로 메모리를 사용하면서,​ EventMask에 맞게 일정량의 로그를 가져옵니다.   * [[BS2_GetLogSmallBlob]]:​ [+ 2.6.4] 효율적으로 메모리를 사용하면서,​ EventMask에 맞게 일정량의 로그를 가져옵니다.
 +  * [[BS2_GetLogSmallBlobEx]]:​ [+ 2.7.1] 효율적으로 메모리를 사용하면서,​ EventMask를 사용해서 체온정보를 포함한 로그를 가져옵니다.
  
 ===== 콜백 함수 ===== ===== 콜백 함수 =====
줄 71: 줄 73:
             uint8_t reserved[12];​             uint8_t reserved[12];​
         } interlock;         } interlock;
 +        struct {
 +            uint16_t relayPort;
 +            uint16_t inputPort;
 +            uint8_t reserved[28];​
 +        } relayAction;​
     };     };
     union {     union {
줄 130: 줄 137:
 15. //​interlock.doorID//​ \\  15. //​interlock.doorID//​ \\ 
 인터락 위반을 발생시킨 출입문 식별자를 의미합니다. \\ \\ 인터락 위반을 발생시킨 출입문 식별자를 의미합니다. \\ \\
-16. //subCode// \\ +16. //​relayAction.relayPort//​ \\  
 +IM-120에서 RelayAction 동작 시 relay의 port 식별자입니다. \\ \\ 
 +17. //​relayAction.inputPort//​ \\  
 +IM-120에서 RelayAction 동작 시 input의 port 식별자입니다. \\ \\ 
 +18. //subCode// \\ 
 로그 유형의 하위 코드 값입니다. 추가 정보가 필요할 경우 사용하십시오. \\ 로그 유형의 하위 코드 값입니다. 추가 정보가 필요할 경우 사용하십시오. \\
 ^범주 ​ ^이벤트 코드 ​ ^값  ^설명 ​ ^ ^범주 ​ ^이벤트 코드 ​ ^값  ^설명 ​ ^
줄 148: 줄 159:
 |::: |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 인증으로 사용자 식별 ​ |
줄 161: 줄 180:
 |::: |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  |인증 모드에 설정되지 않은 인증 수단 ​ |
줄 173: 줄 193:
 |APB  |BS2_SUB_EVENT_ZONE_HARD_APB ​ |0x01  |하드 APB 구역 ​ | |APB  |BS2_SUB_EVENT_ZONE_HARD_APB ​ |0x01  |하드 APB 구역 ​ |
 |::: |BS2_SUB_EVENT_ZONE_SOFT_APB ​ |0x02  |소프트 APB 구역 ​ |  |::: |BS2_SUB_EVENT_ZONE_SOFT_APB ​ |0x02  |소프트 APB 구역 ​ | 
-17. //​mainCode//​ \\ +19. //​mainCode//​ \\ 
 로그 유형의 주코드 값입니다. \\ 로그 유형의 주코드 값입니다. \\
 ^범주 ​ ^이벤트 코드 ​ ^값  ^설명 ​ ^ ^범주 ​ ^이벤트 코드 ​ ^값  ^설명 ​ ^
줄 258: 줄 278:
 |:::  |BS2_EVENT_ZONE_SCHEDULED_LOCK_ALARM ​ |0x6E00 ​ |스케줄 잠금 구역 경보 시작 ​ | |:::  |BS2_EVENT_ZONE_SCHEDULED_LOCK_ALARM ​ |0x6E00 ​ |스케줄 잠금 구역 경보 시작 ​ |
 |:::  |BS2_EVENT_ZONE_SCHEDULED_LOCK_ALARM_CLEAR ​ |0x6F00 ​ |스케줄 잠금 구역 경보 해제 ​ | |:::  |BS2_EVENT_ZONE_SCHEDULED_LOCK_ALARM_CLEAR ​ |0x6F00 ​ |스케줄 잠금 구역 경보 해제 ​ |
 +|RelayAction ​ |BS2_EVENT_RELAY_ACTION_ON ​ |0xC300 ​ |RelayAction 켜짐 ​ |
 +|:::  |BS2_EVENT_RELAY_ACTION_OFF ​ |0xC400 ​ |RelayAction 꺼짐 ​ |
 +|:::  |BS2_EVENT_RELAY_ACTION_KEEP ​ |0xC500 ​ |RelayAction 신호유지 ​ |
  
  
- +20. //param// \\ 
-18. //param// \\ +
 이벤트 발생 장치의 추가 정보가 필요할 경우에만 사용되고,​ 주로 근태 코드나 출입문이나 입력 장치의 포트 번호가 저장됩니다. 근태 코드가 저장될 때는 아래의 코드표를 참고하십시오. ​ 이벤트 발생 장치의 추가 정보가 필요할 경우에만 사용되고,​ 주로 근태 코드나 출입문이나 입력 장치의 포트 번호가 저장됩니다. 근태 코드가 저장될 때는 아래의 코드표를 참고하십시오. ​
 <WRAP group 60%> <WRAP group 60%>
줄 302: 줄 324:
 \\ \\  \\ \\ 
  
-19. //image// \\ +21. //image// \\ 
 SDK V2.6.0 이전까지는 1byte 전체를 사용하여 다음을 의미했습니다. \\ SDK V2.6.0 이전까지는 1byte 전체를 사용하여 다음을 의미했습니다. \\
 - 이벤트 발생되었을 때 이미지 정보가 포함되었는지 여부 (true/​false). \\ - 이벤트 발생되었을 때 이미지 정보가 포함되었는지 여부 (true/​false). \\
줄 344: 줄 366:
 <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// \\ 
줄 469: 줄 490:
 <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// \\ 
줄 507: 줄 527:
 이벤트 발생되었을 때 이미지 정보가 포함될 경우에 사용됩니다 \\ \\ 이벤트 발생되었을 때 이미지 정보가 포함될 경우에 사용됩니다 \\ \\
 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//​ \\ 
 예약된 공간입니다.\\ \\ 예약된 공간입니다.\\ \\