見出し画像

Home Assistantで家中の温湿度データをローカルで集める:Bluetooth Proxy入門

前回の記事では、各種デバイスを「ローカル接続」でHome Assistant(HA)に統合する考え方を紹介しました。
今回はその補足として、Bluetooth(BLE)デバイスを家中で安定して拾う方法を解説します。


家中に散らばるSwitchBot温湿度計などのBLEデバイスは、HA本体(ラズパイ等)のアンテナだけだと、部屋によって「拾えない/不安定」になってしまうという課題がありました。これは、Bluetoothが遠距離・障害物に弱いという性質の問題です。

そこで登場するのが Bluetooth Proxyです。

Bluetooth Proxyを一言でいうと:「Bluetoothの触手を増やす」仕組み

HA本体のBluetoothのアンテナを、タコの触手みたいに家中に伸ばして守備範囲を拡大することを目指します。
この記事では、M5Stack Atom Liteという製品を使って、この“触手”を増やします。


0. この記事でやること

  1. Bluetooth Proxyが何を解決するかざっくり理解

  2. M5Stack Atom LiteをBluetooth Proxyにする

  3. HAに追加して運用できる状態にする


1. Bluetooth Proxyって何?

Bluetooth Proxyは、Bluetoothの電波を拾うアンテナを家の中に増やし、拾ったデータをWi-FiでHAに中継する仕組みです。

  1. BLEデバイスの周辺にProxyを設置

  2. ProxyがBLEを拾って、Wi-Fi経由でHAへデータを送る

  3. HAは「そのBLEデバイスが近くにある」かのように扱える

SwitchBotハブを温湿度計のためだけに設置するより、遥かに安価(2000円以下)に作成が可能な点もポイントです。
特に、クラウド利用でAPI制限が気になるほど台数が増えてきた人には必須級のアイテムです。


2. Bluetooth Proxyの作成

今回は、手軽な方法として、ESPHome公式のWebインストーラーを使ってProxyを作成します。

準備するもの

  • M5Stack Atom Lite 本体

  • USB Type-C ケーブル(データ通信対応のもの)

    • 充電専用ケーブルだとPCが認識しません

  • PC(Windows / Mac)

  • ブラウザ(ChromeやEdgeなどのWebSerial対応ブラウザを使用)

手順1:PCに接続する

  1. M5Stack Atom Lite を USBケーブルでPCに接続します。

  2. 接続しますか?などの選択肢が出たら、接続するを選択してください。

  3. LEDが点灯すれば通電はOKです。
    ⚠️ セットアップ済のM5Stack Atom Liteを接続した場合はLEDは点灯しませんのでご注意ください。(再セットアップ時など)

手順2:ESPHomeのインストーラーを開く

  1. ESPHome公式のBluetooth Proxyページを開きます。
    https://esphome.io/projects/?type=bluetooth

  2. ブラウザ上で、以下の項目を選択します。

    • Bluetooth proxy

    • Generic ESP32

  3. 「Connect」で接続します。

手順3: 書き込み(INSTALL)

ブラウザ側で、「esphome.ioがシリアルポートへの接続を要求しています」というウィンドウが出たら、「M5stack〜」や「USB Serial〜」のような名前のを選んで接続します。

接続できたら [Install esphome.bluetooth-proxy][Install] を選択して書き込みします。書き込みが完了すると、LEDは光らなくなります。
⚠️ ここで書き込みが終わった瞬間にブラウザがクラッシュするときがあります。その場合は、再度ページを開き直して接続してください。

手順4:Wi-Fi設定

書き込みが終わったデバイスで同じ画面から接続すると、Wi-Fi設定の画面になります。
⚠️ 以下の画面にならない場合は、何度か接続し直すと認識されることがあります。

【Connect to Wi-Fi】を選択して、SSIDとパスワードを入力して接続します。(2.4GHzで接続します

以下の画像の表示になれば成功です。

手順5:HA側にBluetooth Proxyを追加する

手順4の最後の画面で「Add to Home Assistant」を選択して進めると「ESPHomeを設定しますか?」と表示されるのでOKを選択します。
「発見:Bluetooth Proxy〜」という表示が出るので、「追加」を選択して設定を進めればHAへの追加完了です。

⚠️ もし手順4の最後の画面を閉じてしまった場合でも、HAを開いて、設定 → デバイスとサービスに遷移すれば、同じ画面にたどり着きます。

これでM5Stack Atom LiteはBluetooth Proxyとして動き始めます。


3. 部屋に設置する

Bluetooth Proxyが完成したので、USBケーブルが接続できる充電器とともに、HAから遠いBLEデバイス(温湿度計など)の近くに設置します。
いままで検知できていなかったデバイスがHAからBluetooth経由の扱いで検知できるようになるはずです。

BLEデバイスが家中に散らばっている場合は、1台で全部をカバーしようとせず複数のProxyを用意して対応しましょう。
追加する場合は、同じ手順で複数のプロキシを追加設定できますが、HA内の設定とProxy本体のテプラ等で、区別できるように名前を付けておきましょう。

設置する際は、セサミのCANDY HOUSEが販売しているHub3用のUSBケーブルが便利です。ケーブルがだらっとせずに設置可能でとにかく安いのでおすすめです。(製品ページはこちら

セサミHub3用のケーブルでつないだ様子

その他の注意点:

  • OSペアリングするイヤホンのようなデバイスとの接続はProxyの対象外です

  • 設置場所のWi-Fi自体が弱いと、中継も不安定になります


4. まとめ

今回は手軽な方法として、M5Stack Atom LiteをブラウザだけでProxy化してHAに設定しました。
これでAPI制限を気にせず、家中の温湿度データをローカルで蓄積できるようになります。家中に温湿度計を配置しましょう!

いいなと思ったら応援しよう!