HX530-Q-A/N远程网络RFID|NFC读卡器读写器二次应用开发API文件

HX530-Q-A/N远程网络RFID|NFC读卡器读写器二次应用开发API文件,IC Reader API Function Set。

HX530-Q-A/N远程网络RFID|NFC读卡器读写器二次应用开发API文件_第1张图片

1、System Function

1.1 API_OpenSocket

Name

API_OpenSocket

Delcaration

SOCKET API_OpenSocket(unsigned char *ip,unsigned int port)

Description

Open the socket ip address and set the port for further communication with the reader.

Input Parameter:

ip  —  ip address

ip[0-3] 4 Byte ip address

such as  ip[0] = 192  ip[1] = 168  ip[2] = 1  ip[3] = 1

port — communicate port

       such as 50000

Output Parameter:

none

Return value

If function run successfully, then return value is the socket Handle; Other else it is INVALID_SOCKET(~0).

 

1.2 API_CloseSocket

Name

API_CloseSocket

Delcaration

int API_CloseSocket(SOCKET s)

Description

Close the communication socket. The API_CloseSocket should be called to release the socket before closing the application program.

Input Parameter:

s  — the socket handle

Output Parameter:

none

Return value

If function run successfully, then return value is 0;Other else it is 1.

1.3 API_ControlLED

Name

API_ControlLED

Delcaration

int API_ControlLED(SOCKET socketHandle, int DeviceAddress,int mode, unsigned char freq, unsigned char duration, unsigned char *buffer)

Description

Control the working state of the LEDMax is 2 LED

Iutput Parameter:

socketHandle - the socket handle

DeviceAddress - Reader Address

Range of Reader Address is from 0 to 255

mode — how to control the LED

         0: the LED is blinking in Green

         1: the LED is blinking in Red

freq  — LED time on light(etu is 20ms, Max value is 50(hex))

        0x00—0x50

duration  — number of times Led on light

        such as 0x0A

Output Parameter:

buffer

buffer[0] value is status words.As for the exact meaning, please refere to the APPENDIX

Return value

If function run successfully, then return value is 0;Other else it is not 0, As for the exact meaning, please refere to the APPENDIX.

1.4 API_ControlBuzzer

Name

API_ControlBuzzer

Delcaration

int API_ControlBuzzer(SOCKET socketHandle, int DeviceAddress,unsigned char freq, unsigned char duration,unsigned char *buffer)

Description

Control the working state of the buzzerMax is 2 LED

Iutput Parameter:

socketHandle - the socket handle

DeviceAddress - Reader Address

Range of Reader Address is from 0 to 255

