簡體   English   中英

正常運行后可以正常運行TypeError和RuntimeError

[英]TypeError and RuntimeError after working fine first run

我正在使用此Mercury API https://github.com/gotthardp/python-mercuryapi讀取RFID標簽。

當運行下面的簡單示例代碼時,該代碼在成功執行1次后會產生錯誤:

#!/usr/bin/env python3
from __future__ import print_function
import time
import mercury
reader = mercury.Reader("tmr:///dev/ttyUSB0", baudrate=115200)

print(reader.get_model())
print(reader.get_supported_regions())

reader.set_region("EU3")
reader.set_read_plan([1], "GEN2", read_power=1900)
print(reader.read())

reader.start_reading(lambda tag: print(tag.epc, tag.antenna, tag.read_count, tag.rssi))
time.sleep(1)
reader.stop_reading()

在第一次運行時,代碼會執行良好,從而產生對RFID標簽的讀取。

M6e Nano
[u'NA2', u'NA3', u'IN', u'JP', u'PRC', u'EU3', u'KR2', u'AU', u'NZ', u'open']
['E20040057307013122103116']
E20040057307013122103116 1 1 -36
E20040057307013122103116 1 1 -36
E20040057307013122103116 1 1 -36
E20040057307013122103116 1 1 -36

再次運行它會導致:

Traceback (most recent call last):
  File "test.py", line 5, in <module>
    reader = mercury.Reader("tmr:///dev/ttyUSB0", baudrate=115200)
TypeError: No such file or directory

再次運行會導致以下結果:

Traceback (most recent call last):
  File "test.py", line 5, in <module>
    reader = mercury.Reader("tmr:///dev/ttyUSB0", baudrate=115200)
TypeError: Permission denied

然后從sudo運行它會給出RuntimeError:

M6e Nano
[u'NA2', u'NA3', u'IN', u'JP', u'PRC', u'EU3', u'KR2', u'AU', u'NZ', u'open']
Traceback (most recent call last):
  File "test.py", line 12, in <module>
    print(reader.read())
RuntimeError: Timeout

關於如何解決這些問題的任何想法?

更新使閱讀器關閉了一段時間,並且相同的行為再次發生。 第一次工作,然后進入TypeError。 第一次使用后,路徑“ tmr:/// dev / ttyUSB0”是否可以更改?

更新嘗試在Raspberry Pi 3上運行它,但我遇到了同樣的問題。 RuntimeError:超時

問題是RFID閱讀器沒有收到足夠的功率。 代替了3.3VI,它提供了5V電壓,從而解決了問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM