15
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

posted at

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

経緯

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を行うのかどうかもわかりません…
進捗があればこちらに追記か別記事を書く予定です。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
15
Help us understand the problem. What are the problem?