Custom製 CO2-miniからのデータ取得(その2)

まずは ヒューマンインターフェイスデバイス(HID)のUSB入力デバイスとして認識されている様子を得たいと思います。Python3.7で簡単にHIDを扱えるライブラリとして、cython-hidapiを用いたいと思います。

cython-hidapi

上リンク先の手順に従いインストールしようとしたところ、次のエラーが出てしましました。

(base) PS C:\Users\MMS\cython-hidapi> python setup-windows.py build
running build
running build_ext
skipping 'hid.c' Cython extension (up-to-date)
building 'hid' extension
error: Unable to find vcvarsall.bat
(base) PS C:\Users\MMS\cython-hidapi>

解決策を調べると、setup-windows.pyの一番最初の行に次の一文を加えるとよいようです。

import setuptools

これでどうだと再度トライしたところ、またエラーです。

 (base) PS C:\Users\MMS\cython-hidapi> python setup-windows.py build
 running build
 running build_ext
 skipping 'hid.c' Cython extension (up-to-date)
 building 'hid' extension
 error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": https://visualstudio.microsoft.com/downloads/

Microsoft Visual C++ 14.0を探すもなかなか見当たらず、次のURLからダウンロードできることが分かりました。

https://download.microsoft.com/download/5/F/7/5F7ACAEB-8363-451F-9425-68A90F98B238/visualcppbuildtools_full.exe

Microsoft Visual C++ 14.0 インストール後は、正しく cython-hidapi がインストールできたようです。そこで次の通りコードを記載して確認してみます。

import hid
Check all usb device
for d in hid.enumerate(0, 0):
keys = d.keys()
#keys.sort()
for key in keys:
print ("%s : %s" % (key, d[key]))
print ("")

実行すると、次のデバイスとして認識されることが分かります。

path : b'\\?\hid#vid_04d9&pid_a052#6&2a70756&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}'
vendor_id : 1241
product_id : 41042
serial_number : 1.40
release_number : 256
manufacturer_string : Holtek
product_string : USB-zyTemp
usage_page : 65280
usage : 1

なお、vendor_idとproduct_idは、デバイスマネージャーのUSB入力デバイスのプロパティにおける[詳細]-[ハードウェアID]におけるVIDとPIDに続くところで16進数で記載されています。

次回は、インターネット上におけるCO2-miniの情報を探し、実際にPythonコードを記載してデータ取得していきたいと思います。