Raspberry Pi 2 LIFE ご購入はこちら プロも使う Yocto 開発環境で初体験! ラズパイ時代のレベルアップ! My オリジナル Linux の作り方 第 3回 Bluetooth 版 Linux にする Bluetoothデバイス Bluetooth機器 キーボード 三ツ木 祐介 bluetoothctl connman アプリ ケーション ラズベリー・パイ3 BLEアンテナ Bluez 無線LSI BCM43438 プロセッサ BCM2837 Linux動作 (ホスト) DBUS hciattach rfkill HCI 図 1 ラズベリー・パイ 3 向け最小構成 Linux を Bluetooth 機器に 対応させる L2CAP 今回作るもの… Bluetooth通信対応版シンプルLinux ●ハードウェア構成 機器構成のイメージを図 1 に示します. 図 の 中 で,BCM43438 を「Bluetooth デ バ イ ス 」, キーボードを「Bluetooth 機器」と呼んでいます.「デ バイス」と「機器」はどちらも同じ意味の言葉のため混 乱しそうです.一般的なユーザ視点であれば,ラズベ リー・パイ 3 側をホスト,キーボード側をデバイス (ターゲット)と呼ぶのが適切です.しかし,開発者 視 点 で, ラ ズ ベ リ ー・ パ イ 3 内 部 の Linux か ら BCM43438 を見た場合,Linux がホスト,BCM43438 がデバイスとなります.このため,ここでは,ラズベ リー・パイ 3 側を Bluetooth デバイス,キーボード側 を Bluetooth 機器と呼ぶことにします. ユーザ カーネル SCO BlueZ Core HCI UART 今回は,第 1 回(2016 年 12 月号)で作成したラズベ リー・パイ用最小構成「シンプル版 Linux」に Bluetooth プロトコル・スタックを追加する方法を説明します. 作り直した Linux は「Bluetooth 版 Linux」と呼ぶこと にします. bluetoothd HCI USB UART Driver UART ハードウェア BCM43438 図 2 Linux で使われる Bluetooth プロトコル・スタック BlueZ の 構成 Linux でハードウェアを制御するためには,デバイ ス・ドライバが必要になります.ワイヤレス・チップ セットによっては,ドライバの他に適切なファーム ウェアが必要になります.BCM43438 もファームウェ アが必要です. 通常,デバイス・ドライバとデバイスの名前は一致 しています.しかし,レジスタ構成や制御方法が似て いる場合,複数のチップセットの制御を一つのドライ バに実装されていることがあります.BCM43438 もそ のようなもののうちの 1 つで,ドライバやファーム ウェアの名前には BCM43430 が使用されています. ● Bluetooth のプロトコル・スタック ● 無線 LSI のデバイス・ドライバ Linux における Bluetooth の機能は,オープンソー スのプロトコル・スタックである BlueZ(1)によって実 ラズベリー・パイ 3 は BCM43438 という Bluetooth と Wi-Fi のコンボ LSI をオンボードで搭載しています. 装されています.Bluez の構成を図 2 に示します. HCI(Host Control Interface)やL2CAP(Logical Link 132 第 1 回 ラズパイ用最小 Linux を作る(2016 年 12 月号) 第 2 回 Windows 上で Linux を作れる仮想 PC の準備(2017 年 1 月号) 2017 年 2 月号
© Copyright 2024 ExpyDoc