3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Android+RS-232C通信

Last updated at Posted at 2020-03-14

はじめに

まだまだ計測機器と通信はRS-232Cが現役です。
ある計測機器(USB-miniB/RS-232C)とAndroidでRS-232C通信できないかと相談がありました。
そこでUSB-miniB/RS-232C(変換ケーブル)で通信できるか調査しました。

先に結論を書くと、

  • USB-TypeC→USB-TypeA変換→USB-miniBでは計測機器が認識できない端末あり。
  • USB-TypeC→RS-232C変換ケーブル(ラトックシステム製)→RS-232CではUSB-TypeCの端末で認識できました。

調査環境

計測機器の認識調査

  • UsbManager. getDeviceList()でUSB機器を検索します。
  • 見つかったUSB機器情報をテキストに表示します。
  • USB機器(計測機器/変換ケーブル)が見つからない場合、認識しないと判断します。
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_main.*
import android.hardware.usb.UsbDevice
import android.hardware.usb.UsbManager

class MainActivity : AppCompatActivity() {
    private lateinit var usbManager:UsbManager

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        usbManager = getSystemService(Context.USB_SERVICE) as UsbManager

        btnTest.setOnClickListener {
            // USB機器を検索してテキストに表示
            val devices = usbManager.deviceList
            var str = ""
            for (device in devices.values) {
                val name = device.deviceName
                str += "Name:${name}\n"
                str += "Vendor:{$device.vendorId}\n"
                str += "Product:{$device.productName}\n"
                str += "\n"
            }
            txtMsg.text = str
        }
    }
}

USB-miniBで調査

  • USB-microB/Type-C→USB TypeA変換ケーブル→計測機器(USB-miniB)とAndroid端末の組み合わせで、計測機器を認識できる端末/できない端末があった。
  • USB-Type-Cでは認識できる端末/できない端末があり、変換ケーブルと端末の選定が難しくなった。

計測機器を認識できる組み合わせ

  • USB-microB→USB-TypeA→USB-miniB
端末 OS 認識
Nexus7 6.0.1 O
Moto5G 7.0 O
  • USB-TypeC→USB-TypeA→USB-miniB
端末 OS 認識
Pixel3a 10.0 O

計測機器を認識できない

  • USB-TypeC→USB-TypeA→USB-miniB
端末 OS 認識
ZenfoneAR 7.0 X
Zenfone5 8.0.0 X

USB-TypeC→RS-232C変換ケーブル(RS-USB60FC)で調査

  • 下記の全ての端末で認識できました。
  • USB-TypeC→RS-USB60FC
端末 OS 認識
ZenfoneAR 7.0 O
Zenfone3 Deluxe 8.0.0 O
Zenfone5 8.0.0 O
Nexus5X 8.1.0 O
Essential Phone PH-1 10.0 O
Zenfone5Z 10.0 O
Pixel3a 10.0 O

おわりに

  • USB-TypeC→USB-TypeA変換→USB-miniBでは計測機器が認識できない端末あり。
  • USB-TypeC→RS-232C変換ケーブル(ラトックシステム製)→RS-232CではUSB-TypeCの端末で認識できました。
  • ラトックシステム製のRS-232C変換ケーブルは、USB-TypeA/miniB/microB/Type-Cのタイプが用意されているので、ターゲット端末に応じて使おうと思います。
3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?