MCPを使用した顔認識の拡張
概要
このガイドでは、SenseCAP Watcher(Xiaozhi)とreComputer Raspberry Piシステムを組み合わせて顔認識ワークフローをデプロイする方法を説明します。Watcherが画像をキャプチャし、内部MCPツールを使用してローカルデータベースとの顔照合のためにreComputerに送信します。
ハードウェア準備
| SenseCAP Watcher for XiaoZhi | reComputer AI R2130-12 |
|---|---|
![]() | ![]() |
前提条件
reComputer Raspberry Piシステムをインストールするには、このガイドに従ってください:reComputer R2000 系列入門ガイド
実行結果


ソースコードリポジトリ:
デプロイプロセス
ステップ1. reComputerのIPアドレスをメモする
-
reComputerをルーターなどのネットワークに接続します
-
IPアドレスを取得します。ここで使用する例のIP:192.168.24.10

ステップ2. Watcherにファームウェアをフラッシュする
-
底部ポートでType-Cケーブルを使用してPCをWatcherに接続します
-
ESP-IDF 5.5 CMD(バージョン5.5.1)を開き、適切なフォルダに移動します
-
Watcherファームウェアリポジトリをクローンします
git clone -b face_rec_api --single-branch https://github.com/suharvest/xiaozhi-esp32.git
cd xiaozhi-esp32
- reComputerとの通信用のコードセクションを見つけます
- ファイルの場所:main/boards/sensecap-watcher/sscma_camera.cc(769行目)
std::string face_rec_url = "http://192.168.10.131.80001/recognize"
-
IPアドレスをreComputerの実際のIPに変更します
std::string face_rec_url = <Your_reComputer_actual_IP>- 例

-
ファームウェアをコンパイルしてフラッシュします
idf.py set-target esp32s3
idf.py menuconfig # Select SenseCAP Watcher board
idf.py build flash
ステップ3. reComputerにSSH接続して環境を準備する
- SSH経由で接続します(必要に応じてユーザー名とIPを置き換えてください)
ssh <Your_reComputer's username>@<Your_reComputer's host IP>
# For example : ssh [email protected]
reComputerへの接続には、VS CodeのRemote - SSH拡張機能の使用をお勧めします。

- Dockerをインストールしてdockerユーザーを設定します
curl -sSL https://linuxmirrors.cn/docker.sh -o install_docker.sh
sudo bash install_docker.sh
bash <(curl -sSL https://linuxmirrors.cn/docker.sh)
sudo groupadd docker
sudo usermod -aG docker $USER
- システムソフトウェアを更新します
sudo apt update && sudo apt full-upgrade
sudo rpi-eeprom-update
- uvをインストールします
curl -LsSf https://astral.sh/uv/install.sh | sh
ステップ4. APIをクローンして依存関係を更新する
git clone https://github.com/suharvest/face_rec_api.git
cd face_rec_api/
uv sync
- DKMS、HailoRTをインストールし、設定を追加して再起動します
sudo apt-get install dkms
sudo dpkg --install hailort-4.21.0/hailort_4.21.0_arm64.deb hailort-4.21.0/hailort-pcie-driver_4.21.0_all.deb
echo "options hailo_pci force_desc_page_size=4096" | sudo tee /etc/modprobe.d/hailo_pci.conf
- HailoRTのステータスを確認します
sudo reboot
hailortcli scan
hailortcli fw-control identify
- 以下のような情報が表示されれば、ドライバーが正常にインストールされています

ステップ5. 写真を追加して顔認識サービスを開始する
- photos/フォルダに写真を配置します

- 埋め込みを生成します
uv run scripts/batch_process.py

- 実行権限を付与してサービスを開始します
chmod +x start_standalone.sh
./start_standalone.sh

-
サービスが実行中です。WatcherはreComputerと通信して、顔がデータベースに存在するかどうかを確認できます。
Ctrl + Cでサービスを停止できます。 -
次のようなプロンプトを追加できます:「人が検出されたら、顔認識ツールを使用して名前と信頼度を確認してください:信頼度が40%を超える場合は名前で挨拶し、そうでなければ一般的な挨拶をしてください。」
ステップ6. 顔データベースを更新する
- サービスを停止した後、
photos/フォルダに新しい写真を追加し、埋め込みを再生成してサービスを再起動します。
uv run scripts/batch_process.py
./start_standalone.sh
ステップ7. 顔データベースをクリアする
-
photos/フォルダ内のすべてのファイルを削除します。 -
data/フォルダ内のembedding.jsonファイルを削除します。

- クリア後、サービスを実行すると同じログが表示されます

FAQ
Q: Xiaozhi AIに顔認識APIを呼び出させるにはどうすればよいですか?
A: Watcherに「顔認識システムに私が登録されているか確認してください」のような質問をするだけです。 AIは自動的にMCPツールを呼び出して顔データベースを確認します。
Q: 顔認識システムが写真をアップロードできない場合はどうすればよいですか?
A: IPアドレスが正しく、顔認識サービスが正常に動作していることを確認してください。
Q: 顔認識システムを他のデバイスにデプロイできますか?
A: はい。デバイスがLinuxベースのシステムを実行し、ネットワークに接続できる限り、デプロイに使用できます。ただし、reComputer系列はより優れた計算性能を提供します。

