【问题标题】:I am getting assertion errors when using PYPJLINK , how could I fix them?使用 PYPJLINK 时出现断言错误,我该如何解决?
【发布时间】:2017-02-24 04:31:53
【问题描述】:

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

【问题讨论】:

    标签: python python-2.7 assertion projector


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2016-06-19
      • 2019-06-28
      • 2020-08-18
      • 1970-01-01
      • 2021-09-15
      • 1970-01-01
      • 1970-01-01
      • 2019-06-17
      • 2018-12-25
      相关资源
      最近更新 更多