Membedah SDK Access Control Board ZKTeco C3-100 dan C3-200: Cara Kerja, Integrasi Software, dan Potensi Pengembangannya

ZKTeco C3-100 dan C3-200 merupakan access control board berbasis jaringan yang dirancang untuk mengendalikan akses melalui kartu RFID, reader Wiegand, sensor, dan relay. Namun, kemampuan perangkat ini tidak berhenti pada sistem pintu kantor. Dengan Software Development Kit (SDK), controller ZKTeco dapat diintegrasikan dengan aplikasi manajemen member, sistem parkir otomatis, hingga platform keamanan yang dikembangkan secara mandiri.

Bagi integrator dan pengembang software, memahami SDK ZKTeco menjadi penting karena terdapat perbedaan mendasar antara keberhasilan koneksi perangkat, keberhasilan pendaftaran kartu, dan keberhasilan pemberian izin akses.

Artikel ini membahas arsitektur, fungsi SDK, komunikasi TCP/IP, database internal, kontrol relay, serta tantangan integrasi ZKTeco C3-Series secara teknis dan aplikatif.

1. Apa Itu Access Control Board ZKTeco C3-Series?

ZKTeco C3-Series adalah perangkat pengendali akses elektronik yang menghubungkan sistem identifikasi pengguna dengan perangkat fisik seperti electric lock, turnstile, atau barrier gate.

Controller bertugas memproses identitas dan hak akses yang tersimpan di dalam perangkat, kemudian menentukan apakah relay dapat diaktifkan.

Terdapat tiga model utama dalam seri C3 klasik:

  • ZKTeco C3-100: controller untuk satu pintu dengan dukungan dua reader.
  • ZKTeco C3-200: controller untuk dua pintu dengan dukungan empat reader.
  • ZKTeco C3-400: controller untuk empat pintu dengan dukungan empat reader.

Perangkat ini mendukung komunikasi jaringan dan dapat digunakan bersama aplikasi manajemen akses seperti ZKAccess maupun software pihak ketiga yang kompatibel.

Perbandingan spesifikasi teknis

SpesifikasiC3-100C3-200C3-400
Jumlah pintu124
Reader Wiegand244
Kapasitas kartu30.00030.00030.000
Kapasitas log100.000100.000100.000
Relay lock124
Relay auxiliary124
KomunikasiTCP/IP, RS-485TCP/IP, RS-485TCP/IP, RS-485
Reader standarWiegand 26-bitWiegand 26-bitWiegand 26-bit

Spesifikasi tersebut mengacu pada keluarga C3 klasik, bukan C3 Plus yang memiliki kemampuan dan arsitektur berbeda.

2. Apa Itu SDK ZKTeco?

SDK ZKTeco adalah kumpulan antarmuka pemrograman yang memungkinkan aplikasi eksternal berkomunikasi dengan perangkat kontrol akses ZKTeco.

SDK berfungsi sebagai jembatan antara software yang dikembangkan integrator dan sistem internal controller.

Dengan SDK, pengembang dapat membuat aplikasi yang memiliki kemampuan seperti:

  1. Mengidentifikasi controller di jaringan.
  2. Membaca parameter serta informasi perangkat.
  3. Menambahkan dan menghapus pengguna.
  4. Menyinkronkan nomor kartu RFID.
  5. Mengatur otorisasi akses pintu.
  6. Mengambil riwayat transaksi akses.
  7. Memantau peristiwa pembacaan kartu.
  8. Mengendalikan relay secara terotorisasi.
  9. Mengelola parameter waktu dan aturan akses.

Salah satu antarmuka yang relevan untuk C3-Series adalah ZKTeco PullSDK, yang pada implementasi Windows dapat menggunakan library plcommpro.dll.

SDK berbeda dengan aplikasi ZKAccess. ZKAccess merupakan software manajemen akses siap pakai, sedangkan SDK menyediakan fungsi yang dapat digunakan untuk membangun aplikasi sendiri.

3. Membedah Arsitektur Sistem SDK ZKTeco

Sistem akses berbasis ZKTeco C3 umumnya memiliki beberapa lapisan yang saling berhubungan.

Lapisan pertama: Software manajemen

Aplikasi desktop atau server mengelola data anggota, hak akses, masa berlaku kartu, serta laporan transaksi.

