LoginSignup
2
0

More than 3 years have passed since last update.

BTstackのexampleを使って、ESP32でWiiリモコンのBluetoothデバイスアドレスを取得する。

Posted at

はじめに

ESP32には、Bluetooth機能が内蔵されていますが、今回、そのBluetooth Classicを使って、WiiリモコンのBluetoothデバイスアドレスをESP32で取得してみます。Bluetoothスタックとして、BTstackを使用し、exampleに含まれている gap_inquiry をそのまま実行するだけです。
無題.png

開発環境の準備

ESP32の開発環境をWindows10(64bit)のUbuntu上に準備します。
⇒ ESP32 で Hello world! - Ubuntu (Windows Subsystem for Linux)

Bluetoothスタック(BTstack)の準備

cd ~/
git clone https://github.com/bluekitchen/btstack.git
cd ~/btstack/port/esp32
./integrate_btstack.py

Wiiリモコンの認識

ビルド

シリアルポートの設定

menuconfig というプロジェクト設定ツールを起動し、シリアルポートの設定を行います。

cd ~/btstack/port/esp32/example/gap_inquiry
make menuconfig

無題.png

[Serial flasher config] → [Default serial port] で、ESP32と接続しているシリアルポートを設定します(例えば、/dev/ttyS14)。通信速度やオプション指定も図のように合わせてください。
設定後、< Save >で保存し、< Exit >で終了します。

ビルドと書き込み

次のコマンドで、ビルドと書き込みを行います。

make flash

モニター

次のコマンドで、ESP32とモニター接続します。すると、Starting inquiry scan.. とスキャンが開始されます。

make monitor

Wiiリモコンの検出

WiiリモコンのAボタンとBボタンとを同時に押し、下部の4つの青色LEDを点滅状態にします。すると、ESP32(gap_inquiry)がBluetoothデバイスを検出し、そのアドレス(Device fount:)と名称(Name:)とを出力します。

Starting inquiry scan..
Device found: 00:1?:??:??:??:?2 with COD: 0x002504, pageScan 1, clock offset 0x3b63, rssi -63 dBm
Get remote name of 00:1?:??:??:??:?2...
Name: 'Nintendo RVL-CNT-01'
Starting inquiry scan..

おわりに

Wiiリモコンは、Bluetoothデバイスですので、そのアドレスと名称とをESP32で取得することができました。

2
0
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
2
0