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 命令列表。如果我尝试发送命令,它会起作用,但我仍然会收到该错误。该程序很难接收响应。