Lapisan kedua: SDK komunikasi

SDK menjadi penghubung antara aplikasi dan controller melalui protokol yang didukung.

Lapisan ketiga: Access Control Board

Controller menyimpan data akses, membaca input reader, memeriksa aturan, dan mengendalikan output.

Lapisan keempat: Perangkat lapangan

Perangkat meliputi reader RFID, tombol keluar, door sensor, relay, electric lock, dan barrier gate.

Alur kerjanya dapat digambarkan sebagai berikut:

Software Admin → PullSDK → Jaringan LAN → Controller C3

Kemudian pada proses penggunaan kartu:

Kartu RFID → Reader Wiegand → Controller C3 → Pemeriksaan Hak Akses → Relay → Perangkat Pintu

Perlu dipahami bahwa keputusan membuka pintu dapat dilakukan langsung oleh controller apabila data otorisasi telah tersimpan dengan benar.

Dengan demikian, controller tidak selalu memerlukan koneksi aktif ke komputer pada setiap transaksi.

4. Bagaimana Komunikasi TCP/IP ZKTeco C3 Bekerja?

Komunikasi TCP/IP memungkinkan aplikasi terhubung ke controller melalui jaringan lokal.

Pada implementasi PullSDK klasik, port komunikasi yang lazim digunakan adalah 4370, meskipun konfigurasi harus disesuaikan dengan perangkat dan firmware.

Sebagai contoh, sebuah controller mempunyai konfigurasi:

  • IP address: 192.168.1.201
  • Port: 4370
  • Protocol: TCP
  • Timeout: 5000 ms

Ketika aplikasi berhasil membangun koneksi menggunakan SDK, software dapat membaca serial number, firmware, parameter controller, serta data yang didukung.

Namun, keberhasilan koneksi hanya memastikan bahwa saluran komunikasi tersedia.

Status SDK ONLINE bukan jaminan bahwa kartu RFID sudah dapat membuka pintu.

Kegagalan akses tetap dapat terjadi karena data member, konfigurasi reader, jadwal akses, atau hak otorisasi belum sesuai.

Hal inilah yang sering menjadi tantangan dalam pengembangan software access control independen.

5. Mengenal Fungsi Penting dalam ZKTeco PullSDK

PullSDK menyediakan sejumlah fungsi yang berperan dalam pengelolaan controller.

Fungsi SDKKegunaan
ConnectMenghubungkan aplikasi ke controller
DisconnectMemutus koneksi
GetDeviceParamMembaca parameter perangkat
SetDeviceParamMengubah parameter perangkat
GetDeviceDataMengambil data internal controller
SetDeviceDataMenambahkan atau memperbarui data
DeleteDeviceDataMenghapus data tertentu
GetRTLogMengambil peristiwa secara real-time
ControlDeviceMengendalikan output dan tindakan perangkat
PullLastErrorMembantu membaca kode kesalahan SDK

Contohnya, ketika administrator mendaftarkan seorang anggota baru, aplikasi dapat menggunakan SetDeviceData untuk mengirim informasi pengguna.

Untuk memastikan data telah tersimpan, aplikasi perlu melakukan pemeriksaan kembali menggunakan GetDeviceData.

Proses ini sering disebut read-back verification.

Keberhasilan satu fungsi SDK tidak boleh langsung dianggap sebagai bukti bahwa keseluruhan transaksi akses telah berjalan.

6. Mengapa Kartu Sudah Terdaftar tetapi Akses Tetap Ditolak?

Salah satu kesalahan konsep yang sering terjadi dalam integrasi access control adalah menganggap bahwa pendaftaran kartu otomatis memberikan izin membuka seluruh pintu.

Padahal, controller menggunakan struktur data yang lebih kompleks.

Dalam PullSDK, terdapat beberapa tabel penting:

A. Tabel user

Berisi informasi pengguna, termasuk identitas dan data kartu sesuai struktur firmware.

B. Tabel userauthorize

Menghubungkan pengguna dengan izin akses, pintu, dan jadwal yang ditentukan.

C. Tabel timezone

Mengatur periode waktu ketika akses diperbolehkan.

D. Tabel transaction

Menyimpan riwayat peristiwa akses yang direkam oleh controller.

Struktur dan nama field perlu disesuaikan dengan versi firmware karena terdapat perbedaan antara skema lama dan skema baru.

