#はじめに
bluetoothデバイスとデータをやり取りするにあたり、raspberrypiのOSインストールとbluezの設定をまとめました。記事の寄せ集めですが、今からraspberrybluez環境を立ち上げる方の参考になれば幸いです。
#初期設定
- raspberrypiのOSインストール
本家ページにアクセスし、dmgファイルをダウンロードし誘導通りにインストールする。ただし、自分の環境ではssh設定関連が足りなかった。また、python3環境が必要であるため、3.7環境に切り替えた
(参考ページ)Zumi Blog
(参考ページ)Raspberry Pi Zero(W, WH)のセットアップ:sshの設定関連
(参考ページ)「SSHホスト鍵が変わってるよ!」と怒られたときの対処:学生時にも怒られた記憶あり
(参考ページ)Pythonバージョンを 2系 から 3系 に切り替える:python環境を3.7系に切り替え
- bluetooth関連の作業
- bluetoothがコマンドで動作することを確認
(参考ページ)Raspberry Pi Zero WでBluetooth経由でシリアル通信(ペアリングまで) - 実行に必要なモジュールは既に入っていることが動作確認で分かったため、bluetoothをpythonで操作する開発環境として、pybluezを試すことにした。
(参考ページ)通信規格理解の記事一覧:非常にわかりやすかった
(参考ページ)adafruit:資料は古いがわかりやすい
(参考ページ)Raspberry Pi 3 のbluezを更新 5.23 -> 5.44:綺麗にまとまっている
(参考ページ)D-Bus のはなし:D-Busとは何かが記載されているページ
(参考ページ)bluez:本家
(参考ページ)BlueZのAPI/サンプルコードのメモ:pybluezでできないことを階層を下げて実行する場合に必要
(参考ページ)pybluez:本家
(参考ページ)M5StackでBLE環境センサー端末を作る:Ambientさんの送信系
(参考ページ)BLE環境センサー・ゲートウェイ(Raspberry Pi編):Ambientさんの受信系 - bluez及びpybluezのインストールで参考にしたページ
(参考ページ)Check! Raspberry Pi で Bluetooth 経由のセンサーデータを取得する 〜 準備編:非常に役に立ちました - インストール中にアボートした際にdmesgして、OutOfMemoryを確認してswap領域変更
(参考ページ)Raspberry Pi のスワップ領域拡張 - pipのインストール
(参考ページ)RaspberryPi(Raspbian)にpipをインストール
#作業判断
作業にあたり以下の判断をしている
- 仮想環境は用いない(パス関係がややこしくなるため)
特に、raspberrypiでは、apt-getを基本にしており、pipインストールをして欲しくないようである(おそらく、dpkg -l の範囲外でユーザ権限でパッケージをダウンロードさせたくない)。そのため、もし、pipを使う場合には仮想環境を立ち上げることを基本にしているようであるが、パス指定が面倒になるため、敢えて仮想環境は使用しない(目的が限られており、特に影響はないと考える)。 - bluez/pybluezを使用した
bluezで作られた実行ファイルがraspberrypiにはプリインストールされており、bluezを使用するpybluezを使用するのが良いと判断した