0

Pypjlink 是一个通用的投影仪控制 API,能够通过网络控制投影仪。这是一个包含所有相关信息的链接:https ://pypi.python.org/pypi/pypjlink 。还有一个指向包含所有文件的存储库的链接。我一直在努力克服所有的断言错误,但我并没有取得太大的成功。一旦我修好一个,另一个仍然挡在我的路上。我只是在查询投影机的电源状态。这是我文件中的代码:

from pypjlink import Projector
projector = Projector.from_address('10.21.24.7')

power =  projector.get('POWR')


print power

这是我过去一两个小时的测试结果:

=== RESTART: /Users/Dustin/OneDrive/School Work/Work Study/pjlink_test.py ===

Traceback (most recent call last):
  File "/Users/Dustin/OneDrive/School Work/Work Study/pjlink_test.py", line 4, in <module>
    power =  projector.get_errors()
  File "/Library/Python/2.7/site-packages/pypjlink/projector.py", line 172, in get_errors
    param = self.get('ERST')
  File "/Library/Python/2.7/site-packages/pypjlink/projector.py", line 119, in get
    success, response = protocol.send_command(self.f, body, '?')
  File "/Library/Python/2.7/site-packages/pypjlink/protocol.py", line 71, in send_command
    resp_body, resp_param = parse_response(f)
  File "/Library/Python/2.7/site-packages/pypjlink/protocol.py", line 30, in parse_response
    assert header == '%'
AssertionError
>>> 
=== RESTART: /Users/Dustin/OneDrive/School Work/Work Study/pjlink_test.py ===

Traceback (most recent call last):
  File "/Users/Dustin/OneDrive/School Work/Work Study/pjlink_test.py", line 4, in <module>
    power =  projector.get('Power?')
  File "/Library/Python/2.7/site-packages/pypjlink/projector.py", line 119, in get
    success, response = protocol.send_command(self.f, body, '?')
  File "/Library/Python/2.7/site-packages/pypjlink/protocol.py", line 67, in send_command
    data = to_binary(req_body, req_param)
  File "/Library/Python/2.7/site-packages/pypjlink/protocol.py", line 18, in to_binary
    assert body.isupper()
AssertionError
>>> 
=== RESTART: /Users/Dustin/OneDrive/School Work/Work Study/pjlink_test.py ===

Traceback (most recent call last):
  File "/Users/Dustin/OneDrive/School Work/Work Study/pjlink_test.py", line 4, in <module>
    power =  projector.get('Power')
  File "/Library/Python/2.7/site-packages/pypjlink/projector.py", line 119, in get
    success, response = protocol.send_command(self.f, body, '?')
  File "/Library/Python/2.7/site-packages/pypjlink/protocol.py", line 67, in send_command
    data = to_binary(req_body, req_param)
  File "/Library/Python/2.7/site-packages/pypjlink/protocol.py", line 18, in to_binary
    assert body.isupper()
AssertionError
>>> 
=== RESTART: /Users/Dustin/OneDrive/School Work/Work Study/pjlink_test.py ===

Traceback (most recent call last):
  File "/Users/Dustin/OneDrive/School Work/Work Study/pjlink_test.py", line 4, in <module>
    power =  projector.get('POWER')
  File "/Library/Python/2.7/site-packages/pypjlink/projector.py", line 119, in get
    success, response = protocol.send_command(self.f, body, '?')
  File "/Library/Python/2.7/site-packages/pypjlink/protocol.py", line 67, in send_command
    data = to_binary(req_body, req_param)
  File "/Library/Python/2.7/site-packages/pypjlink/protocol.py", line 20, in to_binary
    assert len(body) == 4
AssertionError
>>> 
=== RESTART: /Users/Dustin/OneDrive/School Work/Work Study/pjlink_test.py ===

Traceback (most recent call last):
  File "/Users/Dustin/OneDrive/School Work/Work Study/pjlink_test.py", line 4, in <module>
    power =  projector.get('POW')
  File "/Library/Python/2.7/site-packages/pypjlink/projector.py", line 119, in get
    success, response = protocol.send_command(self.f, body, '?')
  File "/Library/Python/2.7/site-packages/pypjlink/protocol.py", line 67, in send_command
    data = to_binary(req_body, req_param)
  File "/Library/Python/2.7/site-packages/pypjlink/protocol.py", line 20, in to_binary
    assert len(body) == 4
