問題タブ [usbserial]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
25560 参照

android - Android/ArduinoとのUSB通信

USB経由で通信する必要があるこのAndroidアプリケーションに取り組んでいます。私は Archos 101 タブレットを持っています (仕様はこちら: http://www.archos.com/products/ta/archos_101it/specs.html?country=us&lang=en )。それは完全な USB ホスト ポートを備えています。フラッシュ USB ドライブを USB ポートに挿入し、フラッシュ ドライブとの間でファイルを内部ストレージにコピーできます。

XBeeが接続されたこのArduino Fioボードがあります。Archos 101 タブレットの USB ポートに接続する予定の別の XBee を備えた XBee Explorer ドングルがあります。

今のところ、XBee Explorer Dongle をコンピュータに挿入して、Arduino Fio との間でデータを送受信できます。問題はありません。

Android が USB 経由で通信する方法はありますか? タブレットのどこかに USB 通信を可能にするドライバーが必要であることはわかっていますが、それらにアクセスしたり使用したりする方法が見つかりません。

Android が XBee Explorer ドングルを認識していることがわかります。ターミナル エミュレータをダウンロードしました。「dmesg」と入力すると、ドングルが接続されていることがわかります。しかし、私はそれで何もできません。

Android 用のFTDIドライバーが必要なようです。

タブレットが XBee Explorer ドングルと通信できるようになるために、何か助けていただければ幸いです。

0 投票する
2 に答える
6100 参照

linux - udev デバイス情報ではなく、デバイス応答に基づいて udev でデバイス シンボリック リンクを作成します

3 つの USB シリアル コンバーター (FTDI USB-RS232) に 3 つの異なるシリアル デバイスを接続しています。それらを接続すると、期待どおりに一般的なデバイス名 /dev/ttyUSBx が取得されます。いくつかの udev ルールを記述しようとすると、udevadm は、一部のデバイス シリアル ID 属性を除いて、3 つのデバイスに対して同じ出力を表示します。

これらのシリアル ID はすべてのデバイスで変更されるため、別の USB シリアル コンバーターを使用すると、ルールが機能しなくなります。そのため、シリアル コンバーターに接続されている特定のデバイスと通信し、その応答によってデバイスを識別する方法が必要です。

"Writing udev rules" HOWTOでは、PROGRAM 機能を使用して外部プログラムを呼び出してデバイスに名前を付ける方法について次のように述べています。

PROGRAM は、デバイス名を生成するプログラムを実行するために使用されます (それ以外のことはすべきではありません)。それらのプログラムが実行されているとき、デバイスノードはまだ作成されていないため、デバイスに対して何らかの操作を行うことはできません。

ルールの例: SUBSYSTEM=="usb", PROGRAM="/bin/device_namer %k", SYMLINK+="%c"

そのため、デバイスを識別するためにそこから /dev/ttyUSBx に書き込むことはできません。次に、RUN機能がありますが、udevがRUNの出力を取得しないため、新しいSYMLINKを作成できないようです。

ルールの例: SUBSYSTEM=="usb", RUN="/bin/program"

その RUN スクリプトから udev にシンボリック リンクを作成するように指示できますか? または、そこから手動でそのシンボリックリンクを作成できますか?

ありがとう

0 投票する
1 に答える
4762 参照

windows - USBシリアルポートデバイスの[ポート設定]タブを有効にするにはどうすればよいですか?

Windowsデバイスマネージャーのシリアルポートとして表示されるUSB周辺機器用のソフトウェアを保守しています。

.infファイルは、標準のusbser.sysドライバーを指定するだけです。

このようなデバイスのほとんどには、プロパティの下に[ポート設定]タブがあり、デバイスのシリアルポートの割り当てを変更できます。これは、私が保守しているこのデバイスに対して実行できるようにしたいことです。

[ポート設定]タブを有効にするにはどうすればよいですか?

serenum.sysの「AddService」ディレクティブを.infファイルに追加しようとしましたが([ポート設定]タブがあるすべてのデバイスにこのドライバーがあることに基づいて)、機能しませんでした。しかし、serenum.sysが[ドライバーの詳細]の[ドライバー]タブに表示されなかったため、正しく追加しなかった可能性があります。

0 投票する
3 に答える
16277 参照

delphi - Delphi 7 でシリアル ポートをリッスンする

USB経由で接続されたArduinoボードからのシリアル入力をリッスンし、出力をシリアルポート(COM4)に送信するプログラムを作成しようとしています。しかし、Delphi でシリアル ポートから入力を取得する方法がわかりません。ポートをリッスンするプログラムが必要です。入力が来るたびに、それに反応する必要があります。助言がありますか?

0 投票する
3 に答える
1288 参照

linux - 開いているファイル/デバイスが置換/削除されたかどうかを検出する

Linux で次の状況を想定します。

プロセスは、USB シリアル コンバータ デバイスから継続的に読み取りを行っています ( /dev/ttyUSB0)。そのデバイスが突然取り外され、再び差し込まれます (または、何らかの理由でデバイス自体がリセットされます)。プロセスは引き続き有効なファイル ハンドルを保持します/dev/ttyUSB0が、プロセスがデバイスを再度開かない限り、デバイスからデータを受信しません ( udevがデバイス ノードを削除して再作成したため)。

プロセスがデバイスを再度開く必要があることを認識できるように、そのような状況を検出する直接的な方法はありますか (つまり、データ フローのタイムアウトを検出することによって間接的にではありません)。/dev/ttyUSB0を使用して変更時間を監視することは信頼できstat()ますか?

追加の詳細:

このプロセスでは、標準open()関数を使用してデバイス ファイルを開きます。

/devによってtmpfs制御されudevます。

注:私はこれにudevルールを使用したくなく、プロセスに直接実装されたソリューションを好みます。

0 投票する
3 に答える
35853 参照

android - Androidでシリアルデバイスを制御するには?

Linux Androidで、USB経由でシリアルデバイスを制御するアプリケーションを開発したいと考えています。
Android OS は USB ホストをサポートする 3.1 です。

Q1: シリアルデバイスが搭載されているポートを取得する方法を教えてください。

Dalvik Debug Monitor で「Dump Device State」を取得したところ、おそらく USB デバイスの情報が得られました。
そして、adb を使用して Android デバイスの /dev/tty* を確認しました。
シリアルデバイスがどれ(/dev/tty??)かわかりません。

adb shell
$ ls /dev/tty*
/dev/tty
/dev/ttyFIQ0
/dev/ttyHS0
/dev/ttyHS2
/dev/ttyHS3
/dev/ttyHS4
/dev/ttyS0
/dev/ttyS1
/dev/ttyS2
/dev/ttyS3

Q2: Android で root 権限なしでシリアルデバイスを制御する方法を教えてください。

Linuxでシリアルデバイスを制御できるアプリケーション(exe)があります。
私は android でやろうとしましたが、許可が拒否されたためできませんでした。

で、シリアルポートにリダイレクトしてみました(多分)
$ ls > /dev/ttyS0
でもダメでした。
/dev/ttyS0 を作成できません: 権限が拒否されました。

シリアルデバイスの制御方法とアクセス方法があれば教えてください。

0 投票する
1 に答える
2605 参照

android - LinuxシステムとのAndroidUSBアクセサリ通信

Linuxタブレットで実行されているアプリケーションと通信するようにNexusOne電話をセットアップしようとしています。

電話側では、NexusOneはAndroid2.3.4であるため、USBアクセサリライブラリが搭載されています。そして、http://developer.android.com/guide/topics/usb/accessory.htmlの指示に従ってアプリケーションAndroidを作成しました。AndroidアプリケーションをMicrochipAccessoryDe​​velopment Starterキットに接続して接続することにより、Androidアプリケーションが機能することを確認しました。

Linux側では、Nexusデバイスをusbserialモジュールに登録し、電話が接続されたときにttyUSB0デバイスを作成するように構成しました。アプリケーションがttyUSB0に対して正しく読み取りおよび書き込みを行うことを確認しました。これを行うには、別のコンピューターのシリアルポートに接続し、ミニコムを介してデータが着信するのを確認します。

残念ながら、Android開発者のWebサイトには、ホストデバイス(私の場合はLinuxタブレット)が実行する必要のある構成は含まれていません。言い換えれば、Linuxは電話と通信するためにどのプロトコルに従う必要がありますか?

0 投票する
2 に答える
1587 参照

c - Select( ) は常に /dev/ttyUSB0 でブロックします

/dev/ttyUSB0にあるXBee rfモジュールでSelect() sys calを使用していますが、このsyscalは返されません(タイムアウト時にのみ返されます)が、このポートのWHILEループでread()を使用すると、データが来る

select は、ポートが読み取りの準備ができているときではなく、TIMEOUT の場合にのみ戻ります

しかし、次を使用すると、印刷されているデータを見ることができます

注:関数内のコマンドについては、 GTKtermを開いた後にsystem()発行して取得しました(プログラムからモデムと通信できたときです)ので、GTKtermがポートを構成したと推測し、まったく同じものを使用しました構成。stty -F /dev/USB0 -g/dev/ttyUSB0

0 投票する
2 に答える
1189 参照

c - USB シリアル/CDC ファンクション ドライバ

OS: Ubuntu Linux 10.10 カーネル: 2.6.35-30

クエリ: Windows プロセスと上記のプラットフォーム上の組み込みデバイスとの間で堅牢な通信を確立する必要があります。この場合、どのような解決策が考えられますか? この場合、ソケット プログラミングは既に除外されています。非常に基本的な質問のように聞こえるかもしれませんが、私はこの分野に不慣れであり、あなたの助けに本当に感謝しています.