Step 3 of 6

Biometric Terminal Setup

Configure your SmackBio or ZKTeco device to push attendance data to the hub using the XML protocol.

Supported Biometric Devices

ZKTeco

ZK-F18, ZK-F22, ZK-VF380

SmackBio

FK-628, FK-T5, FK-PRO

Hikvision

DS-K1T series

Any device supporting WebSocket with XML protocol can be configured to work with this system.

1
Find Device Serial Number
Locate the unique identifier for your device

Via Device Menu

  1. 1. Access device admin menu (usually Menu → System)
  2. 2. Navigate to "Device Info" or "System Info"
  3. 3. Find "Serial No" or "Device SN"

Via Device Label

  1. 1. Check the back or bottom of the device
  2. 2. Look for a sticker with "S/N" or "Serial"
  3. 3. Format is usually alphanumeric (e.g., FK628001)
2
Configure Network Settings
Set up the device to connect to your network
  1. a

    Access Network Settings

    Menu → Communication → Network

  2. b

    Set IP Configuration

    Use DHCP or set a static IP within your network range

  3. c

    Verify Connectivity

    Ensure the device can reach the server IP address

3
Configure Server Connection
Point the device to the IoT Control Hub
  1. a

    Access Cloud/Server Settings

    Menu → Communication → Cloud Server (or Push Server)

  2. b

    Enable Cloud Connection

    Toggle "Enable" or "Cloud Push" to ON

  3. c

    Enter Server Details

Server Configuration
WebSocket URL: ws://[YOUR_SERVER_IP]:3000/ws

Communication Mode: WebSocket
Protocol: XML
Keep-Alive Interval: 60 seconds
Reconnect Interval: 10 seconds

Note: Replace [YOUR_SERVER_IP] with the actual IP address or hostname where this application is running.

4
Understand the Protocol
How the device communicates with the server

When the device connects, it will automatically send a registration request. The server responds with a session token.

Device sends:

<?xml version="1.0" encoding="UTF-8"?>
<Request>
  <Operation>Register</Operation>
  <DeviceSerialNo>YOUR_SERIAL_NUMBER</DeviceSerialNo>
  <CloudId>YOUR_CLOUD_ID</CloudId>
</Request>

Server responds:

<?xml version="1.0" encoding="UTF-8"?>
<Response>
  <Result>success</Result>
  <Session>sess_1234567890_abc123</Session>
  <DeviceSerialNo>YOUR_SERIAL_NUMBER</DeviceSerialNo>
</Response>

TimeLog_v2

Sent when a user punches (fingerprint, face, card). Includes user ID, timestamp, and optional photo.

AdminLog_v2

Sent when an admin action occurs (enroll fingerprint, delete user, etc.).

Verification Checklist
  • Device is registered in the dashboard with correct serial number
  • Device has network connectivity (can ping the server)
  • Cloud/Push server is enabled in device settings
  • WebSocket URL is correctly configured
  • Device shows 'Online' status in the dashboard