3j-通信機API-プログラミング

1.Pythonでクムクムロボットのライブラリーを使う方法

学習用ロボット(クムクムロボット)をPythonのプログラムから動かす

学習用ロボット(クムクムロボット)とPCの間は、BLEモジュール’RN4020’が持つMLDPモードという通信方式を使って通信を行っています。
MLDPモードとは、Microchip Low-energy Data Profile のことで、SSP (Serial Port Profile) を使って無線化することを指します。

そして、クムクムロボットをPythonのプログラムから動かすには、まず、PCとクムクムロボットの間でシリアル通信ができないといけません。
Pythonでシリアル通信を行うことも可能ですが、ここでシリアル通信を行い、クムクムロボットを制御するためのコマンドなどを作っているととても時間がかかってしまいます。

Python用ライブラリがある

学習用ロボット(クムクムロボット)のサイトに、Python用ライブラリがあり配布されています。

Qumcum Pythonライブラリ

クムクムロボットのサイトで下記の注意がありますのでご一読ください。

使用上の注意

1.API(DLL)はサンプルβバージョンにより不具合などがある場合もあります。
2.APIの細かい使い方、サンプルプログラムの内容、改造などについてのご質問については原則的にお答えできません。
3.技術的なアドバイスや細かい内容について個人的な範囲でのお答えは原則的にお答えできません。
4.API・サンプルのs著作権は弊社に帰属しますが、第三者への配布などはご自由です。

あくまで個人の学習用として参考としてお使いください。

使用上の注意を確認いただいたうえで、QumcumのサイトからPython用ライブラリ(qumcum_python.zip)をダウンロードします。

ダウンロードはこちらから。

Qumcum Pythonライブラリを展開する

Qumcum Pythonライブラリをダウンロードしたらqumcum_python.zipを選択して、右クリックメニューから「すべて展開…」で圧縮ファイルを展開します。

圧縮ファイルを展開すると下記のようなフォルダがあります。

フォルダ 内容
doc Qumcum Pythonライブラリのドキュメントがあります。
lib/x64 Python(64-bit)をインストールした場合のQumcum Pythonライブラリの本体(プログラム実行に必要なファイル)があります。
lib/x86 Python(32-bit)をインストールした場合のQumcum Pythonライブラリの本体(プログラム実行に必要なファイル)があります。
sample Qumcum Pythonライブラリを使うサンプルプログラムがあります。

各フォルダ内のファイル

フォルダ ファイル 説明
doc Qumcum_python用インターフェース一覧.pdf クムクムロボット制御用APIのインターフェースの説明が書かれたドキュメントです。
lib/x64 QumCommLib.dll Python(64-bit)をインストールした場合のDLLです。
lib/x86 QumCommLib.dll Python(32-bit)をインストールした場合のDLLです。
sample QumCommLib.dll サンプルにはPython(32-bit)をインストールした場合のDLLが入っています。
sample qumcum.py QumCommLib.dllを使うためのPythonモジュール
sample sample.py PythonからQumCommLib.dllのみを使ってクムクムロボットを制御するサンプルプログラム
sample qumcum_sample.py qumcum.py経由でQumCommLib.dllを呼び出してクムクムロボットを制御するサンプルプログラム

 

QumCommLib.dllとPythonモジュール(qumcum.py)とプログラムの関係

クムクムロボットとPCを接続し、Qumcum Pythonライブラリを使ってPythonで制御するには2通りの方法があります。

a. PythonからQumCommLib.dllのみを使ってクムクムロボットを制御する

クムクムロボットの制御を呼び出すプログラムのコード上から直接QumCommLib.dllをロードし、接続を行い制御します。

b. qumcum.py経由でQumCommLib.dllを呼び出してクムクムロボットを制御する

クムクムロボットの制御を呼び出すプログラムからはqumcum.pyをインポートして、APIを呼び出して制御します。

上記2つの方法は、それぞれ下記のような特徴があります。