freq  —  Buzzer time on ringing(etu is 20ms, Max value is 50(hex)

duration  — number of times Buzzer on ringing

Output Parameter:

buffer

buffer[0] value is status words.As for the exact meaning, please refere to the APPENDIX

Return value

If function run successfully, then return value is 0;Other else it is not 0, As for the exact meaning, please refere to the APPENDIX

1.5 API_GetVersionNum

Name

API_GetVersionNum

Delcaration

int API_GetVersionNum(SOCKET socketHandle, int DeviceAddress,

char *VersionNum)

Description

Get the version of the reader

Iutput Parameter:

socketHandle - the socket handle

DeviceAddress - Reader Address

Range of Reader Address is from 0 to 255

Output Parameter:

buffer

  succeed

buffer[0] is the length of the version.

        buffer[1-N] is the version

failed

buffer[0] value is status words.As for the exact meaning, please refere to the APPENDIX

Return value

If function run successfully, then return value is 0;Other else it is not 0, As for the exact meaning, please refere to the APPENDIX

1.6 API_SetDataOutputR232

Name

API_SetDataOutputR232

Delcaration

int  API_SetDataOutputR232(SOCKET socketHandle,  int DeviceAddress,

unsigned char ControlMode,  unsigned char ReadInfo,

unsigned char StartAddress,  unsigned char *Key,  unsigned char *buffer)

Description

Set the configuration of the reader, whether or not auto uploading block or byte data using Key A or Key B. whether or not auto uploading UID of the Card.

Input Parameter:

socketHandle - the socket handle

DeviceAddress - Reader Address

Range of Reader Address is from 0 to 255

ControlMode — control the output data format

       Bit0: Request Mode. 0=Request Idle, 1 = Request All

Bit1: Key Select. Select use KeyA or Key B for Authenticaiton 0=KeyA, 1=KeyB

Bit2: Output format 1= Read Serial Number, 0= Read Data of Block or Byte

Bit3: Read Mode, 0 = Block, 1 = Byte(when Bit2=1 then Bit3=1)

Bit4: AUTO Mode, 0 = OFF, 1 = ON

Note: When “ControlMode”> 0x1F and “ControlMode”^2=0 And  “ReadInfo” =0XFF And  “StartAddress”=0XFF. The Reader will output UID of the Card.

Auto uploading UID is for Mifare and Ultralight Card

Auto upload Block or Byte are only for Mifare Card

ReadInfo — Information to Read

  If Read Mode = 0 then value is the Number of Blocks from 1 to 4

  If Read Mode = 1 then the value is:

           Bits 4-7:  Number of Bytes to Read

           Bits 0-3:  Start Byte   

StartAddress —The Start Address of blocks to be read, not negative

           0x00-0xXX (XX depending on the card type)

Key — Key A or B of the card which is 6 bytes.

Output Parameter:

buffer

buffer[0] value is status words.As for the exact meaning, please refere to the APPENDIX

Return value

If function run successfully, then return value is 0;Other else it is not 0, As for the exact meaning, please refere to the APPENDIX.

1.7 API_MF_SetRequestMode

Name

API_MF_SetRequestMode

Delcaration

int API_MF_SetRequestMode(SOCKET socketHandle,  int DeviceAddress,

unsigned char requestmode,  unsigned char *buffer)

Description

Set the request mode of the reader

Input Parameter:

socketHandle - the socket handle

DeviceAddress - Reader Address

Range of Reader Address is from 0 to 255

requestmode

0x00: forbid auto request card

0x01: allow auto request card

Output Parameter:

buffer

buffer[0] value is status words.As for the exact meaning, please refere to the APPENDIX

Return value

If function run successfully, then return value is 0;Other else it is not 0, As for the exact meaning, please refere to the APPENDIX .

 

2 ISO14443 Type-A + Ultralight Function

2.1 API_MF_Read

Name

API_MF_Read

Delcaration

int API_MF_Read(SOCKET socketHandle,  int DeviceAddress,

int cardType,  unsigned char mode,  unsigned char blk_add,

unsigned char num_blk,  unsigned char *snr,  unsigned char *buffer)

Description

read the appointed length data at the appointed station

Input Parameter:

socketHandle - the socket handle

DeviceAddress - Reader Address

Range of Reader Address is from 0 to 255

cardType - card type

0x00 Mifare card

0x01 Ultralight card

mode  - reader mode 

0x00: Idle mode + Key A  

0x01: All mode  + Key A

0x02: Idle mode + Key B 

0x03: All mode  + Key B

blk_add — the starting address of a card to read, not negative

           0x00-0xXX (XX depending on the card type)

num_blk — the number of block or page to read

            Mifare card: 0x01-0x04

            Ultralight card: restricted to 0x01

snr — Key of the card which is 6 byte

      Mifare card: Key to check

      Ultralight card: Don’t need the paramerter

Output Parameter:

buffer

succeed

Mifare card:

buffer[0]: buffer data length

buffer[1—(N - 16*num_blk byte)]: data of card snr

buffer[(N - 16*num_blk byte)—N]: data of card(16*num_blk byte)

   Ultralight card:

buffer[0]: buffer data length

buffer[1—(4*num_blk byte)]: data of card(4*num_blk byte)

buffer[(N - 4*num_blk byte)—N]: data of card snr

failed

buffer[0]: status words,As for the exact meaning, please refere to the APPENDIX 。

Noteonly read blocks in the same sector, see mifare 1 memory organisation

Return value

If function run successfully, then return value is 0;Other else it is not 0, As for the exact meaning, please refere to the APPENDIX.

2.2 API_MF_Write

Name

API_MF_Write

Delcaration

int API_MF_Write(SOCKET socketHandle,  int DeviceAddress,

int cardType,  unsigned char mode,  unsigned char blk_add,

unsigned char num_blk, unsigned char *key,  unsigned char *buffer)

Description

write the appointed length data at the appointed station

Input Parameter:

socketHandle - the socket handle

DeviceAddress - Reader Address

Range of Reader Address is from 0 to 255

cardType - card type

0x00 Mifare one card

0x01 Ultralight card

mode  –  write mode

0x00: Idle mode + Key A  

0x01: All mode  + Key A

0x02: Idle mode + Key B 

0x03: All mode  + Key B

blk_add — the starting address of a card to write, not negative

           0x00-0xXX (XX depending on the card type)

num_blk — the number of block or page to write

            Mifare card: 0x01-0x04

            Ultralight card: restricted to 0x01

key Key of the card which is 6 byte

      Mifare card: Key to check

      Ultralight card: Don’t need the paramerter

buffer data to write to the card

      Mifare card: 16*num_blk byte

      Ultralight card: 4*num_blk byte

Output Parameter:

buffer

succeed

buffer[0]: UID data length

buffer[1-N]: UID of N byte (from Low byte to Hight byte )

failed

buffer[0]: status words,As for the exact meaning, please refere to the APPENDIX 。

Noteonly write block in the same sector, see mifare 1 memory organisation

Return value

If function run successfully, then return value is 0;Other else it is not 0, As for the exact meaning, please refere to the APPENDIX .

2.3 API_MF_Request

Name

API_MF_Request

Delcaration

API_MF_Request(SOCKET socketHandle,  int DeviceAddress,

unsigned char mode,  unsigned char *buffer)

Description

Get the card type

Input Parameter:

socketHandle - the socket handle

DeviceAddress - Reader Address

Range of Reader Address is from 0 to 255

mode

0x00: All mode

0x01: Idle mode

Output Parameter:

buffer

succeed

buffer[0-1]: card type of 2 byte

failed

buffer[0]: status words,see appendix。

Return value

If function run successfully, then return value is 0;Other else it is not 0, As for the exact meaning, please refere to the APPENDIX .

2.4 API_MF_GET_SNR

Name

API_MF_GET_SNR

Delcaration

int API_MF_GET_SNR(SOCKET socketHandle, int DeviceAddress, unsigned char mode,unsigned char cmd,unsigned char *flag, unsigned char *buffer)

Description

Read the serial number of a card

Iutput Parameter:

socketHandle - the socket handle

DeviceAddress - Reader Address

Range of Reader Address is from 0 to 255

mode   —  control how to get the serial number

          0x00: All       0x01:Idle

cmd   —   whether or not halt the card

           0x00: not halt      0x01: halt command

Output Parameter:

flag   —   flag about card number

           0x00: one card      0x01:more than one card

buffer

  succeed

buffer[0] is the length of the card number.

        buffer[1-N] is the serial number (from low byte to high byte)

failed

buffer[0] value is status words.As for the exact meaning, please refere to the APPENDIX

Return value

If function run successfully, then return value is 0;Other else it is not 0, As for the exact meaning, please refere to the APPENDIX

2.5 API_MF_PowerOn

Name

API_MF_PowerOn

Delcaration

int API_MF_PowerOn(SOCKET socketHandle,  int DeviceAddress,

unsigned char mode, unsigned char cmd, unsigned char *buffer)

Description

Enter into ISO14443 protocol -4 layer, get the ATS of the CPU card

Note: Must forbid auto request card first using the API_MF_SetRequestMode.After sent APDU command using API_MF_TransferCMD, please allow the auto request card using API_MF_SetRequestMode.

Input Parameter:

socketHandle - the socket handle

DeviceAddress - Reader Address

Range of Reader Address is from 0 to 255

mode

0x00: All mode

0x01: Idle mode

cmd  whether halt after poweron

0x00: None

0x01: Halt

Output Parameter:

buffer

succeed

buffer[0] is the length of ATS Data.

        buffer[1-N] is the ATS Data

failed

buffer[0] value is status words.As for the exact meaning, please refere to the APPENDIX

Return value

If function run successfully, then return value is 0;Other else it is not 0, As for the exact meaning, please refere to the APPENDIX .

2.6 API_MF_TransferCMD

Name

API_MF_TransferCMD

Delcaration

int  API_MF_TransferCMD(SOCKET socketHandle,  int DeviceAddress,

unsigned char mode, unsigned char cmdlength, unsigned char *cmd ,

unsigned char *returnlen , unsigned char *buffer)

Description

Send APDU data to ISO14443 Type A CPU card

Note: Must Send PowerOn using API_MF_PowerOn first, then send this command.

Input Parameter:

socketHandle - the socket handle

DeviceAddress - Reader Address

Range of Reader Address is from 0 to 255

mode

0x00: Not CRC

0x01: Include CRC

cmdlength 

length of the APDU command in byte

cmd

    context of command

Output Parameter:

returnlen

     return length of the data

buffer

succeed

        buffer[0-N] is the Data of the card

failed

buffer[0] value is status words.As for the exact meaning, please refere to the APPENDIX

Return value

If function run successfully, then return value is 0;Other else it is not 0, As for the exact meaning, please refere to the APPENDIX .

 

3. APPENDIX

3.1 API Return Value

Return

Description

0x00

Command OK. ( success)

0x02

checksum error

0x03

Send error

0x04

time out reply

0x05

Reader Address mismath

0x06

Connection gracefully closed

0x07

check sum error

0x08

SOCKET_ERROR

0x0A

the parameter value out of range

3.2 Return State Words

Status

Description

0x00

Command OK. ( success)

0x01

Command FAILUREsee error code

0x80

SET OK.

0x81

SET FAILURE

0x82

Reader reply time out error

0x83

the card do not exist

0x84

the data is error

0x85

the authentication failure

0x86

Unknown Internal Error

0x87

Unknown error

0x89

The parameter of the command or the Format of the command Erro

0x8A

Error in the initial

0x8B

Error UID in the Anticoll

0x8C

Passwords error

0x8f

Reader received unknown command

0x90

card could not support this command

0x91

command format have a mistake

0x92

command could not support OPTION form

0x93

inputed block is inexistence.

0x94

inputed block had been locked

0x95

ocked the block is not successful

0x96

write card operation is not successful

0x89

Flag error in the ISO14443 TypeA

 

 

你可能感兴趣的:(RFID应用与开发)