WindowsにPyBluezをインストールしてみる
はじめに
前回使用したBluezですが、これはWindowsでは使用できません。しかし、Pythonを使用したPyBluezはWindowsでも使えるとのこと。
「これは!!」と思ってインストールしてみたお話。
準備
Pythonをインストールします(3.4.3を使いました)
PyBluezをダウンロードして、任意の場所に展開しておきます。
PyBluez - GitHubVisual Studio2013をインストールします(Communityを使いました)
※番号を振ってはいますが、入れ替わっても問題ないかと。
インストール
PyBluezのREADMEの通り、コマンドプロンプトでPyBluezを展開したディレクトリに移動して、「python setup.py install」を実行すればインストールできます。
が、実行すると「Visual C++ 10.0が見つからない」旨のエラーが発生します。
そこで、以下を参考にレジストリエディタ(Win + R -> regedit)を開いて、値を追加します。
追加するキー
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\Setup\VC
※Visual Studioをインストールした時点で「~10.0\」までは追加されていると思いますので、「Setup」と「VC」を追加してやればOKです。
追加する値
- 値の名前: ProductDir
- 値のデータ: C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC
これで「python setup.py install」を実行して、エラーが発生せずに終了すればOKです。
失敗
最初Visual Studio2015 Communityをインストールしていたのですが、Visual C++のファイルが不足していたのかうまくインストールできませんでした。
その後一旦Visual Studioを削除して2013をインストールしたのですが、C++のヘッダファイルが見つからないエラーに見舞われたため、Visual Studioのインストールを一からやり直しました。
途中でWindows Platform SDKが見つからないというエラーが発生して、「Windows SDK for Windows 8.1」を別途インストールしたことが原因かもしれませんが…。
課題
インストール自体はこれで完了し、PyBluezのディレクトリ内にあるexamplesを実行すればBluetoothドングルが反応していることも確認できました。
しかし、「examples\ble」にあるサンプルを実行すると、「gattlib」が見つからないとエラーがでます。
READMEによると対応しているのはLinuxだけのようですね...。
Experimentalということで、今後Windowsにも対応予定なのか、「gattlib」がおそらくLinuxにしか対応していないことから、今後もLinuxにしか対応しない予定なのかは不明ですが、なんとかWindowsでもBLEを使えるようにしたいところです...。