![USB ポート経由で UART デバイスを接続する際の問題](https://rvso.com/image/192226/USB%20%E3%83%9D%E3%83%BC%E3%83%88%E7%B5%8C%E7%94%B1%E3%81%A7%20UART%20%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%82%92%E6%8E%A5%E7%B6%9A%E3%81%99%E3%82%8B%E9%9A%9B%E3%81%AE%E5%95%8F%E9%A1%8C.png)
USB 経由でいくつかの UART デバイスと通信しようとしています。HT-06 Bluetooth モジュールと GY-NEO6MV2 GPS モジュールです。Prolific PL2303 USB ケーブルを使用しています。バックアップとして Silicon Labs CP2102 も持っています。
PL2303を接続すると
- コマンド
lsusb
が返されるBus 001 Device 015: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
- そして
dmesg
コマンドが返される[147697.657037] usb 1-11: pl2303 converter now attached to ttyUSB0
- ショー の
ls -l
/dev
crw-rw---- 1 root dialout 188, 0 Jun 15 08:58 ttyUSB0
自分自身をグループに追加し、にdialout
設定しました。chmod
666
次に、ポート、ボーレート 9600、パリティ 8、1、なしのシリアル接続で Putty を使用します/dev/ttyUSB0
。PL2303 ケーブルを HT-06 に GND-GND、VCC-VCC、TX-RX、RX-TX として接続します。すべて非常に基本的なものです。
Putty 画面が左上隅のカーソルから開始します。AT コマンドを送信します。正常であることを期待していますが、何も起こりません。2 台目の HT-06 がありますが、それでも何も起こりません。
RX ケーブルまたは TX ケーブルが壊れている可能性があると考え (HT-06 の LED が点滅しているので、VCC と GND は正常です)、PL2303 を CP2102 に交換しました。lsusb と dmesg の両方で、コンバータが接続されていることが示されています (ここでも/dev/ttyUSB0
)。同じ Putty 設定を使用しても、何も表示されません。
同様に、NEO6MをPL2303とCP2102の両方に接続し、xgps
(のサブセットgpsd
)を使用します。これはエラーを返します。
gpsd is not connected to /dev/ttyUSB0
そして明らかに何も起こりません。
私は、CP210X と PL230X の両方のドライバーを含むカーネル 5.4.0-74-generic を搭載した Linux Mint 20 を使用しています。また、さまざまな USB ポート (USB2 と USB3) も試しましたが、2 つの異なる USB-TTL コンバーター、3 つの UART デバイス、およびいくつかの異なるシリアル ターミナル アプリ (およびも試しました)minicomm
にもかかわらずrfcomm
、何も機能しません。
答え1
かなり古いバージョンの Linux だったときに PC で動作していた古い Arduino を掘り出しました。最新の Arduino IDE とシリアル モニターで動作しました。これで HC-06 と NEO6m の両方のデバイスと通信できるようになりました。求めていた解決策ではありませんが、回避策にはなります。
答え2
tty 設定 stty --all -F /dev/ttyUSB0 を共有して、CLOCAL フラグをチェックし、すべての設定フラグをチェックし、ハードウェア設定もチェックしてください。DB9 コネクタにはさまざまな配線設定があります。また、速度はボー レートまたはビット レート (ドライバー設定によって異なります) であることに注意してください。したがって、ビット レートを 9600 にしたい場合は、速度を 1200 に設定する必要があります。
答え3
picocom
私は( ) プログラムを使用してモデムを動作させましたsudo apt install picocom
:
picocom /dev/ttyUSB0
次にコマンドを入力します。また、動作しない場合は sudo を試してください。