2015-12-01 64 views
0

我嘗試運行使用XBee API的示例。XbeeException:找不到端口:/dev/tty.usbserial-A6005uPi

當我執行在Eclipse中的程序,我得到這個錯誤:

Stable Library 
========================================= 
Native lib Version = RXTX-2.2pre2 
Java lib Version = RXTX-2.1-7 
WARNING: RXTX Version mismatch 
    Jar version = RXTX-2.1-7 
    native lib Version = RXTX-2.2pre2 
[2015-12-01 08:56:35,652] [main] [ERROR] [com.rapplogic.xbee.examples.ApiAtExample] at command failed 
com.rapplogic.xbee.api.XBeeException: Could not find port: /dev/tty.usbserial-A6005uPi 
    at com.rapplogic.xbee.SerialPortConnection.openSerialPort(SerialPortConnection.java:94) 
    at com.rapplogic.xbee.SerialPortConnection.openSerialPort(SerialPortConnection.java:61) 
    at com.rapplogic.xbee.api.XBee.open(XBee.java:132) 
    at com.rapplogic.xbee.examples.ApiAtExample.<init>(ApiAtExample.java:53) 
    at com.rapplogic.xbee.examples.ApiAtExample.main(ApiAtExample.java:76) 

請,有人可以解釋這個錯誤是什麼意思?有人可以幫我找到解決辦法嗎?

感謝提前:)

回答

0

。該溶液的步驟是:
1,驗證組ttyUSB0的: LS -la的/ dev/ttyUSB0 crwxrwx - X 1根撥出188,0 12月2日10點01分的/ dev/ttyUSB0

然後驗證在這種情況下用戶「sam」是否存在於同一組(撥出)中:id -Gn sam sam adm cdrom sudo dip plugdev lpadmin sambashare,

如果用戶不在同一組中是原始添加它:sudo usermod -a -G撥出sam

最後,更改ttyUSB0的權限,如下所示: 須藤CHMOD一個+ RW的/ dev/ttyUSB0

現在,如果例如被投入運行,將正確

0

看起來你使用了錯誤的路徑到你的XBee模塊的串行端口:Could not find port: /dev/tty.usbserial-A6005uPi

如果你看看開發目錄,你的usbserial ttys的名字是什麼?

ls /dev/tty.usbserial*

你傳遞一個路徑到程序,抑或是在源的地方硬編碼?無論如何,您只需將其更新爲適當的值即可。

+0

非常感謝:) USB串行的名稱是:ttyUSB0所以我在程序中更改它,但是當我運行時,我獲得相同的錯誤:無法找到端口:/ dev/ttyUSB0。 – Sam

0

這裏的一個線索,或許是OP提到第一個問題,在/ dev/tty設備執行。 usbserial ....這是指示在OSX上使用,而/ dev/ttyUSB0是Linux的USB端口命名,所以也許這是在pi上運行? 所以有幾件事要檢查: 1.在Mac上,FTDI設備的熱插拔存在問題。搜索與使用KEXT加載/卸載正確驅動程序相關的解決方案。 2.我發現在pi中,隨機將USB設備重新分配,所以當我將多個USB設備連接到集線器時,我的/ dev/ttyUSB0昨天可能會成爲我的/ dev/ttyUSB1。如果你不在Pi上,但是在另一個Linux機器上檢查f發生這種情況。

一般來說,當使用USB設備時,沒有可靠的枚舉。不要指望每小時或每天的USB連接保持不變。嘗試在Windows上使用,並在連接/斷開同一設備時觀察COM端口號攀升。

您可以通過類似於tomlogic建議並始終運行的方式進行手動枚舉: ls/dev/tty * | grep'[usb | USB]' ,這樣您就可以看到系統中與USB相關的所有tty設備(osx/* nix)(cmd可在所有類nix系統上運行)。