まずは ヒューマンインターフェイスデバイス(HID)のUSB入力デバイスとして認識されている様子を得たいと思います。Python3.7で簡単にHIDを扱えるライブラリとして、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コードを記載してデータ取得していきたいと思います。