方法 メリット デメリット
a. PythonからQumCommLib.dllのみを使ってクムクムロボットを制御する DLLを直接呼び出すことができるので他のコードの影響が少ない DLLのロードからアンロードまでの管理を自分のプログラム内で行わなければいけない
b. qumcum.py経由でQumCommLib.dllを呼び出してクムクムロボットを制御する qumcum.pyがDLLのロードからアンロードまでの管理を担ってくれるのでプログラムのコード量を抑えることができる インポートを行うためqumcum.pyの実装に依存することになる

 

Qumcum Pythonライブラリを使用するための準備

シリアル通信を使用するため、接続するシリアルポートを確認しておく必要があります。
確認を始める前にクムクムロボットの通信機がPCとUSBケーブルで接続されている場合は、いったん通信機を外しておいてください。

シリアルポートの確認方法

  1. デバイスマネージャを開きます。
    デバイスマネージャは[スタート]ボタン上で右クリックして[デバイスマネージャ]をクリックすると開くことができます。
  2. デバイスマネージャの<コンピュータ名>の中にある「ポート(COMとLPT)」の横の→をクリックして展開します。
  3. この状態でクムクムロボットの通信機とPCをUSBケーブルで接続します。
  4. クムクムロボットの通信機が認識されると「USB Serial Port(COM*)」(*はCOMポートの番号)というデバイスが表示されます。

この“COM*”(*はCOMポートの番号)の部分が、Qumcum Pythonライブラリでクムクムロボットと通信を行うときに必要になります。

QumCommLib.dllのみでの使用方法

実行するプログラムのフォルダに QumCommLib.dll を置きます。
QumCommLib.dllは、Python(64-bit)をインストールした場合は qumcum_python\lib\x64 Python(32-bit)をインストールした場合は qumcum_python\lib\x86のDLLを使用してください。

PythonからQumCommLib.dllのみを使ってクムクムロボットを制御する

DLLの関数を呼び出すには、スクリプト内に dll = cdll.QumCommLib と記述して、DLLをロードし、dll.関数名でAPIを呼び出します。

「COMポートの番号文字列を生成」の部分で指定している’COM7’の部分は、さきほどデバイスマネージャで確認した’COM*'(*はCOMポートの番号)を指定します。

Qumcum Pythonライブラリでは sample/sample.py にサンプルがあります。

qumcum.py経由でQumCommLib.dllを呼び出してクムクムロボットを制御する

同じフォルダにあるqumcum.pyの関数が使用できるようインポートし、そのインポートした’qumcum’に関数呼び出しを記述して呼び出します。

qumcum.connect()の引数で指定している’COM7’の部分は、さきほどデバイスマネージャで確認した’COM*'(*はCOMポートの番号)を指定します。

サンプルプログラムを動かしてみる

Qumcum Pythonライブラリでは sample/qumcum_sample.py というPythonのサンプルプログラムがあります。

サンプルプログラムを動かすには

エクスプローラで qumcum_sample.py があるsampleフォルダを開き、sampleフォルダを右クリックして、[Codeで開く]をクリックします。
(メニューに[Codeで開く]が表示されない場合は、VSCodeがインストールされていない可能性がありますので、VSCodeがインストールされているか確認し、インストールされていない場合はVSCodeのインストールを行ってください)

 

VSCodeが起動されたら、VSCodeの左ペインにあるファイルの一覧から qumcum_sample.py をクリックします。
(VSCode内のファイル一覧では、クリックするだけでファイルを開きます)

 

qumcum_sample.py が開いたら、VSCode左側にある[実行とデバッグ]ボタンをクリックし、表示された画面にある[実行とデバッグ]という青いボタンをクリックします。

 

右に表示された「Select a debug configuration」の中にある「Python File Debug the currently active Python file」をクリックします。

 

現在開いているPythonファイル(qumcum_sample.py)が実行されます。

 

プログラムの実行中は、VSCodeのウィンドウ下部の色が変わり、プログラムの実行が終了したら、VSCodeのウィンドウ下部の色が元に戻ります。
例では、プログラム実行中がオレンジ色で通常は青色です。

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