スマートフォンのBluetooth近接検知でスマートオートロックドアを構築
ホームオフィスやプライベートワークショップを確保する、信頼性が高くテクノロジーに精通した方法をお探しですか?このガイドでは、Bluetooth経由であなたの存在を自動検知し、離れるとドアをロックするDIYスマートロックの作成手順を説明します。
コンセプト
スマートフォンは検出モード時に固有のBluetooth識別子を常にブロードキャストしています。Raspberry Piでこの信号を監視することで、デバイスが範囲内にあるかどうかを判断し、リレーをトリガーしてドアをロックまたはアンロックできます。
必要なもの
- Raspberry Pi – 任意のモデルで十分。シンプルさで古いModel Bを使用。ネットワーク接続(EthernetまたはWi-Fi)、SDカード、マイクロUSB電源を確保。
- Bluetooth USBアダプター – Adafruitの4.0 BLEモジュールが確実ですが、互換性のあるドングルなら何でもOK。短いピングの送信のみなので転送速度は重要視しません。
- GPIOブレークアウトボード("コブラー") – ピン接続を明確に。安価で便利。
- リレーボード – 12V/5A定格の4チャネルボードを選択。汎用モデルで約5ドルでした。
- 12/24V電磁ロック – 取り付けハードウェア付き180kg保持力のロックを約35ドルで購入。
- 12/24V電源 – ロックは外部電源から給電必須。決してPiから電源を取らないでください。
- Pythonスクリプト(Lock.py) – これをステップバイステップで開発。
Bluetoothで始める
まず、Piに必要なBluetoothパッケージをインストール。デバイス上で直接、またはSSH経由で実行可能。
sudo apt-get install bluez python-bluez
ドングルを挿入し、認識されているか確認:
hcitool dev
近くのデバイスを検出するサンプルPythonスクリプトを取得:
wget https://pybluez.googlecode.com/svn/trunk/examples/simple/inquiry.py python inquiry.py
スクリプトが「0 devices found」と報告する場合、スマホが検出モードになっているか確認。iPhoneならBluetooth設定ページを開いて有効化。
検出スクリプトの作成
detect.pyというファイルを作成し、以下のコードを追加。MACアドレスを自分のスマホの識別子に置き換えてください。
#!/usr/bin/python
import bluetooth
import time
while True:
print("Checking "+time.strftime("%a, %d %b %Y %H:%M:%S", time.gmtime()))
result = bluetooth.lookup_name('78:7F:70:38:51:1B', timeout=5)
if result:
print("User present")
else:
print("User out of range")
time.sleep(10)
スクリプトを実行してリアルタイムステータス更新を確認。10秒間隔は応答性と消費電力のバランスを取っています。バッテリー寿命が懸念される場合は、室内にいる間ループを無効化するスイッチの追加を検討してください。
GPIOボードモード
ハードウェアに合ったピン番号スキームを選択。「board」モードは物理ピン番号を使用し、「BCM」(Broadcom)はGPIOチャネル番号を参照。以下の例ではBCMを使用します。これはほとんどのブレークアウトボードと一致します。
リレーの配線
ブレークアウトボードをPiに接続: 3.3Vと5VピンをリレーのVCCとGNDにそれぞれ接続。GPIO 23をリレーの入力に配線。リレーのロジックレベル要件を確認。多くは3.3V信号を直接受け入れます。
リレーを手動でテストするには、wiringPiをインストールし、GPIO 23を出力に設定:
git clone git://git.drogon.net/wiringPi cd wiringPi ./build
gpio -g mode 23 out
ピン状態を確認:
gpio -g readall
リレーがカチッと音を立てたら、ロックを統合する準備完了。ロックの電源はPiの電源レールとは別系統にしてください。
次のステップ
検出スクリプトとGPIO制御ロジックを組み合わせて、スマホが範囲外になったときにロックをトリガー。本番展開前に制御された環境で徹底的にテストしてください。
製造プロセス
- 銀行金庫の中身:歴史、設計、セキュリティの未来
- Raspberry Piでライントラッキングセンサー – シンプルなKY-033ドア/ライン検出器
- GY-91モジュールでRaspberry Pi上に堅牢な温度・センサーAPIを構築
- デジタルピンのみでRaspberry Pi用低コスト赤外線近接センサーを構築
- Arduino Portenta H7にMAX6675でサーモカップル温度センサーを接続する
- K30 CO2センサで室内空気質をリアルタイム監視する
- ArduinoでBluetooth経由でLEDを制御 – シンプルDIYガイド
- DFRobot静電容量式指紋センサーをArduino/ESP8266で使う – 登録・認証・削除の完全ガイド
- Cypress、デュアルモードBluetooth 5.0 MCU発表 – メッシュネットワーキングでIoTデバイスとスマートフォンを橋渡し
- 誘導型近接センサー:回路設計、機能、実用応用
- Bluetoothスマートセンサーネットワーク:レンジ制限が最大の課題である理由