GNU/Linux >> Linux の 問題 >  >> Ubuntu

USBとマイクロコントローラーの通信の問題?

私はLinuxの世界に不慣れで、現在Ubuntu12.04を使用しています。 Windowsパーティションで実行されています。 USBポートを介してマイクロコントローラーからシリアルデータを読み込むPythonプログラムを開発しました。 2日前にクラッシュし始めるまで、すべてが正常に機能していました。 dmesg | grep tty コンソールに次の出力が表示されます:

[    0.000000] console [tty0] enabled
[   14.599394] cdc_acm 3-1:1.0: ttyACM0: USB ACM device
[  290.236065] cdc_acm 3-1:1.0: ttyACM0: USB ACM device
[ 1105.915191] cdc_acm 3-1:1.0: ttyACM0: USB ACM device

USBを接続および切断するたびに、同じデータの新しい回線が表示されます。唯一の違いは時間でした。これは正しいですか、それとも問題がありますか。どんな助けでもいただければ幸いです。ありがとう

更新:

問題はマイクロコントローラーにありました。一定期間、センサーからパッケージを受信しなくなるたびに再起動しました。マイクロコントローラーは、ワイヤレスセンサーネットワーク上のルーターです。マイクロコントローラーが再起動するたびに、接続ポートがインクリメントされました(例:ttyACM0ttyACM1へ 。コントローラをRaspberryPIに接続すると、これは発生しなくなりました。

承認された回答:

  1. USBベンダーID、製品ID、シリアル番号を確認してください。

    $ dmesg | grep usb
    [...]
    [11427.635362] usb 2-1.2: new high-speed USB device number 8 using ehci-pci
    [11427.730823] usb 2-1.2: New USB device found, idVendor=04e8, idProduct=685e
    [11427.730830] usb 2-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    [11427.730834] usb 2-1.2: Product: SAMSUNG
    [11427.730838] usb 2-1.2: Manufacturer: Android
    [11427.730842] usb 2-1.2: SerialNumber: S610275b03f86
    [11427.742314] usb-storage 2-1.2:1.0: USB Mass Storage device detected
    [11427.742436] scsi8 : usb-storage 2-1.2:1.0
    [11427.786013] usbcore: registered new interface driver cdc_acm
    

    またはudevadm info -a /dev/ttyUSB1 より完全かもしれません。

  2. 新しいudevルールファイルを作成します。 Androidスマートフォン、Arduino、バスパイレーツ、ARMキットのルールの例。

    $ sudo nano /etc/udev/rules.d/99-my-usb-serial.rules
    SUBSYSTEM=="tty", ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="685e", ATTRS{serial}=="S610275b03f86", SYMLINK+="android"
    SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="A6008isP", SYMLINK+="arduino"
    SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="A7004IXj", SYMLINK+="buspirate"
    SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="FTDIF46B", SYMLINK+="ttyUSB.ARM"
    

参照:

  • usb-serialデバイスの永続的な名前
  • BeagleBone&BeagleBoneBlackまたは正確にmkudevrule.shの使用を開始する

Ubuntu
  1. ddを使用してISOイメージをDVDおよびUSBに書き込む方法

  2. USBにUbuntuをインストールし、Uefiを使用してDestopから起動しますか?

  3. USBスタートアップディスククリエーターのブロックサイズの問題?

  1. Edimax Ew-7811un Usb Wireless –ネットワークは表示されますが、接続できませんか?

  2. USBにGrubをインストールして、レスキューディスクにしますか?

  3. USB ドライブの切断と再接続が繰り返される

  1. Linuxでのプロセス間通信:ソケットとシグナル

  2. ベスト4フリーでオープンソースのチームコミュニケーションソフトウェア

  3. UbuntuでUSBポート、CD-ROM、フロッピードライブを無効にする方法