Biometric Terminal Setup
Configure your SmackBio or ZKTeco device to push attendance data to the hub using the XML protocol.
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.
Via Device Menu
- 1. Access device admin menu (usually Menu → System)
- 2. Navigate to "Device Info" or "System Info"
- 3. Find "Serial No" or "Device SN"
Via Device Label
- 1. Check the back or bottom of the device
- 2. Look for a sticker with "S/N" or "Serial"
- 3. Format is usually alphanumeric (e.g., FK628001)
- a
Access Network Settings
Menu → Communication → Network
- b
Set IP Configuration
Use DHCP or set a static IP within your network range
- c
Verify Connectivity
Ensure the device can reach the server IP address
- a
Access Cloud/Server Settings
Menu → Communication → Cloud Server (or Push Server)
- b
Enable Cloud Connection
Toggle "Enable" or "Cloud Push" to ON
- c
Enter Server Details
WebSocket URL: ws://[YOUR_SERVER_IP]:3000/ws
Communication Mode: WebSocket
Protocol: XML
Keep-Alive Interval: 60 seconds
Reconnect Interval: 10 secondsNote: Replace [YOUR_SERVER_IP] with the actual IP address or hostname where this application is running.
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.).
- 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