
M5StackからのセンサーデータをPCに取り込むとき、パソコンが変わるたびに、COMポートが変わるので、毎回デバイスマネージャで調べるのが面倒。

PythonのpySerialライブラリに、有効なシリアルポートを調べるためのメソッドがあります。
今回は、PythonのライブラリpySerialで、アクティブなポートを探索する方法を紹介します。
アクティブなポートだけでなく、デバイス情報やメーカ情報等も入手できますので、種類の違うM5Stackを使えば、どのM5Stackが接続されているかもプログラム上で判別することもできます。
今回作成するアプリ
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:6001 | ← | USB VID:PID=10C4:EA60 SER=01DB5E91 LOCATION=1-1.4.1 |
vid | USBベンダーID(整数) | 1027 | ← | 4292 |
pid | USB製品ID | 24577 | ← | 60000 |
serial_number | USBシリアル番号(文字列) | None | ← | 01DB5E91 |
location | USBデバイスの場所(文字列) | None | ← | 1-1.4.1 |
manufactuturer | USBメーカ名(文字列) | FTDI | ← | Silicon Labs |
product | USB製品名(文字列) | 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とつないでいるシリアルポートを調べる方法を紹介しました。
M5Stack
小さな筐体の中に、ディスプレイ、ボタン、無線通信モジュールなど、必要な機能が詰め込まれたモジュールです。メーカから提供されるライブラリも豊富で、初心者の初めてのプログラミングにぴったりです。5 cm四方のベーシックなモデルの他、小型スティック型のモデル、更に小型のATOMシリーズ、M5Stampシリーズなどがあります。
デイトラは総受講者数30,000人超の、Webスキルを学べる国内最大規模のオンラインスクールです。
動画コンテンツを見ながら自習を行い、わからないところをチャットツールで質問を行うという形式で学習を行います。そのため、時間・場所を選ばず自分のペースで学習できます。
デイトラ最大の特徴はフリーランスや副業を意識したコースを中心としていることです。Web系フリーランスに必要なスキルを学べるコースを備えており、実際に多数の受講生がフリーランスとなっています。
<オススメポイント>
1. フリーランス/副業を意識したカリキュラム
デイトラは運営陣が全員元フリーランスで、フリーランス向けメディア「東京フリーランス」の運営も行っています。そのためフリーランスに求められるスキル感や現在の流行、そして案件獲得の方法にまで精通しており、カリキュラムにもそのノウハウを反映しています。
「何かを作れるようになる」といった漠然としたゴールではなく、「実際に仕事を受けられるレベルに達する」ことをゴールとしているため、カリキュラムは非常にハイレベルです。
■提供中のコース一覧
・Web制作コース
・Webアプリ開発コース
・Webデザインコース
・Shopifyコース
・動画制作コース
・Pythonコース
・Webマーケティングコース
・AIライティングコース
・Javaコース
2. 受講生による好意的な口コミ
デイトラはTwitter・ブログともに受講生による好意的な口コミが非常に多いです。
カリキュラムやウェビナーなどのサービスの質に満足する声や、実際に案件を獲得できた・転職に成功したなどの成果報告が多数見られます。実際に受講した方の満足する声が多いからこそ、それを見た人が安心して受講に踏み切られています。
デイトラが一年間で8000人以上から受講してもらえたのも、口コミで人が人を呼ぶ構造になっているのが最大の要因です。
3. 圧倒的なコストパフォーマンス
デイトラは一年間のサポート付きで99,800円と格安でサービスを提供しています(例:Web制作コース)。一般的なプログラミングスクールが数十万円の受講料でサポート期間も三ヵ月ほどであることが多いため、それらに比べて非常に安価な価格設定となっています。
さらに、卒業後はカリキュラムの閲覧が不可になるスクールも多い中、デイトラは一度受講したらその後もカリキュラムを見放題です。カリキュラムは随時アップデートされるため、「常に最新の情報を提供してくれる教材」として活用される方も多いです。
デイトラは完全オンラインで教室を持たないスクールで、受講生の口コミによる集客が中心となっています。そのため固定費・広告費を抑え、格安でサービス提供を行えています。
デイトラ


コメント