1
私は、自分のアプリケーションを使って価値のある別のアプリケーション(私が書いたものではない)と通信するデバイスを持っています。私はansioライブラリを見つけた、私はそれをインストールし、開始するためのthisチュートリアルを見つけた。USBポートを開き、asioライブラリを使ってデータを受信する方法は?
質問:どのようにデバイス名をポート名に設定するのですか? lsusb
を使用して、私が取得:
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 004: ID 0ac8:305b Z-Star Microelectronics Corp. ZC0305 Webcam
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
は私がウェブカメラのデバイスを扱うようにしたい:
Bus 001 Device 004: ID 0ac8:305b Z-Star Microelectronics Corp. ZC0305 Webcam
、私は書いた:
try {
SimpleSerial serial("/dev/ttyUSB4",115200); // get SimpleSerial class on link above
cout<<serial.readLine()<<endl;
return 0;
} catch(boost::system::system_error& e)
{
cout<<"Error: "<<e.what()<<endl;
return 1;
}
をしかし、それは与えられた:Error: open: No such file or directory
修正する方法この?前もって感謝します。
あなたのプログラムを 'strace'の下で走らせ、文字列'/dev/ttyUSB4'を探して、その点を中心に関数呼び出しを調べて、ライブラリが実際に何をしているのかを手がかりにしてください。 –