【问题标题】:Connecting odoo with zk device将odoo与zk设备连接
【发布时间】:2017-07-31 16:06:24
【问题描述】:

我正在尝试将 odoo 与 zk 设备(ZKTeco 型号 K40)连接。我安装了 zklib 以从设备下载考勤信息。 我尝试了以下代码:

import sys
import time
import zklib
from zklib 
import zkconst
zk = zklib.ZKLib("192.168.1.201", 4370)
conn=zk.connect()

当我打印 conn 时,它的值为 False,即使我确信连接参数是正确的。我也尝试了 pyzk 库,但我遇到了同样的连接问题。然后,我尝试连接另一个 zksoftware (ZKTime) 并连接。 我还能做些什么来将 odoo 8 与 zk 设备连接?

【问题讨论】:

  • 你能给我更多关于你是如何使用 odoo 的 zkemkeeper 的详细信息吗?
  • @Borealis 我使用以下命令访问 dll:pythoncom.CoInitialize() zk = win32com.client.Dispatch('zkemkeeper.ZKEM.1') 然后我使用了我需要的方法。示例:zk.Connect_Net(ip, port)。希望对你有帮助
  • 感谢您的回答真是太好了。你能告诉我你是否在windows或ubuntu中访问过dll。简而言之,如果您有时间给我更多详细信息,我将不胜感激,因为我仍然有问题
  • @Borealis 我在 Windows 中访问了 dll。首先我注册了它,然后我把那个代码放在 python 中。你到底有什么问题?

标签: python odoo-8


【解决方案1】:

最后我可以使用 zkemkeeper.dll 及其方法解决这个问题。由于设备型号,模块无法正常工作(我使用的是 ZK40)

【讨论】:

  • 在我客户所在的其中一台设备中,为该设备启用了一个 pin。如何使用它连接到设备?我尝试只使用 ip 和端口,但它似乎不起作用。有什么方法可以禁用 zk 设备的 pin 吗?
  • 如果设备配置了 pin,您必须使用 3 个参数与其通信:ip、port 和 pin。可以直接从设备配置中删除引脚。
  • zk = ZK('ip', port=4370, timeout=5, pin='12345'),你说的是这个吗?
  • 图书馆似乎不支持 pin。从设备中移除 PIN 是否存在安全风险?
  • @YaseenShareef 没错,库的连接方式不支持pin作为参数。为此,您必须通过SetCommPassword (pin_parameter) 方法将该引脚设置为服务器的通信引脚。设置服务器通信引脚后,您应该能够与Connect_Net (ip, port) 正常连接。我希望这个对你有用。我建议您从设备上移除安全密码,因为这肯定会带来风险。
【解决方案2】:

Python ZKLib 未维护且不稳定(目前),最好使用 pyzk 它构建得更好,更稳定且更易于使用documentation:

pip install pyzk

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-12
    • 1970-01-01
    • 2017-06-02
    • 1970-01-01
    • 2012-11-25
    • 2018-01-30
    • 1970-01-01
    相关资源
    最近更新 更多