> For the complete documentation index, see [llms.txt](https://edgex-api-advantech.gitbook.io/edgex-api-doc/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://edgex-api-advantech.gitbook.io/edgex-api-doc/device-connection/scanner-sdk.md).

# Scanner SDK

## Content

* Introduction
* Hardware devices support list
* File structure
* RESTful API

## Introduction

The Scanner SDK programming guide will lead the user to interact with the Scanner SDK through the RESTful API. The user can obtain the data (ID) scanned by the current Scanner through the RESTful API, and can use the database imported by the user through simple settings (Config.ini). The Scanner SDK uses the ID to quickly match the name, and the scan data can also be stored directly to the cloud database through the EdgeX connection.

## Hardware devices support list

<figure><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2FMAuDuZ3jamhpTHPUQ9CB%2Fimage.png?alt=media&amp;token=db4764d4-da3e-4816-af23-6d5c59c32220" alt=""><figcaption></figcaption></figure>

&#x20;           \*1 => The region range mapping to the following

&#x20;                    1 : USA                902\~928 MHz

&#x20;                    2 : Taiwan           922\~928 MHz

&#x20;                    3 : China             920\~925 MHz

&#x20;                    4 : China2           840\~845 MHz

&#x20;                    5 : Europe 865\~868 MHz

&#x20;

&#x20;           \*2 => The antenna power range mapping to the following

&#x20;                     GIGA Tek UM800L       -19\~27 dBm

&#x20;                     JogTek TM915               -2\~25 dBm

## File structure

The file structure consists of three parts.

<figure><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2F3W4UI9u52qhESeTQ4kB0%2Fimage.png?alt=media&amp;token=8508177a-d7f2-487a-b07c-b56f1d36819b" alt=""><figcaption></figcaption></figure>

### uploads:

User upload data will be stored in this folder, please don’t change the folder’s name or location that will cause Scanner SDK service error.

### output:

The location that the debug log outputs to.

### ScannerSDK.exe:

Main executable file, invoke the Scanner SDK to start the service and get ID from the scanner.

### Config.ini:

General setting lists as follows =>

**\[Scanner]:**

Set current use scanner, default is "0", in this version, current scanner support lists refer to the "Hardware devices support list".

**\[RFID]:**

The RFID device comport is, default is "COM7"

**\[RFIDCOM\_BAUDRATE]:**

For the RFID baud rate for customized setting, please set it before the API /api/getscanid, if the user doesn’t set this tag via API /api/setscannercomportbaudrate/ , Scanner SDK will use the default baud rate to handle the scanner.

**\[BARCODECOM]:**

The barcode device comport is, default is "COM28".      &#x20;

**\[BARCODECOM\_BAUDRATE]:**

For the barcode baud rate for customized setting, please set it before the API /api/getscanid, if the user doesn’t set this tag via API /api/setscannercomportbaudrate/ , Scanner SDK will use the default baud rate to handle the scanner.               &#x20;

**\[Lookup]:**

Set to "1" to map names or tags with ID from the imported database, Set to "0" to do nothing but ID with scan result, default is "1".               &#x20;

**\[ToMqtt]:**

Set "1" to pass the scan result to the MQTT broker and vice versa.          &#x20;

**\[MqttIP]:**

Set MQTT broker IP address, default is "tcp\://10.0.75.1:1883"\
\[MqttIP]\
IP = tcp\://10.0.75.1:1883\
for general purposes to DockerNAT for EdgeX, the user also can set your own MQTT broker IP address, which located. This setting will be activation while \[ToMqtt] set to "1".     &#x20;

<div align="left"><figure><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2FXoZ2QTbW9RjLPtRdkihn%2F2.png?alt=media&amp;token=1993239a-86e6-4004-8487-d02c9f74870d" alt=""><figcaption></figcaption></figure></div>

**\[MqttTopic]:**

Set MQTT topic, default is “mqtt\_topic”. The user must be assigned the MQTT topic to match the request.

![](https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2Fh7vMZFE1eozaTiZ2KQxN%2Fimage.png?alt=media\&token=f96a8e6f-0231-4d73-934a-3cfa3ab92e17)

\
**\[MqttAutoUpload]:**

Set MQTT auto upload after getting scan ID or not, set Enable to upload the current scan result to the MQTT by given MQTT parameter,  &#x20;

<div align="left"><figure><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2FLGNr7dk4R1rygGJrvRUl%2F3.png?alt=media&amp;token=d972de85-335b-42ce-aa8e-9c34409a26b9" alt=""><figcaption></figcaption></figure></div>

Set Disable to stop auto upload of the scan result

<div align="left"><figure><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2FTaSrBn0Qgl6khkJZxqYd%2F4.png?alt=media&amp;token=ecb3ff1c-20d8-41e5-aee1-54e5af3d37e2" alt=""><figcaption></figcaption></figure></div>

## Initial flowchart

The user must follow this initial flowchart to staring the Scanner SDK completely. Launch the Scanner SDK and call the API by following the sequences.

<figure><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2FYAUkMbVW7ayFYq0Ca76U%2Fimage.png?alt=media&amp;token=d71eabbf-dceb-4b9f-9bc5-4e7a14eaf5af" alt=""><figcaption></figcaption></figure>

## RESTful API

The Scanner SDK API located at localhost:50003 while running, and the format of the API is&#x20;

|                                                                                     |
| ----------------------------------------------------------------------------------- |
| *localhost: 50003/api/{RESTful API function name}/{parameter 1} /… /{parameter N},* |

and all the returns are package by JSON formats. All the API lists as follows:

### **Get** Scanner SDK **version**

<figure><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2Fo3TDXLJKvEoUONckqCeJ%2Fimage.png?alt=media&amp;token=ea38d4c4-0998-4fe4-82b7-710df7719fa4" alt=""><figcaption></figcaption></figure>

#### Example:

|                                                                                                                                                                                  |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p><em>Calling</em> =><em>localhost: 50003/api/getscannersdkversion</em></p><p></p><p><em>Return =></em><br><em>{</em> <br>     <em>"Version": "V2.1.11"</em> <br><em>}</em></p> |

<figure><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2FGalVQiuZ4pV6Hd8I3Gvd%2Fimage.png?alt=media&amp;token=1002daae-70fd-4d66-95a8-2534d007ad50" alt=""><figcaption></figcaption></figure>

### Get supported scanner list

<div align="left"><figure><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2FHEcvDcCNi8rLkYVjhNm8%2F6.JPG?alt=media&amp;token=b9017ac3-09f9-46d9-9948-5a573a5bde8f" alt=""><figcaption></figcaption></figure></div>

**Example:**

* Normal case

|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| <p><em>Calling</em> => <em>localhost: 50003/api/getsmscannerlist</em><br></p><p><em>Return =></em><br><em>{</em></p><p>     <em>"total": "3",</em></p><p>    <em>"device":</em></p><p>     <em>\[</em></p><p>             <em>{ "id": "0", "model": "ADT007A","model\_type":"1","errorcode": "0000"},</em></p><p>             <em>………………</em></p><p>             <em>{"id": "2", "model": "TM915",</em>"model\_type":"2"<em>"errorcode": "0000"}</em></p><p>     <em>]</em></p><p><em>}</em></p> |

<figure><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2FNZzJeV8gFsx0nDhKv9FA%2Fimage.png?alt=media&amp;token=9ef59d5b-8984-4fa3-8ffa-cff521584603" alt=""><figcaption></figcaption></figure>

* Failure case

|                                                                                                                                                                                                                                                                             |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p><em>Calling =>localhost: 500Calling =>03/api/getscannerlist</em><br><br><em>Return =></em></p><p><em>{</em></p><p>     <em>“total”:”0”,</em></p><p>     <em>"id": "",</em></p><p>     <em>"model": "",</em></p><p>     <em>"errorcode": "0001"</em></p><p><em>}</em></p> |

### **Set current scanner**

<div align="left"><figure><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2F3Ts5M6lzayt6Spca6FD4%2F9.JPG?alt=media&amp;token=aa05d91a-cb93-42ac-8129-380d41fcf225" alt=""><figcaption></figcaption></figure></div>

**Example:**

* Normal case

|                                                                                                                                                                                                                                                                                      |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| <p><em>Calling =>localhost: 50003/api/setcurscanner/1</em><br><br><em>Return =></em></p><p><em>{</em></p><p>     <em>"id":"1",</em></p><p>     <em>"model":"</em>UM800L<em>",</em></p><p>     <em>“model\_type”:”2”</em></p><p>     <em>"errorcode":"0000"</em></p><p><em>}</em></p> |

<figure><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2F6hIaZbesFvV2bQxfq7G2%2Fimage.png?alt=media&amp;token=760f1ed8-343b-4887-be3b-ae450a8c7735" alt=""><figcaption></figcaption></figure>

* Failure case

|                                                                                                                                                                                                                                                                          |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| <p><em>Calling => localhost: 50003/api/setcurscanner/3</em><br></p><p><em>Return =></em><br><em>{</em></p><p>     <em>"id": "",</em></p><p>     <em>"model": "",</em></p><p>     <em>“model\_type”:””,</em></p><p>     <em>"errorcode": "0002"</em></p><p><em>}</em></p> |

<figure><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2FJQq2RmWk9cvx79TMfqbw%2Fimage.png?alt=media&amp;token=3f0a2a65-0125-45a2-bb99-1cff786d6b1f" alt=""><figcaption></figcaption></figure>

### Get current scanner

<div align="left"><figure><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2FueoCk2Hb90dBAs6dECeO%2F10.JPG?alt=media&amp;token=da0980ca-d835-4b57-80fb-0a24155c9703" alt=""><figcaption></figcaption></figure></div>

**Example:**

* Normal case

|                                                                                                                                                                                                                                                                            |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p><em>Calling =>localhost: 50003/api/getcurscanner</em><br></p><p><em>Return =></em><br><em>{</em></p><p>     <em>"id":"1",</em></p><p>     <em>"model":"UM800L",</em></p><p>     <em>“model\_type”:”2”,</em></p><p>     <em>"errorcode":"0000"</em></p><p><em>}</em></p> |

<figure><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2FW8ql2GnspHQZ71ASwvdm%2Fimage.png?alt=media&amp;token=3a9b3714-c097-4a84-8198-83bad1b6d7e9" alt=""><figcaption></figcaption></figure>

* Failure case

|                                                                                                                                                                                                                                                                          |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| <p><em>Calling =>localhost: 50003/api/getcurscanner</em><br></p><p><em>Return =></em><br><em>{</em></p><p>     <em>"id": "",</em></p><p>     <em>"model": "",</em></p><p>     <em>“model\_type”:””,</em>   </p><p>     <em>"errorcode": "0001"</em></p><p><em>}</em></p> |

### Upload mapping table

<figure><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2Fo5TzQPmwUU5hPFZFwEHc%2Fimage.png?alt=media&amp;token=d0929814-dc06-40a7-a757-9c5ad361e88e" alt=""><figcaption></figcaption></figure>

**Example:**

* Normal case

|                                                                                                                                                                                                                                                                                                                                                                                     |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p><em>Calling =>localhost: 50003/api/uploadmappingtable</em><br></p><p><em>Return =></em><br><em>\[</em></p><p>               <em>{"id":"001","name":"Albert001","errorcode":"0000"},</em></p><p>               <em>{"id":"002","name":"Albert002","errorcode":"0000"},</em></p><p>               <em>{"id":"003","name":"Albert003","errorcode":"0000"}</em></p><p><em>]</em></p> |

* Failure case

|                                                                                                                                                                                                                                                 |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p><em>Calling =>localhost: 50003/api/uploadmappingtable</em><br></p><p><em>Return =></em><br><em>{</em></p><p>         <em>"id": "",</em></p><p>         <em>"name": "",</em></p><p>         <em>"errorcode": "0001"</em></p><p><em>}</em></p> |

### **Get scan ID**

<div align="left"><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2FpqD7VT8E5ZoOFixMAHjR%2F36.JPG?alt=media&amp;token=af35f1d3-5c59-498b-8aa4-8c0943ee94e9" alt=""></div>

* Normal case

&#x20;      **Single tag usage**

|                                                                                                                                                                                                                                                                                                                                                         |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p><em>Calling =>localhost: 50003/api/getscanid</em><br></p><p><em>Return =></em><br><em>{</em></p><p>       <em>"id": \[</em>     </p><p>                     <em>"3400300833B2DDD9014000000044"</em></p><p>       <em>],</em></p><p>       <em>"timestamp": "2022-06-10 15:46:14",</em></p><p>       <em>"errorcode":"0000"</em></p><p><em>}</em></p> |

<figure><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2FDjL7Cde0qJ4rtP5eGN0w%2F13.png?alt=media&amp;token=93dc9c90-eb5a-44da-af1b-99ee24b605b1" alt=""><figcaption></figcaption></figure>

&#x20;      **Multi-tags usage**

|                                                                                                                                                                                                                                                                                                                                                                                                                        |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p><em>Calling => localhost: 50003/api/getscanid</em></p><p> </p><p><em>Return =></em></p><p><em>{</em></p><p>      <em>"id": \[</em></p><p>                   <em>"3400300833B2DDD9014000000055",</em></p><p>                  <em>"3400300833B2DDD9014000000044"</em></p><p>      <em>],</em></p><p>      <em>"timestamp": "2022-06-10 15:46:14",</em></p><p>      <em>"errorcode": "0000"</em></p><p><em>}</em></p> |

<div align="left"><figure><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2F4nshHEiLXxTBzZfEj1Ez%2F24.png?alt=media&amp;token=40330ef1-6aba-4a50-8454-d548d919e258" alt=""><figcaption></figcaption></figure></div>

* Failure case

|                                                                                                                                                                                                                                                                      |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p><em>Calling =>localhost: 50003/api/getscanid</em><br></p><p><em>Return =></em><br><em>{</em></p><p>       <em>"id": \[""</em>     </p><p>        <em>],</em></p><p>       <em>"timestamp": "",</em></p><p>       <em>"errorcode":"0004"</em></p><p><em>}</em></p> |

### Get name by ID

<div align="left"><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2FwU3liKITy7CgwRfRDF37%2F37.JPG?alt=media&amp;token=827422ef-4d6f-4cf0-8fff-0686066f9227" alt=""></div>

* Normal case

|                                                                                                                                                                                                                                                                     |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p><em>Calling =>localhost: 50003/api/ getnamebyid/4771234567890</em><br></p><p><em>Return =></em><br><em>{</em></p><p>       <em>"id":"4771234567890",</em></p><p>       <em>"name":"Michelle",</em></p><p>       <em>"errorcode":"0000"</em></p><p><em>}</em></p> |

* Failure case

|                                                                                                                                                                                                                                            |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| <p><em>Calling =>localhost: 50003/api/ uploademployeeinfo</em><br></p><p><em>Return =></em><br><em>{</em></p><p>       <em>"id": "",</em></p><p>       <em>"name": "",</em></p><p>       <em>"errorcode": "0013"</em></p><p><em>}</em></p> |

### Download mapping table

<div align="left"><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2FpfG0tab7xQn0x9IPrQnm%2Fa1.JPG?alt=media&amp;token=e8b71d75-44be-4374-8645-e7917fad5f16" alt=""></div>

* Normal case

|                                                                                                                                                                                                                                                            |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p><em>Calling =>localhost: 50003/api/downloadmappingtable</em><br></p><p><em>Return =></em><br><em>04138B145A6434808A,Albee</em></p><p><em>0413A53A5A6434808A,Ash</em></p><p><em>0413A53A5A6434838A,Alice</em></p><p><em>0455A53A5A6434333A,Bell</em></p> |

* Failure case

|                                                                                                                                                                                                                                            |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| <p><em>Calling =>localhost: 50003/api/downloadmappingtable</em><br></p><p><em>Return =></em><br><em>{</em></p><p>       <em>"id": "",</em></p><p>       <em>”name”:””,</em></p><p>       <em>"errorcode": "0014"</em></p><p><em>}</em></p> |

### **Output current scan result**

<div align="left"><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2FuDEpcX0z8MvdEcAp8Ejn%2Fa2.JPG?alt=media&amp;token=70f087ed-52be-4812-94b9-f1e9e6e147ca" alt=""></div>

* Normal case

|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p><em>Calling =>localhost: 50003/api/outputscanresult/123456/2/4714947000196/37/1/1</em><br></p><p><em>Return =></em><br><em>{</em></p><p>       <em>"station\_id": "123456",</em></p><p>       <em>"scanner\_id": "2",</em></p><p>       <em>"scan\_id": "4714947000196",</em></p><p>       <em>"name": "Calpis water",</em></p><p>       <em>"thermal\_value": "37",</em></p><p>       <em>"timestamp": "2021-01-22 14:19:33",</em></p><p>       <em>"errcode": "0000"</em></p><p><em>}</em></p> |

* Failure case

|                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p><em>Calling =>localhost: 50003/api/outputscanresult/123456/2/4714947000196/37/1/1</em><br></p><p><em>Return =></em><br><em>{</em></p><p>       <em>"station\_id": "",</em></p><p>       <em>"scanner\_id": "",</em></p><p>        <em>"scan\_id": "",</em></p><p>        <em>"name": "",</em></p><p>        <em>"thermal\_value": "",</em></p><p>        <em>"timestamp": "",</em></p><p>        <em>"errcode": "0013"</em></p><p><em>}</em></p> |

### **Set scanner comport**

<figure><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2FR3wJNEveEGAFrwdP29rH%2Fimage.png?alt=media&amp;token=4e20d7f4-b30b-4de2-acf7-6cc45759f461" alt=""><figcaption></figcaption></figure>

Notice: This API also stores the value into cfg.ini file simultaneously in those tags : \[RFIDCOM] / \[BARCODECOM].

* Normal case

|                                                                                                                                                                                                                                                                                                                               |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p><em>Calling =>localhost:50003/api/setscannercomport/COM3/COM4</em><br></p><p><em>Return =></em><br><em>{</em></p><p>       <em>"barcode\_com": "COM3",</em></p><p>       "barcode\_baudrate": <em>"115200",</em></p><p>       <em>"rfid\_com": "COM4",</em></p><p>       <em>"errorcode": "0000"</em></p><p><em>}</em></p> |

<div align="left"><figure><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2FClQxtDrS9OJwsPgWAJGV%2F13.png?alt=media&amp;token=00be023d-9137-4a4e-955f-fa8ea3aab27a" alt=""><figcaption></figcaption></figure></div>

* Failure case\
  NA

### Get scanner comport

<figure><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2FoDpmlVg98ag7vR1qWuc9%2Fimage.png?alt=media&amp;token=73276fb2-ed88-4042-8581-e87752558e76" alt=""><figcaption></figcaption></figure>

* Normal case

|                                                                                                                                                                                                                                                                                                                                                     |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p><em>Calling =>localhost:50003/api/getscannercomport</em><br><br><em>Return =></em><br><em>{</em><br>     <em>"barcode\_com": "COM3",</em></p><p>     <em>"barcode\_baudrate": "115200",</em></p><p>    <em>"rfid\_com": "COM4",</em></p><p>     <em>"rfid\_baudrate": "115200",</em></p><p>    <em>"errorcode": "0000"</em></p><p><em>}</em></p> |

<div align="left"><figure><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2FsWm25oLuB0HwNpS20ScQ%2F15.png?alt=media&amp;token=ace0341b-b208-45fa-8aeb-152f2fca543d" alt=""><figcaption></figcaption></figure></div>

* Failure case\
  NA

### **Set scanner comport baud rate**

<figure><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2FzSThdSvt824IxKNiacQo%2Fimage.png?alt=media&amp;token=730569a4-e882-402e-8733-60eab6ec1a22" alt=""><figcaption></figcaption></figure>

Notice: This API also stores the value into cfg.ini file simultaneously in those tags : \[RFIDCOM\_BAUDRATE] / \[BARCODECOM\_BAUDRATE].

* Normal case

|                                                                                                                                                                                                                                                                                                                                                                       |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p><em>Calling =>localhost:50003/api/setscannercomportbaudrate/9600/115200</em><br><br><em>Return =></em><br><em>{</em><br>     <em>"barcode\_com": "COM3",</em></p><p>     <em>"barcode\_baudrate": "9600",</em></p><p>    <em>"rfid\_com": "COM4",</em></p><p>     <em>"rfid\_baudrate": "115200",</em></p><p>    <em>"errorcode": "0000"</em></p><p><em>}</em></p> |

<div align="left"><figure><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2FrKIZ8BCh9aVP9wp3zHxJ%2F17.png?alt=media&amp;token=609434c6-eb39-4ec2-82ff-008407cd50c8" alt=""><figcaption></figcaption></figure></div>

### Set MQTT parameter

<figure><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2FiE91zuiiONeXMbhSG5Sn%2Fimage.png?alt=media&amp;token=63f33b44-be41-4e72-bd7b-4444ed213494" alt=""><figcaption></figcaption></figure>

Notice: This API also stores the value into cfg.ini file simultaneously in those tags : \[MqttIP] / \[MqttTopic] / \[MqttAutoUpload]

* Normal case

|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p><em>Calling =></em>localhost:50003/api/setmqttpara with Body in JSON format<br><em>{</em><br>     <em>"MqttAddress": "tcp\://10.0.75.1:1883",</em></p><p>   <em>"MqttTopic": "mqtt\_topic",</em></p><p>    <em>"MqttAutoUpload": "Enable"</em></p><p><em>}</em><br><br>Return =><br><em>{</em></p><p>  <em>"mqtt\_address": "tcp\://10.0.75.1:1883",</em></p><p>  <em>"mqtt\_topic": "mqtt\_topic",</em></p><p>   <em>"mqtt\_auto\_upload": "Enable",</em></p><p>   <em>"errorcode": "0000"</em></p><p> <em>}</em></p> |

<div align="left"><figure><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2Fye2sl0IpuS6qsLRfsUWd%2F19.png?alt=media&amp;token=725d914a-0dfa-442f-8ed3-1e022f95014b" alt=""><figcaption></figcaption></figure></div>

Note : If the tag \[MqttAutoUpload] set to “Enable”, the Scanner SDKwill send current scan\
result to the MQTT address with follows JSON format =>

**Single tag usage:**

|                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p>\[</p><p>     {</p><p>          "name":"Scanner\_Model",</p><p>          "value":"Jogtek ADT007A"</p><p>      },</p><p>      {</p><p>           "name":"Scanner\_Type",</p><p>           "value":"RFID"</p><p>      },</p><p>      {</p><p>           "name":"Scanner\_Scancode",</p><p>           "value": \[</p><p>                            "E007C4CE7835799D"</p><p>                         ]</p><p>       }</p><p> ]  </p> |

**Multi-tags usage:**

|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| <p>\[</p><p>       {</p><p>            "name":"Scanner\_Model",</p><p>            "value":"UM800L"</p><p>        },</p><p>        {</p><p>              "name":"Scanner\_Type",</p><p>              "value":"UHFRFID"</p><p>         },</p><p>         {</p><p>              "name":"Scanner\_Scancode",</p><p>              "value":\[</p><p>                              "3400E007C4CE7835799D; 3400E007C4CE7835800D;"</p><p>                           ]</p><p>          }</p><p>]</p> |

### Get MQTT parameter

<figure><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2FZUEYSDe1yqVCt5B0uYcl%2Fimage.png?alt=media&amp;token=4c425464-1136-4191-be1b-b77c34a725d5" alt=""><figcaption></figcaption></figure>

* Failure case

|                                                                                                                                                                                                                                                                                                                                              |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p><em>Calling => localhost:50003/api/getmqttaddress</em></p><p> </p><p><em>Return =></em></p><p><em>{</em></p><p>     <em>"mqtt\_address": "tcp\://10.0.75.1.1883",</em></p><p>     <em>“mqtt\_topic”: “mqtt\_topic”,</em></p><p>     <em>“mqtt\_auto\_upload”: “Enable”,</em></p><p>     <em>"errorcode": "0000"</em></p><p><em>}</em></p> |

### Get Scanner SDK Status

<figure><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2FFnCC4I3bQcgbafKSCwww%2Fimage.png?alt=media&amp;token=d7931095-fa80-45bc-8147-49b54e6cf996" alt=""><figcaption></figcaption></figure>

Notice: please follow the initial flowchart before calling this API

* Normal case

|                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p><em>Calling => localhost:50003/api/getscannersdkstatus</em></p><p> </p><p><em>Return =></em></p><p><em>{</em></p><p>    <em>"total": "1",</em></p><p>    <em>"device": \[</em></p><p>        <em>{</em></p><p>           <em>"status":"activate",</em></p><p>           <em>"VID": "10C4",</em></p><p>           <em>“PID”: ”EA60”,</em></p><p>           <em>"ID": "6"</em></p><p>        <em>}</em></p><p>     <em>]</em></p><p><em>}</em></p> |

<figure><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2FvCxzFZ08wwaPlb22dwLf%2Fa2.PNG?alt=media&amp;token=909e8227-0dbe-4e47-b7f8-99770842f778" alt=""><figcaption></figcaption></figure>

* Failure case

|                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p><em>Calling => localhost:50003/api/getscannersdkstatus</em></p><p> </p><p><em>Return =></em></p><p><em>{</em></p><p>    <em>"total": "0",</em></p><p>    <em>"device": \[</em></p><p>        <em>{</em></p><p>           <em>"status":"deactivate",</em></p><p>           <em>"VID": "0000",</em></p><p>           <em>“PID”: ”0000”,</em></p><p>           <em>"ID": "0"</em></p><p>        <em>}</em></p><p>     <em>]</em></p><p><em>}</em></p> |

<figure><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2F3JVttLQJ1zHQmRjouNcr%2Fa3.PNG?alt=media&amp;token=7e110caf-60eb-4a91-8533-b190796f36d0" alt=""><figcaption></figcaption></figure>

### Set Region Frequency

<figure><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2FB6X3M9r4IrmoAWDWbJZ5%2Fimage.png?alt=media&amp;token=bf393f26-2de5-4d1c-8c17-bd63b278a7e8" alt=""><figcaption></figcaption></figure>

Notice: Only UHF RFID device support this command.

* Normal case

|                                                                                                                                                                                                                                                                                         |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p><em>Calling => localhost:50003/api/setregionfreq with BODY in JSON format</em></p><p><em>{</em></p><p>    <em>"region": 3</em></p><p><em>}</em></p><p><em>Return =></em></p><p><em>{</em></p><p>   <em>"region": 3,</em></p><p>   <em>"errorcode": "0000",</em></p><p><em>}</em></p> |

<div align="left"><figure><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2Fp3yKkexmFqrUJt08VKa2%2F2.PNG?alt=media&amp;token=9bfbe2cf-5f71-4d1a-b036-33b49d09b76c" alt=""><figcaption></figcaption></figure></div>

* Failure case

|                                                                                                                                                                                                                                                                                          |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p><em>Calling => localhost:50003/api/setregionfreq with BODY in JSON format</em></p><p><em>{</em></p><p>    <em>"region":10</em></p><p><em>}</em> </p><p><em>Return =></em></p><p><em>{</em></p><p>    <em>"region":0,</em></p><p>    <em>"errorcode":"0001"</em></p><p> <em>}</em></p> |

<div align="left"><figure><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2FMaA8kh6ZqnCuyYmddBeF%2F3.PNG?alt=media&amp;token=084a168c-394f-4e47-9025-3d1c7954baeb" alt=""><figcaption></figcaption></figure></div>

### Get Region Frequency

<figure><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2FuM7ny9M1YUr4gmiJAtm8%2Fimage.png?alt=media&amp;token=e0b9a75c-78e1-4fbc-bb9a-3bf4a927989f" alt=""><figcaption></figcaption></figure>

Notice: Only UHF RFID device support this command.

* Normal case

|                                                                                                                                                                                                      |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p><em>Calling => localhost:50003/api/getregionfreq</em></p><p></p><p><em>Return =></em></p><p><em>{</em></p><p>   <em>"region": 3,</em></p><p>   <em>"errorcode": "0000",</em></p><p><em>}</em></p> |

<div align="left"><figure><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2Fo7dHt8cKWgqqMjJGOExT%2F6.PNG?alt=media&amp;token=d767f01f-57aa-4356-b44a-516961a7e324" alt=""><figcaption></figcaption></figure></div>

* Failure case

|                                                                                                                                                                                               |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p><em>Calling => localhost:50003/api/getregionfreq</em></p><p><em>Return =></em></p><p><em>{</em></p><p>    <em>"region":0,</em></p><p>    <em>"errorcode":"0037"</em></p><p> <em>}</em></p> |

<div align="left"><figure><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2FqKrcQb8m6X78Pji5EG4s%2F12.PNG?alt=media&amp;token=645fef7e-8779-4b4f-99a0-21749443dcb3" alt=""><figcaption></figcaption></figure></div>

### Set Antenna Power

<figure><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2F74Or8SKzeWBmZ8ecuTLV%2Fimage.png?alt=media&amp;token=72ee3ba7-9683-44e0-b068-ec617f3afff7" alt=""><figcaption></figcaption></figure>

Notice: Only UHF RFID device support this command.

Normal case

&#x20;   Calling => localhost:50003/api/setantennapower with BODY in JSON format

&#x20;   {

&#x20;       "power": 3

&#x20;    }

&#x20;    Return =>

&#x20;    {

&#x20;        "power": 3,

&#x20;        "errorcode": "0000"

&#x20;    }

<figure><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2FeiBLFp4oQx8kFgyNl9kc%2Fimage.png?alt=media&amp;token=a087226c-40a9-48a8-bc89-9005dd8f4000" alt=""><figcaption></figcaption></figure>

Failure case

&#x20;   Calling => localhost:50003/api/ setantennapower with BODY in JSON format

&#x20;   {

&#x20;         "power": 29

&#x20;   }

&#x20;   Return =>

&#x20;   {

&#x20;         "power": 0,

&#x20;         "errorcode": "0001"

&#x20;   }

<figure><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2FjtcDlmy1LgNcEmFHbX3P%2Fimage.png?alt=media&amp;token=1c547a9e-48dc-4e5a-8305-938808d0718a" alt=""><figcaption></figcaption></figure>

### Get Antenna Power

<figure><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2FremQMiHsFw1EMwjpzc4u%2Fimage.png?alt=media&amp;token=3187136b-ae5a-42c5-9876-0548549e1165" alt=""><figcaption></figcaption></figure>

Notice: Only UHF RFID device support this command.

Normal case

&#x20;   Calling => localhost:50003/api/ getantennapower

&#x20;   Return =>

&#x20;   {

&#x20;       "power": 3,

&#x20;       "errorcode": "0000"

&#x20;   }

<figure><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2FoRj1ypzYk9BIsO4AZPo2%2Fimage.png?alt=media&amp;token=c0efb85c-0161-42cc-9214-c47fb9f7b109" alt=""><figcaption></figcaption></figure>

Failure case

Calling => localhost:50003/api/getantennapower

Return =>

{

&#x20;   "power": 0,

&#x20;   "errorcode": "0015"

}

<figure><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2F5QPsXCxwcusGMHRiDsir%2Fimage.png?alt=media&amp;token=22f3860e-0bf7-4a44-a858-6c130a06aba3" alt=""><figcaption></figcaption></figure>

### Set UART read timeout

<div align="left"><figure><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2FJbDxxoZkLsYALUXPqGPp%2F8.PNG?alt=media&amp;token=2d1d1087-017e-4f4d-803c-2eb56f6dc75a" alt=""><figcaption></figcaption></figure></div>

Notice: Only UHF RFID device support this command.

* Normal case

|                                                                                                                                                                                                                                                                                               |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p><em>Calling => localhost:50003/api/setregionfreq with BODY in JSON format</em></p><p><em>{</em></p><p>    <em>"timeout": 100</em></p><p><em>}</em></p><p><em>Return =></em></p><p><em>{</em></p><p>   <em>"timeout": 100,</em></p><p>   <em>"errorcode": "0000",</em></p><p><em>}</em></p> |

<div align="left"><figure><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2FBU1FRsbdE75KlxTQNGFF%2F8.PNG?alt=media&amp;token=ad516b9a-5f3e-4050-9a84-44737852df47" alt=""><figcaption></figcaption></figure></div>

* Failure case

|                                                                                                                                                                                                                                                                                                                             |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p><em>Calling => localhost:50003/api/setuarttimeout with the BODY in JSON format</em></p><p><em>{</em></p><p>    <em>"timeout": 214748364899996654654654564654</em></p><p><em>}</em></p><p><em>Return =></em></p><p><em>{</em></p><p>   <em>"timeout": 0,</em></p><p>   <em>"errorcode": "0001",</em></p><p><em>}</em></p> |

<div align="left"><figure><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2F24Gv2qAderd4L6JMVKdJ%2F9.PNG?alt=media&amp;token=f98298e8-0009-4417-9985-a4b9f315d39c" alt=""><figcaption></figcaption></figure></div>

### Cancel Operation

<div align="left"><figure><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2FDkTsB9l34zquCU09ZKg0%2F10.PNG?alt=media&amp;token=b2613e03-d3a1-48a6-9c3f-146e5dc68e52" alt=""><figcaption></figcaption></figure></div>

Notice: Only works in UHF RFID devices while the getScanID command is issued.

* Normal case

|                                                                                                                                                                  |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p><em>Calling =>localhost:50003/api/ canceloperation</em></p><p><em>Return =></em></p><p><em>{</em></p><p>   <em>"errorcode": "0000",</em></p><p><em>}</em></p> |

<div align="left"><figure><img src="https://1210863923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Ldahy90A1eekcr5A2U8%2Fuploads%2Fdd70xECzmHO729fHmgRI%2F11.PNG?alt=media&amp;token=836f2d2b-fb33-4c11-9962-cacab47434af" alt=""><figcaption></figcaption></figure></div>

## **Appendix**

**Error Table:**

<table><thead><tr><th width="159.16015638936074"></th><th></th></tr></thead><tbody><tr><td>Error code</td><td>Error message</td></tr><tr><td>0000</td><td>Request success</td></tr><tr><td>0001</td><td>Parameter error</td></tr><tr><td>0002</td><td>ID out of range</td></tr><tr><td>0003</td><td>Please set current scanner first</td></tr><tr><td>0004</td><td>Get file from client failed</td></tr><tr><td>0005</td><td>Create temp file error</td></tr><tr><td>0006</td><td>Read file content error</td></tr><tr><td>0007</td><td>Open system path error</td></tr><tr><td>0008</td><td>Read data from csv failed</td></tr><tr><td>0009</td><td>OS rename csv file error</td></tr><tr><td>0010</td><td>OS remove csv file error</td></tr><tr><td>0011</td><td>OS rename csv file error 2</td></tr><tr><td>0012</td><td>No current scan id</td></tr><tr><td>0013</td><td>Name mismatch with ID</td></tr><tr><td>0014</td><td>Download file failed, please import file first</td></tr><tr><td>0015</td><td>Comport open failed</td></tr><tr><td>0016</td><td>Read data from comport failed</td></tr><tr><td>0017</td><td>Read data is empty</td></tr><tr><td>0018</td><td>Unknown error</td></tr><tr><td>0019</td><td>Connect to broker error</td></tr><tr><td>0020</td><td>JSON marshal failed</td></tr><tr><td>0021</td><td>Write data to comport failed</td></tr><tr><td>0022</td><td>Get RFID FW version no response</td></tr><tr><td>0023</td><td>Set RFID protocol mode failed</td></tr><tr><td>0024</td><td>Read RFID protocol mode failed</td></tr><tr><td>0025</td><td>Set RFID protocol type failed</td></tr><tr><td>0026</td><td>Read RFID protocol type failed</td></tr><tr><td>0027</td><td>Set RFID protocol type 2 failed</td></tr><tr><td>0028</td><td>Read RFID protocol type 2 failed</td></tr><tr><td>0029</td><td>Set RFID protocol type 3 failed</td></tr><tr><td>0030</td><td>Read RFID protocol type 3 failed</td></tr><tr><td>0031</td><td>Write Jogtek get ISO14443A UUID failed</td></tr><tr><td>0032</td><td>Read Jogtek get ISO14443A UUID failed</td></tr><tr><td>0033</td><td>Write Jogtek get ISO15693 UUID failed</td></tr><tr><td>0034</td><td>Read Jogtek get ISO15693 UUID failed</td></tr><tr><td>0035</td><td>Save to config.ini file failed</td></tr><tr><td>0036</td><td>Scan result without any ID exist</td></tr><tr><td>0037</td><td>Get/set region failure</td></tr><tr><td>0038</td><td>Module not matched</td></tr><tr><td>0039</td><td>CRC checksum error</td></tr><tr><td>0040</td><td>Get/set antenna power failure</td></tr><tr><td>0041</td><td>User cancel the operation</td></tr><tr><td>0042</td><td>Feature unsupported</td></tr><tr><td>0043</td><td>Set back to command mode failed</td></tr></tbody></table>
