Đọc dữ liệu từ máy chấm công vân tay RONALD JACK (1 người xem)

  • Thread starter Thread starter An.BA
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

An.BA

Thành viên thường trực
Tham gia
15/9/18
Bài viết
214
Được thích
162
Giới tính
Nam
Hiện tại bên em đang chấm công bằng máy RONALD JACK và dùng phần mềm Wise Eye 3.9 để đọc dữ liệu và load về máy tính thông qua IP có kết nối qua mạng
1635504633166.png
Nếu có thông số IP và port của máy này rồi thì mình có đọc được dữ liệu của nó bằng vba không ạ?
Em cảm ơn!
 
Bạn xem tài liệu của máy có hướng dẫn gì không, xem có API nào không?
Em có hỏi lại đội mua và setup máy thì bảo máy được lắp do nhà thầu họ làm trọn bộ cả cơ sở nhiều thứ chỉ bàn giao máy chứ không có tài liệu gì cả? Vậy em liên hệ hãng để hỏi hay làm gì để có bộ API/SDK ạ?
Bài đã được tự động gộp:

Em lang thang trên mạng thấy hướng dẫn này không biết có phải là SDK không ạ?
Pdf file hướng dẫn
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn xem tài liệu của máy có hướng dẫn gì không, xem có API nào không?
Anh ơi. Em đã tải được bộ SKD về rồi và có add .dll của zKemkeeper vào rồi nhưng khi khai báo code thì nó báo lỗi như sau
1636593301223.png
Anh xem giúp em với. Em cảm ơn!
 
Upvote 0
Anh ơi. Em đã tải được bộ SKD về rồi và có add .dll của zKemkeeper vào rồi nhưng khi khai báo code thì nó báo lỗi như sau
View attachment 268996
Anh xem giúp em với. Em cảm ơn!

Theo hình thì bạn chưa đăng ký file *.dll vào hệ thống Windows.
Bạn gõ từ khóa "'how to register a dll file in windows", rồi làm theo hướng dẫn tìm được.
 
Upvote 0
Nhìn cái Location của DLL bên dưới không đúng folder của hệ thống.
C:\Windows\SysWOW64\z....dll
Em mới import lại rồi theo đường dẫn như anh nói thì nó vẫn báo chỗ lỗi Class chưa được đăng ký anh ạ.
Chỗ khai báo Dim thì gọi nó ra nhưng chỗ set thì lỗi
 
Upvote 0
Bạn vẫn chưa đăng ký được thư viện rồi. Thử liên hệ bên nhà cung cấp xem họ có hướng dẫn nhanh gì không.
 
Upvote 0
Ợ. Vậy bạn làm luôn bằng C# đi. Xuất ra csv rồi cho vào Excel cũng được mà.
Nhưng C# em không viết được nhiều trên đó, em đang làm ứng dụng trên VBA rồi anh à. và cần VBA xử lý luôn vì em muốn cơ sở khác làm bước đó nữa mà không phải em anh à.
 
Upvote 0
Em mới import lại rồi theo đường dẫn như anh nói thì nó vẫn báo chỗ lỗi Class chưa được đăng ký anh ạ.
Chỗ khai báo Dim thì gọi nó ra nhưng chỗ set thì lỗi
Bạn có đủ 2 file dll: zkemkepper.dll và zkemsdk.dll ở thư mục hệ thống không?
 
Upvote 0
Trong win thì có đủ anh à.
Còn trong VBA thì không thể add file zkemsdk anh ạ.
Bạn dùng Win 64 + Office 64 luôn đúng không?
Bạn copy toàn bộ file trong SDL này vào "C:\Windows\System32", rồi Regsver32 zkemkeeper.dll

Máy tôi chạy tốt cả office 32 và 64.
 

File đính kèm

Upvote 0
Bạn dùng Win 64 + Office 64 luôn đúng không?
Bạn copy toàn bộ file trong SDL này vào "C:\Windows\System32", rồi Regsver32 zkemkeeper.dll

Máy tôi chạy tốt cả office 32 và 64.
Em dùng win64 nhưng office 32 anh ạ. Vậy em sẽ copy vào đâu để chạy?
Chỗ khai báo Set c = new CZKEM anh không bị lỗi ạ?
 
Upvote 0
Vô C:\Windows\SysWOW64 nhé.
Được rồi anh ạ.

Mã:
Dim c As CZKEM
    Set c = New CZKEM
    Dim connect As Boolean
    connect = c.Connect_Net("233.252.25.53", 4370)
    If connect = True Then
        MsgBox "thành công"
    Else
        MsgBox "That bai"
    End If
Vì sao kết nối fail anh nhỉ? Nếu đã gọi được nó ra và add nó rồi mà nhỉ?
 
Lần chỉnh sửa cuối:
Upvote 0
Được rồi anh ạ.

Mã:
Dim c As CZKEM
    Set c = New CZKEM
    Dim connect As Boolean
    connect = c.Connect_Net("233.252.25.53", 4370)
    If connect = True Then
        MsgBox "thành công"
    Else
        MsgBox "That bai"
    End If
