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
/dev/ttyUSB0
その後、Puttyを使用してポート、ボーレート9600、パリティ8,1、Noneとシリアル接続を作成しました。 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設定を使用しても、まだ何も得られません。
xgps
同様に()のサブセットを使用して、NEO6MをPL2303およびCP2102とインタフェースさせました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デバイス、および2つの異なるシリアル端末アプリケーション(および試してみました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を試してください。