Contoh kasus teknis

Sebuah aplikasi mengirimkan nomor kartu RFID ke controller menggunakan SDK.

Aplikasi menunjukkan hasil pengiriman berhasil. Namun ketika kartu ditempelkan pada reader, controller menolak akses.

Setelah kartu didaftarkan melalui aplikasi bawaan ZKTeco, akses justru berfungsi.

Kondisi tersebut mengindikasikan bahwa masalah tidak selalu terletak pada reader atau koneksi TCP/IP.

Beberapa kemungkinan penyebab meliputi:

  • Record pengguna belum tersimpan sesuai struktur yang diharapkan firmware.
  • Pengguna belum mempunyai record otorisasi pada userauthorize.
  • Nomor pintu yang diotorisasi tidak sesuai.
  • Timezone akses tidak berlaku.
  • Format nomor kartu berbeda dengan hasil pembacaan reader.
  • Konfigurasi atau sinkronisasi perangkat belum diterapkan secara lengkap.

Diagnosis harus dibuktikan melalui pemeriksaan data controller dan event log, bukan hanya dengan mengandalkan pesan berhasil dari SDK.

7. Membedah Relay ZKTeco C3-100 dan C3-200

Relay merupakan salah satu bagian penting ketika controller digunakan untuk mengoperasikan perangkat fisik.

Pada C3-Series terdapat relay pengunci pintu dan relay auxiliary.

Relay dapat digunakan sebagai penghubung sinyal kendali untuk sistem akses yang kompatibel.

Memahami terminal NO, NC, dan COM

NO (Normally Open) merupakan kontak yang pada kondisi normal terbuka.

NC (Normally Closed) merupakan kontak yang pada kondisi normal tertutup.

COM (Common) merupakan terminal bersama untuk kontak relay.

Untuk barrier gate yang menggunakan input dry contact, terminal COM dan NO dapat digunakan apabila sesuai dengan spesifikasi input trigger barrier.

Namun, konfigurasi kelistrikan harus diverifikasi terlebih dahulu karena controller C3 juga mengenal pengaturan dry/wet mode pada output lock.

Mengapa relay terkadang aktif terlalu lama?

Misalnya, perintah membuka pintu telah diberikan, tetapi relay tetap berada pada kondisi aktif lebih lama daripada yang diinginkan.

Permasalahan semacam ini dapat disebabkan oleh:

  • Durasi aktivasi output yang tidak tepat.
  • Parameter Door1Drivertime atau parameter pintu terkait.
  • Mode normally open yang aktif.
  • Jadwal akses yang mempertahankan pintu terbuka.
  • Perintah kontrol relay yang tidak sesuai.
  • Pengaturan linkage atau perangkat eksternal.
  • Konfigurasi yang belum tersinkron dengan firmware.

Dalam dokumentasi PullSDK terdapat parameter durasi pintu yang juga membedakan kondisi normal closed dan normal open.

Sebagai contoh, nilai 255 pada parameter drive time tertentu berarti kondisi normally open, bukan pulsa selama 255 milidetik.

Karena itu, integrator tidak boleh menganggap semua parameter durasi menggunakan satuan dan perilaku yang sama.

Untuk barrier gate, relay sebaiknya hanya mengirimkan pulsa trigger sesuai kebutuhan controller palang, bukan mempertahankan kontak aktif tanpa alasan operasional.

Pengujian relay harus dilakukan bertahap, mulai dari output controller tanpa beban hingga pengujian bersama barrier gate.

8. Apakah ZKTeco C3 Bisa Digunakan Tanpa Software Bawaan?

Secara teknis, C3-Series memiliki SDK yang ditujukan untuk integrasi dengan aplikasi pihak ketiga.

Artinya, sistem manajemen pengguna dan controller dapat dikembangkan menggunakan software mandiri.

Namun, kemampuan membuat aplikasi sendiri tidak otomatis berarti seluruh proses konfigurasi bawaan dapat digantikan tanpa pekerjaan tambahan.

Aplikasi harus menangani berbagai fungsi penting, antara lain:

  • Pendaftaran perangkat.
  • Pembacaan identitas dan kemampuan controller.
  • Pengaturan jaringan.
  • Registrasi pengguna.
  • Sinkronisasi kartu RFID.
  • Pemberian hak akses pintu.
  • Pengaturan jadwal dan masa berlaku.
  • Kontrol relay dan sensor.
  • Pencatatan transaksi.
  • Pemulihan ketika proses sinkronisasi gagal.

