M5Stackシリーズが、パソコンのどのポートに繋がっているかをPythonで調べる方法 

M5Stack
YOU
YOU

M5StackからのセンサーデータをPCに取り込むとき、

パソコンが変わるたびに、COMポートが変わるので、

毎回デバイスマネージャで調べるのが面倒。

けんろう
けんろう

PythonのpySerialライブラリに、

有効なシリアルポートを調べるためのメソッドがあります。

今回は、PythonのライブラリpySerialで、アクティブなポートを探索する方法を紹介します。

アクティブなポートだけでなく、デバイス情報やメーカ情報等も入手できますので、種類の違うM5Stackを使えば、どのM5Stackが接続されているかもプログラム上で判別することもできます。

受講者満足度90%以上のプログラミングスクール【DMM WEBCAMP】
広告

今回作成するアプリ

M5Stack(シリーズ品)を繋ぎ、アクティブなシリアルポートとその情報を、コンソール上に表示する

広告

構成

Windows PCに、複数台のM5Stack(シリーズ)をUSBで繋ぎます。

広告

サンプルコード(Windows PC)

#!usr/bin/env python
# -*- coding: utf-8 -*-

import serial.tools.list_ports

ports = list(serial.tools.list_ports.comports())
for p in ports:
    print(p)
    print(p.device)
    print(p.name)
    print(p.description)
    print(p.hwid)
    print(p.vid)
    print(p.pid)
    print(p.serial_number)
    print(p.location)
    print(p.manufacturer)
    print(p.product)
    print(p.interface)

ports = list(serial.tools.list_ports.comports()) で取得できる情報は、以下となります。

Windows PCにつないだときの場合です。


M5ATOM Lite

M5ATOM Matrix

M5Stack Fire
deviceデバイス名と絶対パス。COM5(例)
nameデバイス名None
description説明文USB Serial Port (COM5)Silicon Labs CP210x USB to UART Bridge (COM6)
hwid技術的な説明文USB VID:PID=0403:6001USB VID:PID=10C4:EA60 SER=01DB5E91 LOCATION=1-1.4.1
vidUSBベンダーID(整数)10274292
pidUSB製品ID2457760000
serial_numberUSBシリアル番号(文字列)None01DB5E91
locationUSBデバイスの場所(文字列)None1-1.4.1
manufactuturerUSBメーカ名(文字列)FTDISilicon Labs
productUSB製品名(文字列)None
interfaceインターフェースの説明None
広告

出力結果

COM3 - USB Serial Port (COM3)
COM3
None
USB Serial Port (COM3)
USB VID:PID=0403:6001 SER=A152E83A93A
1027
24577
A152E83A93A
None
FTDI
None
None
COM5 - USB Serial Port (COM5)
COM5
None
USB Serial Port (COM5)
USB VID:PID=0403:6001
1027
24577
None
None
FTDI
None
None
広告

まとめ

今回は、Pythonで、M5Stackとつないでいるシリアルポートを調べる方法を紹介しました。

自走できるAI人材になるための6ヶ月長期コース【キカガク】

コメント

タイトルとURLをコピーしました