LoginSignup
14
15

More than 5 years have passed since last update.

python-gattlibのインストール方法

Posted at

経緯

BLEモジュールを使いたいとの要望が飛んできたのでRaspiでの実装に挑戦中です。
bleライブラリのインストールに詰まったのでそのメモ書きです。

手順

こちらを参考にさせてもらいました。

# ①pyBluez の依存パッケージをインストール
$ sudo apt-get install python-dev libbluetooth3-dev

# ②pyBluez のインストール
$ sudo pip install pybluez

# ③gattlib の依存パッケージをインストール
$ sudo apt-get install libglib2.0 libboost-python-dev libboost-thread-dev

# ④BLEを使う場合に必要な gattlib をインストール
$ sudo pip install gattlib

①②③までは順調だったのですが④のgattlibのインストールがうまくいかない…
エラーログを見るとBT_SNDMTUとBT_RCVMTUが宣言されていない様子

対策

調べてみるとこちらに回答がありました。

google翻訳
-私はこれが環境問題でありpygattlibではないと思います。閉鎖
とのことで開発環境に問題があるとのこと。

とりあえずこちらを参考にRaspiを最新にアップデート

Raspiのカーネルを最新のStretchにしたところカーネルは4.9なので↓のリンクで現在のカーネルバージョンのヘッダファイルにて宣言されていることを確認。
http://elixir.free-electrons.com/linux/v4.9/source/include/net/bluetooth/bluetooth.h#L122

再度、④のpipコマンドを実行してみましたがエラーが治りません。
アップデートではなくカーネルビルドが必要なのでしょうか、理由は私ではわからないので手動インストールに変更。

対策その2

bitbucketからソースをダウンロード→scpでraspiにzipを送信。

# 解凍
unzip OscarAcena-pygattlib-a858e8626a93.zip

# 一応setup.pyの前にmake
cd OscarAcena-pygattlib-a858e8626a93
make

# setup.pyでインストール
sudo python setup.py install

これで無事pygattlibインストールが完了しましたのでBLEモジュールのセンサ受信ソフトの作成に取り掛かることができます。

終わり?に

加速度センサのMACアドレスを知りたいのですがlescanしても数が多すぎてわかりません…
そもそもMACアドレスでconnectを行うのかどうかもわかりません…
進捗があればこちらに追記か別記事を書く予定です。

14
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
15