Untuk penggunaan produksi, pengembang perlu memastikan seluruh fungsi yang diperlukan telah diuji terhadap model dan firmware yang digunakan.

SDK merupakan sarana integrasi, bukan jaminan bahwa semua fitur aplikasi bawaan telah otomatis tersedia di software baru.

9. Potensi ZKTeco C3 untuk Sistem Parkir Otomatis

Selain untuk pintu akses gedung, controller C3 dapat dimanfaatkan sebagai bagian dari sistem pengendalian barrier gate.

Contohnya pada sistem parkir member berbasis RFID.

Skenario parkir satu pintu

Pengguna menempelkan kartu ke reader.

Reader mengirimkan data kartu melalui Wiegand menuju controller C3-100.

Controller memeriksa apakah kartu mempunyai hak akses.

Jika memenuhi ketentuan, controller mengaktifkan output relay untuk mengirim trigger pembukaan barrier gate.

Log akses kemudian dapat dibaca oleh software manajemen.

Skenario parkir dua pintu

Pada kebutuhan dua titik akses, C3-200 dapat digunakan untuk mengendalikan dua output pintu.

Setiap pintu dapat mempunyai aturan otorisasi sesuai konfigurasi.

Namun, penggunaan untuk parkir memerlukan perhatian khusus pada sensor keselamatan kendaraan, deteksi loop, anti-passback, dan logika pembukaan palang.

Controller access control bukan pengganti seluruh sistem keselamatan barrier gate.

Kelebihan untuk integrator

Salah satu keunggulan utama adalah kemampuan pengambilan keputusan akses secara lokal, selama seluruh informasi yang diperlukan sudah tersimpan pada controller.

Ini membuat arsitektur offline access control relevan untuk perumahan, gudang, kantor, kawasan industri, dan area parkir privat.

Untuk kebutuhan pembayaran real-time, integrasi dengan server transaksi atau sistem tambahan tetap diperlukan.

10. Perbedaan ZKTeco C3 Klasik dengan C3 Plus

Pengembang perlu membedakan C3 klasik dari generasi C3 Plus.

C3 Plus menawarkan peningkatan pada kapasitas pengguna, dukungan antarmuka reader, fitur autentikasi, serta mekanisme keamanan komunikasi.

Sebagai gambaran, dokumentasi ZKTeco Indonesia mencantumkan dukungan hingga 100.000 pengguna untuk C3 Plus dan dukungan reader yang lebih luas.

Namun, dukungan protokol, format data, dan kompatibilitas SDK tidak boleh diasumsikan identik antara kedua generasi tersebut.

Sebelum mengembangkan aplikasi, identifikasi terlebih dahulu model, versi firmware, protokol, dan library SDK yang benar.

11. Checklist Pengembangan Software ZKTeco C3

Bagi software engineer yang berencana membuat sistem akses mandiri, proses integrasi sebaiknya mengikuti urutan berikut.

  1. Identifikasi model dan firmware controller.
  2. Siapkan SDK dan dependency yang sesuai dengan arsitektur aplikasi.
  3. Uji koneksi TCP/IP serta pembacaan serial number.
  4. Ambil dan simpan konfigurasi awal sebagai cadangan.
  5. Verifikasi tabel dan field yang didukung firmware.
  6. Daftarkan satu pengguna uji.
  7. Terapkan otorisasi akses yang sesuai.
  8. Baca kembali data dari controller.
  9. Uji kartu menggunakan reader fisik.
  10. Periksa hasil transaksi dan alasan penolakan jika akses gagal.
  11. Uji durasi relay dan keadaan normal output.
  12. Lakukan pengujian offline, restart, dan pemulihan koneksi.

Setelah satu perangkat berjalan konsisten, integrasi dapat diperluas ke beberapa controller dengan pengelolaan database terpusat.

12. Tantangan Keamanan dan Keandalan

Pengembangan access control tidak hanya membahas keberhasilan membaca kartu.

Ada beberapa aspek keamanan yang perlu diperhatikan.

Keamanan jaringan: batasi komunikasi SDK pada jaringan terpercaya. Hindari mengekspos port controller langsung ke internet.