Vì sao kết nối fail anh nhỉ? Nếu đã gọi được nó ra và add nó rồi mà nhỉ?
Tôi chưa kết nối máy này nên cũng không biết như thế nào. Trước nhất bạn kiểm tra xem có thể kết nối tới IP và port này được không đã.
Vô trang này check thử: https://canyouseeme.org/
 
Upvote 0
Có vẻ hấp dẫn, có bạn nào thử kết nối được chưa nhỉ :D
 
Upvote 0
Có vẻ hấp dẫn, có bạn nào thử kết nối được chưa nhỉ :D
Hấp dẫn chỗ nào? Công ty gì mua máy chả có bảo hành, chả có tư liệu hướng dẫn?
Chỉ xảy ra cho loại công ty mà bên "đội mua và setup máy" chỉ biết ăn tiền của bên cung cấp chứ lúc ký bên bản bàn giao không có lấy cái bản biểu kế kê khai những chỗ cần xét (*1). Cái này thì khó trách , vì nó xảy ra nhiều lắm; nhất là các nhà máy liên doanh, mấy thằng "tư vấn" bên nước ngoài chúng khoái ăn kiểu này lắm. Gặp thằng tư vấn gốc Vịệt thì coi như chắc chắn 100%.

Em có hỏi lại đội mua và setup máy thì bảo máy được lắp do nhà thầu họ làm trọn bộ cả cơ sở nhiều thứ chỉ bàn giao máy chứ không có tài liệu gì cả? Vậy em liên hệ hãng để hỏi hay làm gì để có bộ API/SDK ạ?
...

(*1) thực ra máy đắt tiền còn có bảng biểu kế hiệu suất. Chứng minh là lúc chạy thử đạt n% khả năng tối đa của máy. Bên kỹ sư trách nhiệm phải ký bảng này rồi bên mua máy mới gộp vào hồ sơ của mình.
 
Upvote 0
Hấp dẫn chỗ nào? Công ty gì mua máy chả có bảo hành, chả có tư liệu hướng dẫn?
Chỉ xảy ra cho loại công ty mà bên "đội mua và setup máy" chỉ biết ăn tiền của bên cung cấp chứ lúc ký bên bản bàn giao không có lấy cái bản biểu kế kê khai những chỗ cần xét (*1). Cái này thì khó trách , vì nó xảy ra nhiều lắm; nhất là các nhà máy liên doanh, mấy thằng "tư vấn" bên nước ngoài chúng khoái ăn kiểu này lắm. Gặp thằng tư vấn gốc Vịệt thì coi như chắc chắn 100%.



(*1) thực ra máy đắt tiền còn có bảng biểu kế hiệu suất. Chứng minh là lúc chạy thử đạt n% khả năng tối đa của máy. Bên kỹ sư trách nhiệm phải ký bảng này rồi bên mua máy mới gộp vào hồ sơ của mình.
Sau một thời gian tự tìm các bộ SKD và cách hướng dẫn kết nối máy thì em có tìm ra cách rồi ạ, nhưng kết nối thì lại không được em không rõ có phải do VBA không hỗ trợ không. Anh có thể xem giúp em được không ạ? Còn vụ ban đầu do mua máy thì đúng là do bên thi công lắp rồi có lúc đội setup phát hiện ra máy hàng trôi nổi cơ ạ.
 
Upvote 0
Theo tôi thì dùng VBA gọi kết nối qua FTP để lấy file dữ liệu.
Tuuy nhiên, mấy cái này Python dễ hơn vì thư viện của nó rất rộng.
 
Upvote 0
Theo tôi thì dùng VBA gọi kết nối qua FTP để lấy file dữ liệu.
Tuuy nhiên, mấy cái này Python dễ hơn vì thư viện của nó rất rộng.
Python thì em không biết gì về nó ạ.
Còn gọi kết nối qua FTP thì em cũng không rõ vì trong hướng dẫn của nó thì chỉ có gọi theo kiểu phương thức nên em cũng không rõ thông qua FTP kiểu gì ạ.
 
Upvote 0
Python thì em không biết gì về nó ạ.
Còn gọi kết nối qua FTP thì em cũng không rõ vì trong hướng dẫn của nó thì chỉ có gọi theo kiểu phương thức nên em cũng không rõ thông qua FTP kiểu gì ạ.
Cái con mụ phù thuỷ ở bài #24 nó giỏi cái này lắm. Chờ nó chỉ cho.
Bây giờ bạn hỏi tôi thì tôi cũng phải chờ kiếm mấy thằng tech support dẫn nó đi uống cà phê.
 
Upvote 0
Cái con mụ phù thuỷ ở bài #24 nó giỏi cái này lắm. Chờ nó chỉ cho.
Bây giờ bạn hỏi tôi thì tôi cũng phải chờ kiếm mấy thằng tech support dẫn nó đi uống cà phê.
Vâng em cảm ơn!
Bài đã được tự động gộp:

Có vẻ hấp dẫn, có bạn nào thử kết nối được chưa nhỉ :D
Theo tôi thì dùng VBA gọi kết nối qua FTP để lấy file dữ liệu.
Tuuy nhiên, mấy cái này Python dễ hơn vì thư viện của nó rất rộng.
Chào bạn. Bạn có thể giúp mình vấn đề này không ạ?
 
Upvote 0
Vâng em cảm ơn!
Bài đã được tự động gộp:



Chào bạn. Bạn có thể giúp mình vấn đề này không ạ?


Cái này để nghịch cũng khá vui. Kết nối vào máy chấm công thường sẽ có 2 cách:

1. Lệnh DOS, cái này không cần cài thêm thư viên gì, nhưng hên xui có thể 1 số máy chấm công sẽ không cho kết nối. Và kết nối đôi khi không ổn định. Các bước:
+ Kết nối bằng lệnh telnet: telnet 192.168.xx.xx 4370 (xx là IP của máy, 4370 là port)
Nếu may mắn kết nối dc thì nó sẽ hỏi username, password. Nếu may mắn hơn nữa thì máy sẽ để các tên/mật khẩu mặc định như admin/root
+Chạy lệnh ls/dir để biết file dữ liệu chấm công nằm ở đâu, file đó thường sẽ có đuôi là data.log
+Chạy lệnh ftp để để upload file chấm công vào ftp Lan network của bạn

2.Sử dụng API của zkemkeeper, cái này máy 32 hay 64bit đều dùng được, nhưng mà mình chưa thử với vba, và bây giờ cũng không có máy chấm công để thử. Các bước thường là:
+ kết nối vào máy chấm công
+ Chạy hàm GetDataFile, file dữ liệu sẽ có option là 1, đường dẫn file tải về có thể là local không cần ftp, đọc tài liệu để biết cách dùng. API có cung cấp cách lấy dữ liệu từng dòng nhưng không thể tối ưu bằng cách tải nguyên file dữ liệu về được.

Lúc tôi sử dụng máy chấm công thì tải file data tải về có dạng nhị phân, nhưng là số file size là 1 con số chia hết cho 16, vì mỗi dòng dữ liệu file chấm công sẽ lưu thành 1 khối dài 16 byte, cấu trúc như nào thì đợi tải file thành công mới bàn tiếp được. Hoặc có thể các máy chấm công đời mới lưu dữ liệu dạng khác không chừng.
 
Upvote 0
Cái này để nghịch cũng khá vui. Kết nối vào máy chấm công thường sẽ có 2 cách:

1. Lệnh DOS, cái này không cần cài thêm thư viên gì, nhưng hên xui có thể 1 số máy chấm công sẽ không cho kết nối. Và kết nối đôi khi không ổn định. Các bước:
+ Kết nối bằng lệnh telnet: telnet 192.168.xx.xx 4370 (xx là IP của máy, 4370 là port)
Nếu may mắn kết nối dc thì nó sẽ hỏi username, password. Nếu may mắn hơn nữa thì máy sẽ để các tên/mật khẩu mặc định như admin/root
+Chạy lệnh ls/dir để biết file dữ liệu chấm công nằm ở đâu, file đó thường sẽ có đuôi là data.log
+Chạy lệnh ftp để để upload file chấm công vào ftp Lan network của bạn

2.Sử dụng API của zkemkeeper, cái này máy 32 hay 64bit đều dùng được, nhưng mà mình chưa thử với vba, và bây giờ cũng không có máy chấm công để thử. Các bước thường là:
+ kết nối vào máy chấm công
+ Chạy hàm GetDataFile, file dữ liệu sẽ có option là 1, đường dẫn file tải về có thể là local không cần ftp, đọc tài liệu để biết cách dùng. API có cung cấp cách lấy dữ liệu từng dòng nhưng không thể tối ưu bằng cách tải nguyên file dữ liệu về được.

Lúc tôi sử dụng máy chấm công thì tải file data tải về có dạng nhị phân, nhưng là số file size là 1 con số chia hết cho 16, vì mỗi dòng dữ liệu file chấm công sẽ lưu thành 1 khối dài 16 byte, cấu trúc như nào thì đợi tải file thành công mới bàn tiếp được. Hoặc có thể các máy chấm công đời mới lưu dữ liệu dạng khác không chừng.
Cách 1 thì mình hơi mơ hồ vì chưa rõ và chưa va chạm lắm.
Cách 2 thì hiện tại mình đã tải file zkemkeeper rồi và add vào thư viện rồi. Có gọi phương thức kết nối ra rồi nhưng nó là kết nối fail.
Mặc dù IP và port là thông. Còn dữ liệu của máy này thì không ở dạng bit nữa mà xem hướng dẫn thì nó sẽ ra luôn dạng năm, tháng, ngày, giờ, phút, giây rồi bạn à. Chỉ có điều là VBA thì kết nối fail :(
 
Upvote 0

Bài viết mới nhất

Back
Top Bottom