Download SDK điều khiển trung tâm ZKTeco C3-400 Plus

Nếu bạn đang xây dựng một hệ thống phần mềm quản lý nhân sự (HRM), ERP, hoặc ứng dụng web kiểm soát ra vào tập trung trên nền tảng Cloud, việc giao tiếp với các thiết bị phần cứng là bước quan trọng nhất. Đối với hệ thống nhiều cửa, ZKTeco C3-400 Plus là một trong những bo mạch trung tâm (Access Control Panel) phổ biến tại Việt Nam hiện nay.

Bài viết này chia sẻ source code để bạn có thể lập trình điều khiển bằng ngôn ngữ C# với .NET framework 4.7.2.

Mục lục

  1. Giới thiệu
  2. Hướng dẫn cách cài đặt board
  3. Giải thích cách hoạt động của PushSDK
  4. Source code (GitHub)

Giới thiệu

Hiện nay hãng không cung cấp source code example hoặc SDK mà chỉ có tài liệu hướng dẫn, vì vậy có nhiều lập trình viên gặp khó khăn khi lập trình tích hợp. Bài viết này hướng dẫn và chia sẻ source code thư viện PushSDK.NET để các bạn dễ dàng tích hợp.

Thay vì phải tự viết các API Endpoint và xử lý request thì thư viện PushSDK.NET đã xử lý tất cả và cung cấp phương pháp thân thiện hơn rất nhiều. Các bạn chỉ cần khởi tạo và start PushWrapper là có thể sử dụng.

Cơ chế hoạt động
ZKTeco C3-400 Plus là dòng đời mới, cơ chế hoạt động ngược lại so với đời cũ. Đời cũ không có chữ Plus.

Board → gửi yêu cầu (Request) → Server/PC xử lý → Trả về lệnh → Board thực thi

Hướng dẫn cách cài đặt board

Bước 1: kết nối board

Sau khi cấp nguồn 12V và nối cáp mạng thì tìm kiếm địa chỉ IP của thiết bị bằng phần mềm CVAccess hoặc các công cụ dò tìm địa chỉ IP.

Lưu ý: phải kích hoạt board bằng phần mềm CV Access mới điều khiển được.

Cách kích hoạt: vào menu Device tìm kiếm thiết bị, sau đó add vào danh sách device là được.

Bước 2: setup board

Truy cập địa chỉ IP của board với tài khoản mặc định: admin/admin

Bạn có thể setup địa chỉ IP của board, setup xong thì reboot

Trong mục PUSH Server Settings có thể setup gửi request đến địa chỉ IP và port nào. Bạn hoàn toàn có thể trỏ tới domain để điều khiển qua internet.

Giải thích cách hoạt động của PushSDK

1. Chương trình tạo http server tại port mặc định 8088

Đây là port mặc định của board access control, bạn có thể thay port khác bằng cách

PushWrapper.GetInstance().Start(8088);

2. Chương trình chạy singleton

Chương trình tạo 1 server duy nhất để lắng nghe nhiều board gửi request cùng lúc, các board có thể cùng gửi tới 1 port duy nhất (chẳng hạn 8088) nên chương trình sẽ tạo singleton.

Bạn có thể tạo nhiều PushWrapper ở các port khác tùy nhu cầu sử dụng.

3. Lắng nghe sự kiện từ board

Board liên tục gửi request, PushSDK sẽ lắng nghe sự kiện trong hàm OnBoardEvent. Dựa vào time request để xác định board gửi tín hiệu lần cuối vào lúc nào.

4. Lệnh điều khiển Relay (Cổng ra vào)

Các nút mở/đóng cổng gọi trực tiếp các phương thức SDK:
OpenDoor(serialNumber, relayIndex, seconds)
CloseDoor(serialNumber, relayIndex)

Quy ước Relay Index:

  • Relay 1 đến 4: Điều khiển từng cổng tương ứng.
  • Relay 0: Áp dụng đồng thời cho tất cả 4 cổng.
  • Thời gian giữ mở relay tính bằng giây

5. Lắng nghe tín hiệu nút bấm

Trong hàm OnBoardEvent sẽ lắng nghe 2 sự kiện là ButtonPressedCardAppear kèm theo các tham số.

6. Khởi động lại thiết bị (Restart Board)

Nút Restart board ra lệnh khởi động lại bo mạch từ xa thông qua service SDK:

ZkControlService.Restart(sn: SNs[0]);

Source code (GitHub)

Chúc các bạn thành công!

Leave a Reply