Validasi kartu: jangan mengasumsikan nomor kartu RFID selalu tahan terhadap penyalinan. Tingkat keamanan bergantung pada jenis kartu, reader, dan metode autentikasi.

Audit data: seluruh penambahan, penghapusan, dan perubahan hak akses harus dicatat.

Keselamatan perangkat: proses aktivasi relay perlu mempertimbangkan sensor keselamatan, posisi palang, dan prosedur pelepasan darurat.

Perlindungan data: identitas anggota serta riwayat akses perlu dikelola sesuai prinsip keamanan dan ketentuan perlindungan data pribadi yang berlaku.

Untuk penggunaan sistem dalam skala komersial, pengujian lapangan dan dokumentasi teknis merupakan bagian penting sebelum perangkat dioperasikan secara permanen.

13. FAQ: Pertanyaan Seputar SDK ZKTeco

Apakah ZKTeco C3-100 memiliki API?

ZKTeco C3-100 mendukung integrasi melalui SDK, termasuk PullSDK pada model dan firmware yang kompatibel. SDK tersebut dapat digunakan sebagai dasar pengembangan layanan API mandiri, tetapi tidak sama dengan API REST bawaan.

Apakah C3-200 dapat digunakan untuk dua barrier gate?

C3-200 memiliki dua output lock sehingga berpotensi digunakan untuk mengendalikan dua input trigger barrier gate yang kompatibel. Diperlukan pengaturan relay, wiring, dan sistem keselamatan yang benar.

Apakah controller dapat bekerja tanpa internet?

Ya. C3 klasik dirancang agar dapat menjalankan aturan akses yang telah tersimpan secara lokal ketika koneksi jaringan terputus. Namun, fungsi yang memerlukan keputusan dari server tetap bergantung pada sistem eksternal tersebut.

Apakah software sendiri bisa menambah kartu member?

Bisa, melalui fungsi SDK yang kompatibel. Namun, pengembang juga perlu mengatur otorisasi, jadwal, dan membaca kembali hasil sinkronisasi.

Mengapa SDK online tetapi kartu RFID ditolak?

Karena status online hanya membuktikan komunikasi. Penyebab penolakan dapat berasal dari format kartu, data pengguna, otorisasi pintu, timezone, atau aturan akses lainnya.

Apakah C3 dapat dipakai untuk manless parking?

Dapat digunakan sebagai bagian dari sistem kendali akses parkir tanpa operator, khususnya untuk validasi member lokal. Fungsi seperti transaksi pembayaran, kontrol kendaraan, dan keselamatan palang membutuhkan komponen atau software tambahan.

Kesimpulan

ZKTeco C3-100 dan C3-200 bukan sekadar papan elektronik untuk membaca kartu RFID. Keduanya merupakan access control controller yang memiliki kemampuan penyimpanan data, pemeriksaan hak akses, komunikasi jaringan, serta pengendalian output secara mandiri.

Melalui SDK, pengembang dapat membangun sistem manajemen akses yang terintegrasi dengan aplikasi internal, sistem parkir, atau perangkat keamanan lainnya.

Kunci keberhasilan integrasi adalah memahami bahwa komunikasi, pendaftaran pengguna, otorisasi akses, dan aktivasi relay merupakan proses yang berbeda.

Dengan penerapan SDK yang tepat, pengujian firmware, serta pengendalian sistem yang aman, controller C3 dapat menjadi salah satu komponen penting dalam pengembangan otomasi akses berbasis RFID.


Referensi teknis:

Artikel ini merupakan materi edukasi rekayasa perangkat lunak dan integrasi perangkat access control. Implementasi harus menyesuaikan firmware, SDK, spesifikasi kelistrikan, serta prosedur keselamatan masing-masing perangkat.

Artikel Pilar Terkait

Access Control
Access Control

Access Control adalah sistem keamanan yang dirancang untuk mengatur, membatasi, dan memantau siapa yang diizinkan memasuki atau menggunakan…

Butuh informasi lebih lanjut?
Hubungi tim kami melalui WhatsApp untuk konsultasi.
Konsultasi via WhatsApp
Diperbarui · Materi informatif, bukan pengganti standar teknis maupun pemeriksaan keselamatan.
Bagikan via WhatsApp ↗Salin tautan