UNPKG

identi-recognition

Version:

identiRecognition

218 lines (150 loc) 8.16 kB
# **HUMAN FACE SECURITY INTEGRATION** ![Badge en Test Service](https://img.shields.io/badge/STATUS-Desarrollo-yellow) This package provides a unified way to interact with multiple access control devices, including `XCore` and `Terminal`, allowing for standardized command execution and status retrieval. | Version | Descripcion | Estado | | ------- | ------------------- | ----------- | | 0.0.14 | Initial Integration | Development | | | | | ## **RELEASE NOTES** : - The terminal class is still being build. - The XCORE class is still being build. - In the XCORE class keep in mind that there are two types of XCOREs. Depending on the API. So make sure to validate the object creation. - Adittional, when creating Xcore Objects , make sure to call the getStatus() ALWAYS , so you can make sure the device was correctly configured. If it fails, try changing the \_versionPro parameter when creating the object ## **Table of Contents** 1. [Installation](#installation) 2. [Usage](#usage) 3. [Device Classes](#device-classes) - [XCore Class](#xcore-class) - [Terminal Class](#terminal-class) 4. [Configuration](#configuration) 5. [API Reference](#api-reference) - [XCore Methods](#xcore-methods) - [Terminal Methods](#terminal-methods) 6. [Error Handling](#error-handling) 7. [Examples](#examples) ## **Installation** To install this package, use the following command: ```bash npm install identi-recognition ``` Make sure you have axios installed as a dependency if not already present in your project ## **Usage** First, import the desired classes from the package: ```javascript const { XCore, Terminal } = require('identi-recognition') // Create instances for each device with their respective IP addresses // and passwords if required. const xcoreDevice = new XCore((ip = '192.168.1.100'), (_versionPro = false)) const terminalDevice = new Terminal('192.168.1.101', 'passwordTerminal') ``` ## **Device Classes** ### **XCore Class** The `XCore` class allows you to interact with XCore devices. It includes methods for status retrieval and sending commands. | Method | Description | | ---------------------------------------------- | --------------------------------------------------- | | `getStatus()` | Retrieves the current status of the XCore device. | | `facesCompare(image1, image2, liveness )` | Compare two faces images. | | `faceCompareToLocal(image1, group, liveness )` | Compare a face image to the local Db of the device. | | `prepareReport(...)` | Prepare report with all needed infomration. | | `generateReport()` | return the generated report. | | `groupFace()` | Group a face in order to be detected by images. | | `createUser()` | Uplaod an User iamge to Xcore device [see_more]. | | `updateCreatedUser()` | [NOT VALID YET] | | `deleteUser()` | [NOT VALID YET] | \*[see_more] : In order to be recognized by Ip cameras , the images uploaded must be charged to an specific gorup where the ip cameras must be connected too ### **Terminal Class** The `Terminal` class provides similar functionality for Terminal devices. It supports status monitoring, command execution, and more. | Method | Description | | ------------------------------------ | ---------------------------------------------------------- | | `getStatus()` | Retrieves the current status of the Terminal device. | | `setCallbacks(endpointCallback)` | Defines the endpoints callbacks for the correct validation | | `showMessage(message,speak)` | Sends something so the terminal will show or speak. | | `deleteAllRecords(simetricalMonths)` | Delete the registers, simetrical to the devices . | | `deleteUser(userId)` | Delete the user specified. | | `photoTaking()` | Start procces to make teminal be the one to take photos. | ## **Configuration** Adittional, when creating Xcore Objects , make sure to call the getStatus() ALWAYS , so you can make sure the device was correctly configured. If it fails, try changing the \_versionPro parameter when creating the object ## **API Reference** ### **XCore Methods** 1. **`getStatus()`** Retrieves the current status of the XCore device. ```javascript const status = await xcoreDevice.getStatus() console.log(status) // Output: { status: 'online', ... } ``` 2. **`sendCommand(command: string)`** Sends a specified command to the device. ```javascript const response = await xcoreDevice.sendCommand('RESTART') console.log(response) // Output: { code: HFS001, ... } ``` 3. **`restartDevice()`** Restarts the XCore device. ```javascript const result = await xcoreDevice.restartDevice() console.log(result) // Output: { code: HFS001, message: 'Device restarting...' } ``` 4. **`getLogs()`** Retrieves system logs from the XCore device. ```javascript const logs = await xcoreDevice.getLogs() console.log(logs) // Output: [ { timestamp: '...', message: 'Log entry...' }, ... ] ``` 5. **`updateFirmware()`** Updates the firmware of the device using the given update file. ```javascript const updateStatus = await xcoreDevice.updateFirmware('path/to/update.bin') console.log(updateStatus) // Output: { code: HFS001, version: '2.0.1' } ``` ### **Terminal Methods** 1. **`getStatus()`** Retrieves the current status of the Terminal device. ```javascript const status = await terminalDevice.getStatus() console.log(status) // Output: { status: 'online', ... } ``` 2. **`setCallbacks(endpointCallback)`** SDefines the endpoints callbacks for the correct validation. ```javascript const response = await terminalDevice.setCallbacks('192.168.1.120:8888/setHere/') console.log(response) // Output: { code: HFS001, message: { messageResult: "success" }}} ``` 3. **`showMessage(message,speak)`** Sends something so the terminal will show or speak. if "speak" is true, then the terminal will speak, if its false, it will only show the message in screen. ```javascript const result = await terminalDevice.showMessage('Hola', true) console.log(result) // Output: { code: HFS001, message: 'Device rebooting...' } ``` 4. **`deleteAllRecords(simetricalMonths)`** Delete the resgisters X months forward and backward the current date. ```javascript const newConfig = { volume: 80, brightness: 70 } const result = await terminalDevice.deleteAllRecords(1) console.log(result) // Output: { code: HFS001, message: ' ' } ``` 5. **`deleteUser(userId)`** Delete user by id ```javascript const result = await terminalDevice.deleteUser(123456) console.log(result) // Output: { code: HFS001, message: '' } ``` ## **Error Handling** The package provides a built-in error handler to capture and log errors. Errors are caught and handled internally, returning meaningful messages to the user. ## **Examples** Here’s a quick example of how you can use this package: ```javascript const { XCore, Terminal } = require('device-control-package') const xcore = new XCore('192.168.1.100') const terminal = new Terminal('192.168.1.101', 'password') // ALWAYS CALL THE Get status of XCore // IF it fails , try changing the _versionPro parameter xcore .getStatus() .then((status) => console.log('XCore Status:', status)) .catch((error) => { const xcore = new XCore('192.168.1.100', (_versionPro = false)) }) // Send a command to Terminal terminal.showMessage('Hello from my package').then((response) => console.log('WOW,m the terminal spoke')) ```