USBポートを介してUARTデバイスを接続する際に問題があります。

USBポートを介してUARTデバイスを接続する際に問題があります。

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設定しました。chmod666

/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を試してください。

関連情報