このガイドは、SLN-VIZN-IOT キットを使用してデモ アプリケーションを作成するためのリファレンスとして意図されています。このガイドでは、SLN-VIZN-IOTキットを使用して、生体検知/なりすまし防止を使用した安全な顔認識のためのデモe-lockアプリケーションを構築します。まだの方は、 こちらから SLN-VIZN-IOT キットのスタートガイドをご覧ください。
ビルドプロセス
当社のe-lock設計は、 GPIO_AD_B0_2 と GPIO_AD_B0_03 を利用して、9ボルトのバッテリーを使用してロックを作動させるHブリッジ回路を駆動します。これらのピン(およびアース)は、次に示すように、キットの前面にあるシリアルヘッダーにあります。
e-lock を構築するために、SLN-VIZN-IOT SDK にある sln_vizn_iot_userid_oobe アプリケーションを変更します。SDK のダウンロードと userid_oobe アプリケーションのインポート手順については、 スタート ガイド の「 ソフトウェアの取得 」セクションと「 ビルドと実行 」セクションを参照してください。
次のビデオは、sln_vizn_iot_userid_oobeプロジェクトを使用してE-Lockデモを実装するために必要な変更を示しています
これらのピンをGPIOとして有効にするには、pin_mux.hを変更する必要がありますおよび pin_mux.cボードフォルダの下にあります。わかりやすくするために、これらの初期化を BOARD_InitDoorLockPins という関数に含めました。これらのピンを有効にするコードは、MCUXpresso の統合 コンフィグ ツールを使用して生成されましたが、これは必須ではありません。MCUXpresso Config Toolsの詳細については、 こちらをご覧ください。
次に、作成した ばかりの BOARD_InitDoorLockPins 関数が実際に呼び出されることを確認して、GPIO が意図したとおりに動作することを確認する必要があります。これを行うには、 main.c の main 関数内に関数呼び出しを追加します。
ドアロックの初期化をmainに追加した後、ソースフォルダの下にあるsln_system_state.cppを変更して、前の手順で設定したGPIOを切り替えるコードを追加します。そのために、「fsl_gpio.h」にあるGPIO_PinWrite関数を利用します。この関数を使用するには、「#include fsl_gpio.h」という行を追加する必要があります以下に示すように sln_system.cpp の上部にあります。
ここでのGPIO_PinWrite関数は、顔が認識されるたびにドアのロックを解除し (sysStateDetectedKnownUser)、カメラに既知のユーザーがいないときにドアをロックする (sysStateDetectedNoUser) ために使用されます。
ソフトウェアの変更が完了したら、コードをコンパイルし、更新されたファームウェアでキットをフラッシュする必要があります。これは、以下に示すように、クイックスタートパネルにある「デバッグ」オプションを使用して実行できます。プロジェクトがコンパイルされ、フラッシュされているプロジェクトが sln_vizn_iot_userid_oobe プロジェクトであることを確認するには、 クイックスタートパネルの上部に表示されているプロジェクトの名前を確認します。
SLN-VIZN-IOT のフラッシュに関する詳細な手順については、 スタート ガイド の 「ビルド」、「実行」 の「 SLN-VIZN-IoT プロジェクトのフラッシュとデバッグ 」セクションを参照してください。
ソフトウェアの変更が完了し、更新されたファームウェアがインストールされたら、あとはGPIOピンからドアロックにワイヤーを追加し、キットの電源を入れるだけです。
これで、e-lockの準備が整いました。
認識されていない顔(赤いLEDで示される)を持つユーザーがハンドルを回そうとすると、何も起こりません。
しかし、認識された顔(緑色のLEDで示される)を持つユーザーがハンドルを回そうとすると、ロックが解除され、ラッチが動きます。
まとめ
わずか数行のコードといくつかの外部ハードウェアで、SLN-VIZN-IOT を使用するだけで完全にオフラインで動作する、完全に機能するフェイスコントロールの電子ロックを作成することができました。言うまでもなく、MLの経験はまったく必要ありませんでした。
SLN-VIZN-IOTは柔軟性を念頭に置いて設計されているため、顔認識をゼロから実装するのに比べて、最小限の労力であらゆる種類のユースケースをサポートできます。キットに付属の量産対応ソフトウェアを使用することで、あらゆる種類の製品にローカル(クラウド接続は不要)の顔認識および感情認識機能を記録的な速さで追加できるようになりました。
このガイドが、SLN-VIZN-IOTの力で顔認識プロジェクトをジャンプスタートする方法を示すのに役立つことを願っています。