TZ2100の音声HMIソリューションボードの真髄は、ネットに繋がなくても独自の音声コマンドを扱える点です。BSPの環境を整えておけば、わずか数分でオリジナル音声コマンドが構築できます。今回の実験室は、独自の音声コマンドを作って組み込む方法を試してみました。ぜひ、この記事を参考にして、オリジナルの音声認識システムを構築してください。
RTOS環境下で動いているので、電源投入から1秒もかからず音声入力モードになります。Linux環境下ではなし得ないレスポンスも、TZ2100の音声HMIソリューションの魅力の一つです。あなたはこれでもまだラズパイ使い続けますか?
事前準備
東芝にユーザー登録をして、BSPを入手しておきます。BSPを入手したら、Readmeの手順に従って、ビルドするためのディレクトリ構成や、FreeRTOSのパッケージを入手し、BSPで提供されているpatchを当てる必要があります。patchはWindows環境下で実行は難しいので、Cygwinなどを入れておくといいでしょう。
ビルド環境は、IARシステムズ社のIAR Embedded Workbench for Armが必要です。JTAG-ICEは、IARシステムズ社のI-Jetを利用しました。
今回は、音声入力のみ扱うため、スピーカやLCDはボードから切り離して使用しました。
辞書ツールで、独自コマンドを登録
BSP内に独自コマンドを作るためのツールが含まれています。これを利用する必要があります。今回は、以下のようなコマンドを登録してみました。
ここで登録した内容を、メニューの「Generate」で生成します。生成したデータは、「0_VDC.vtdic」というファイル名にして、指定されたフォルダに保存します。設定されたIDと紐づいているかどうかは、「View」メニューで確認できます。
今回のBSPでは、「jaJP」というフォルダにファイルを保存する方法を取っており、EWARMのプロジェクト設定で、このフォルダにある「0_VDC.vtdic」を参照するように作られています。
フラッシュに書き込み
ビルドが成功すると、実行ファイルができます。デバッグも可能ですが、書き込み方法を記します。
アクティブなファイルのダウンロードとして、ビルドした実行ファイルをダウンロードします。オンボードのSPIフラッシュに書き込まれます。その次に、「2nd_loader」というファイルをダウンロードします。
TZ2100はセキュアなブートをサポートしていますが、最初のローダーから直接アプリの起動はできません。そのため、アプリケーション部分を書き込んだ後、ローダを上書きすることで、TZ2100を安全にブートさせることができるようになります。詳細は、BSPに記載されていますので、参考にしてみてください。
アプリケーションの実行
ボード上のUSBをPCのTeraTermなどのターミナルソフトとつないで、起動してください。ボードは、リセットボタンを押すだけです。UARTには、認識可能な音声コマンドのIDが表示されます。音声を認識すると、IDが表示されます。
さらに独自で音声コマンド変更したい場合は、辞書登録 -> ビルド -> 書き込みを繰り返してもらえればと思います。
ソースコード中のIDを表示する箇所は、main.cでUARTにIDを表示する箇所がありますので、そこを修正したのみです。
こちらも是非
“もっと見る” 実験室
組み込みアプリを止めるな!printfやブレークポイントも使わず内部状態をチェック!
産業機器、オーディオ製品、通信デバイスをはじめとする多くの組み込みアプリケーションは、わずかなタイミングの違いで動きが変化します。そのため、開発・検証のためにprintfなどを仕掛けることが難しく、開発効率が伸び悩むケースも増えています。そこで今回の実験室では、システムを止める事なく内部状態を取得できるデータ計測ツール「EVRICA」を紹介いたします。組み込みアプリケーションの開発や検証に欠かせない、新しい開発ツールです。
IoTエッジコンピューティングをSmartMeshで実践
今回の実験は、Moteに内蔵されている非力なマイコンを使って、振動計測ソリューションのFFTデータをSmartMeshで送信したIoTエッジコンピューティングを実践してみました。
非絶縁型中間バスコンバータ750Wで、48Vと12Vを自由自在
VicorのNBMシリーズの最新デバイスであるNBM2317シリーズは、23×17×7mmという超小型パッケージで最大750W出力、48V→12Vまたは、12V→48Vの双方向において98%のピーク効率を実現した非絶縁型中間バスコンバータ。今回の実験室は、実際に動かしつつ、その性能とメリットを解説している。その様子は、是非動画で見て欲しい。