コンピュータ科学者、あなたに幸せな日! まったく公式ではありません。 最近、マイクロソフトの開発者コミュニティで
アンケートを実施し、多くの人が猫を飼っていることを発見しました。 そのため、本日、銃口を認識した動物用のIoTドアの作成について説明することにしました(+チュートリアル)。

プロジェクト情報
今日は、通りの入り口に猫用のドアを作ることについて話します。 これにより、家の所有者は、物体認識機能付きのモーションセンサーを使用して、ペットを自動的に出入りさせることができます。
プロジェクトで使用されるコンポーネント
ハードウェア
- Raspberry Pi 3モデルB
Raspberry Piを使用していますが、MinnowBoardも適しています。 この場合、以下の手順の「ARM」を「x86」に変更します。 - Microsoft LifeCam 3000。
どのUSBカメラでも可能です。 - PIRモーションセンサー(ユニバーサル)-2個。
- サーボプレートA-2個。
- HS-485HBサーボ-2個。
- LED(ユニバーサル)-2個。
- ペット用のドア。
- Adafruit PWM、16チャネル、12ビット/サーボドライバー-I2Cインターフェイス-PCA9685。
I2Cインターフェースを介してPWMサーボ機構を制御するために使用されます。
ソフトウェアアプリケーションとオンラインサービス
ツールとデバイス
- 3Dプリンター(ユニバーサル)
- のこぎり(ユニバーサル)
- ドリル(ユニバーサル)
プロジェクト
このプロジェクトでは、猫だけが家に入ることを許可する機械パターン認識の機能が使用されます。 ドアはモーションセンサーによって作動し、猫の顔が認識された後にのみ開きます。
次の機能でプロジェクトを補完することに興味があるかもしれません。
- 家に入ろうとした動物の写真を表示するためのユーザーインターフェイス。
- ペットが家を出て戻ってくる頻度に関する情報を表示するパネル。
- 猫の画像に基づいた分類器の追加トレーニングの可能性。
- 家へのアクセスが拒否された動物の写真付きのメッセージを送信するシステム。分類器の決定を手動で変更する機能があります。
初期設定
- 以下の手順に従って、コンピューターにRaspberry PiまたはMinnowBoardをセットアップします。
- USBカメラ、キーボード、およびマウスをデバイスに接続します。
- 以下の図に従って、PIRモーションセンサー、サーボ機構、およびLEDを接続します。 ドアの開閉にはサーボ機構が使用されます。
- 次の手順に従って、コンピューターの電源を入れ、Lightningコネクタを有効にします。

ハードウェアのセットアップ
サーボ機構の各プレートの一端をのこぎりで切断して、サーボ機構の壁と同じ高さになるようにします(下の写真を参照)。 その結果、ドアはこれらのプレートにぶつかることなく完全に開きます。

次に、LEDとモーションセンサーが配置されるペット用のドアの上部に穴を開けます。 穴はセンサーよりわずかに広くする必要があります。

最後に、必要に応じて、2つのサーボコネクタと1つのハウジングを3Dプリンターで印刷します。 このマニュアルの図は、MinnowBoardエンクロージャを示しています。
ドアとドアの反対側のサーボ機構にコネクタを取り付けます。 これで、サーボ機構がドアの開閉を制御できるようになります。

ソフトウェアのセットアップ
- コマンドラインを使用して、プロジェクトが配置されるフォルダーに移動します。
cd < >
- git cloneコマンドを実行してプロジェクトをロードします。
git clone https://github.com/ms-iot/PetDoor.git
- Visual Studio 2017を使用してダウンロードしたフォルダーからPetDoor.slnファイルを開きます。
- OpenCVライブラリをダウンロードしてコンパイルし、次の手順に従ってプロジェクトにバイナリを追加します。
- Visual Studioのトップメニューから、デバッグとARM(Raspberry PIの場合)またはデバッグとx86(MinnowBoardの場合)を選択します。
- [リモートマシン]ボタンをクリックします。 [リモート接続]ダイアログボックスで、リモートコンピューターのIPアドレスを指定します。 IPアドレスはIoTパネルに表示されます 。 こちらからダウンロードできます 。
ソフトウェアを操作する
このアプリケーションには、カメラからのビデオストリームが表示される追加のユーザーインターフェイスと、モーションセンサーのトリガーの瞬間に作成された最新の画像があります。 モニターなしで作業することもできます。 部屋で動きが検出されると、ドアが自動的に開きます。 動きが外部で観察される場合、画像はWebカメラからOpenCV画像分類器に送信され、処理されます。 分類器は、猫の顔の画像で認識されたベクトルを送信します。 データが含まれている場合、ドアが開きます。
役に立つアドバイス。各モーションセンサーに接続されたLEDは、5ボルトの供給でトリガーがトリガーされるたびに点灯します。
このプロジェクトは、オープンソース製品に関するマイクロソフト
の行動規範に基づいています。 詳細については、行動規範
に関するよくある質問をご覧になるか、さらに質問やコメントがある場合はopencode@microsoft.comにご連絡ください。
カスタムパーツ
サーボコネクタ
3Dプリンターで2つのコネクターを印刷し、ドアとドアの反対側のサーボ機構に接続する必要があります。 その結果、サーボ機構がドアの開閉を制御できるようになります。
MinnowBoard Maxエンクロージャー
このエンクロージャは、MinnowBoardをドアに固定するために使用できます。
thingiverse.comのCAD
ファイル 。