HTTPじゃ遅すぎる?SwitchBotを自作ハブで動かして学ぶBLE通信 by 越智 翔一

YAPC::Fukuoka 2025
トーク(20分)

HTTPじゃ遅すぎる?SwitchBotを自作ハブで動かして学ぶBLE通信

ochi11181101 越智 翔一 ochi11181101
5

最近、スマートホーム分野で話題になっている SwitchBot というものがあります。
私はドア開閉を楽にするために自作の顔認証プログラム( face_recognition ライブラリを使用)と組み合わせて使っています。

SwitchBot製品は、SwitchBotハブを使うことによってHTTP通信で操作できます。SwitchBotハブを購入せずに操作したい場合には、BLE(Bluetooth Low Energy)通信を用いることで操作できます。

このトークでは、BLE通信の概要とその通信の流れや仕様の詳細について、
"自作SwitchBotハブによる顔認証ロック"を題材にお伝えします。私たちソフトウェアエンジニアが慣れ親しんでいるHTTP通信との性能比較や身の回りで使われているBluetooth機器の仕組みにも触れながら詳しく説明します。

BLEについて知らない人も、BLE等の通信方式の詳細が好きな方にも興味を持っていただけるように、以下の流れでお話しする予定です。

  • 今回作成した顔認証ロックのシステム構成の概要説明(SwitchBotハブを用いた場合の構成図との比較もあり)
    • face_recognitionを用いた顔認証の仕組み
    • SwitchBotをBLE通信で操作する自作ハブの仕組み
  • ざっくりとしたHTTPとBLEの比較
  • BLEの仕様の詳細解説
    • BLEの使用定義であるプロトコルとプロファイルについて
    • 接続待ちの仕組み(アドバタイズ)
    • GATT通信
    • BLEはなぜ低レイテンシーなのか?
  • 通信を覗き見てみる(デモもしくは動画で実際に見せます)
  • 自作してどれくらいのコスト(お金)削減になったのか?
  • BLEとHTTP 経由で通信した場合のレイテンシー比較