AssertionError
>>> 
=== RESTART: /Users/Dustin/OneDrive/School Work/Work Study/pjlink_test.py ===

Traceback (most recent call last):
  File "/Users/Dustin/OneDrive/School Work/Work Study/pjlink_test.py", line 4, in <module>
    power =  projector.get('POWE')
  File "/Library/Python/2.7/site-packages/pypjlink/projector.py", line 119, in get
    success, response = protocol.send_command(self.f, body, '?')
  File "/Library/Python/2.7/site-packages/pypjlink/protocol.py", line 71, in send_command
    resp_body, resp_param = parse_response(f)
  File "/Library/Python/2.7/site-packages/pypjlink/protocol.py", line 30, in parse_response
    assert header == '%'
AssertionError
>>> 
=== RESTART: /Users/Dustin/OneDrive/School Work/Work Study/pjlink_test.py ===

Traceback (most recent call last):
  File "/Users/Dustin/OneDrive/School Work/Work Study/pjlink_test.py", line 4, in <module>
    power =  projector.get('%POW')
  File "/Library/Python/2.7/site-packages/pypjlink/projector.py", line 119, in get
    success, response = protocol.send_command(self.f, body, '?')
  File "/Library/Python/2.7/site-packages/pypjlink/protocol.py", line 71, in send_command
    resp_body, resp_param = parse_response(f)
  File "/Library/Python/2.7/site-packages/pypjlink/protocol.py", line 30, in parse_response
    assert header == '%'
AssertionError
>>> -m unittest discover pypjlink.tests
SyntaxError: invalid syntax
>>> unittest discover pypjlink.tests
SyntaxError: invalid syntax
>>> discover pypjlink.tests
SyntaxError: invalid syntax
>>> 
=== RESTART: /Users/Dustin/OneDrive/School Work/Work Study/pjlink_test.py ===

Traceback (most recent call last):
  File "/Users/Dustin/OneDrive/School Work/Work Study/pjlink_test.py", line 4, in <module>
    power =  projector.get('%POW')
  File "/Library/Python/2.7/site-packages/pypjlink/projector.py", line 119, in get
    success, response = protocol.send_command(self.f, body, '?')
  File "/Library/Python/2.7/site-packages/pypjlink/protocol.py", line 71, in send_command
    resp_body, resp_param = parse_response(f)
  File "/Library/Python/2.7/site-packages/pypjlink/protocol.py", line 30, in parse_response
    assert header == '%'
AssertionError
>>> 
=== RESTART: /Users/Dustin/OneDrive/School Work/Work Study/pjlink_test.py ===

Traceback (most recent call last):
  File "/Users/Dustin/OneDrive/School Work/Work Study/pjlink_test.py", line 4, in <module>
    power =  projector.get('POW')
  File "/Library/Python/2.7/site-packages/pypjlink/projector.py", line 119, in get
    success, response = protocol.send_command(self.f, body, '?')
  File "/Library/Python/2.7/site-packages/pypjlink/protocol.py", line 67, in send_command
    data = to_binary(req_body, req_param)
  File "/Library/Python/2.7/site-packages/pypjlink/protocol.py", line 20, in to_binary
    assert len(body) == 4
AssertionError
>>> 
=== RESTART: /Users/Dustin/OneDrive/School Work/Work Study/pjlink_test.py ===

Traceback (most recent call last):
  File "/Users/Dustin/OneDrive/School Work/Work Study/pjlink_test.py", line 4, in <module>
    power =  projector.get('POWR')
  File "/Library/Python/2.7/site-packages/pypjlink/projector.py", line 119, in get
    success, response = protocol.send_command(self.f, body, '?')
  File "/Library/Python/2.7/site-packages/pypjlink/protocol.py", line 71, in send_command
    resp_body, resp_param = parse_response(f)
  File "/Library/Python/2.7/site-packages/pypjlink/protocol.py", line 30, in parse_response
    assert header == '%'
AssertionError
>>> 

一些额外信息:我正在使用静态 IP 通过网络连接投影仪。这是一台 BenQ 投影仪,我确实有一个 pjlink 命令列表。如果我尝试发送命令,它会起作用,但我仍然会收到该错误。该程序很难接收响应。

4

1 回答 1

0

在创建投影仪对象后尝试调用projector.authenticate('some_auth')(如果您没有身份验证,只需使用虚拟名称。)我也会使用get_power()get('POWR')但您可能有原因。

于 2017-03-15T10:23:44.313 回答