AIの片隅で(25) ESP-EYE、ESP32+カメラとマイク、とりあえず写真を一枚

Joseph Halfmoon

Espressif製の「AIoT」開発ボード、ESP-EYEを入手いたしました。ぶっちゃけESP32のDevkitに、カメラとマイクを搭載した小型ボードという感じです。売りは “Voice Wake-up” と “Face Recognition” です。今回は出荷時状態のまま、電源入れて、一声かけて?カメラを起動、写真を1枚キャプチャしてみました。私の中国語通じちゃう?

AIの片隅で 投稿順index

以前からAIカメラとて、K210搭載のM5StickVを使っておりました。今回入手いたしましたのは、ESP32+カメラ+マイクという構成のESP-EYEであります。メーカページへのリンクは以下に。

ESPRESSIF ESP-EYE

M5StickVは、AIアクセラレータ搭載のK210が売りですが、如何せん自分ではネットワーク接続機能を持たないので何かと不自由でした。その点、ESP32はWiFiネットワークに接続するだけでなく、自らアクセスポイントにもなるので便利。それに、ESP32のDevkitとカメラとMEMSマイクを個別に買い求めるよりもお買い得?

購入した後、上記のメーカサイトから資料をあさりましたが、大した資料は見当たらず、やはり以下のページからステップ・バイ・ステップでやっていくしかないみたいです。

ESP-EYE Getting Started Guide

開発はESP32の基本であるESP-IDF使用です。手元にも一応ESP-IDFの開発環境インストール済であった「筈」。大丈夫か。また、ESP-EYEの「AI顔認識」についてはESP-IDFに被せてESP-WHOなるレイヤがある模様。

まずはボードを拝見

ESP-EYE_Frontボードの表面には、フレキに接続されたカメラが固定されています。とりあえず簡単にプラプラするような感じではないです。資料では「OV2640の筈」ですが、OVと書かれていないのは「互換」ってことですかね。深くはつっこみますまい。下部にMEMS-MIC、I2S接続と思われるものがとりつけられています。MSM261S4030(?)かとも思われるのですが不明です。RSTとBOOTという2個のプッシュボタンとLED2個が左右に振り分けられており、赤のLEDは電源ONで光ります。白は「認識」などを知らせるためみたいです。そして右下にSPIと思われる端子のランドがあります。カメラ接続用のフレキのコネクタとホスト接続用のUSB(マイクロ)を除けば、唯一の外部出力可能な接点です。なお、左上のネジ穴はM2.5のネジなら入ります。1個だけでもネジ穴があると固定もなんとかなる?

ESP-EYE_Back裏面左にはアンテナあり、その右側のEspressifマークのついたのがESP-WROOM32だと思います。USBはCP2102です。裏面をかいつまむと、ESP32 DevkitCを小型のボードに押し込めて、拡張端子をバッサリ切ったという感じがします。カメラとマイクを除けばDevkitCのつもりでプログラムできそうな感じです。上側面にちょっと飛び出しているのは、ここで顔写真とれ、みたいなトリガに使えるらしいボタンです。

購入時に書き込まれているバイナリ

ESP-WHOという顔認識のプラットフォームのデモ用のバイナリが工場出荷時に書き込まれているようでした。そのままUSBつなげば動作します。ただし、英文版のGetting Startedを読んでも使い方は分かりません。中国語版をチラチラ眺めて「半分推測」で動かしてみました。ま、音声認識?(どこまで認識しているのか不明、すくなくともマイクは動作している)も、カメラも動作しているみたい。

まず、PCにUSB接続してUSBシリアルポートが認識されるのを待ちます。CP2102がUSBシリアルとして認識されたら、端末ソフトでそのCOMポートを開きます。115200ボーでOKでした。以下のようにずらずらとメッセージが出力されてきます。

ets Jun 8 2016 00:22:57

rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
~途中略~
I (10526) esp-eye: Please say 'Hi LeXin' to the board
I (10526) esp-eye: Version 1.0.0

最後から2行目注目です。Please say ‘Hi LeXin’ とあります。やってみました。ぼそぼそ発生した1回目はダメでしたが、2回目、元気よく

「ハイ ルーシン!」

みたいな感じで叫ぶと、以下のように動作を始めました。私の中国語?通じた?もしかすると単に何か「発声」を検出しているだけなのか?音声認識とは書いてないもんね。音声起床だもの。

hilexin DETECTED.
I (126546) app_wifi: ESP_WIFI_MODE_AP
~途中略~
I (276776) tcpip_adapter: softAP assign IP to station,IP is: 192.168.4.2

ともあれ、工場出荷時設定で、こちらのWiFiアドレスなどは一切設定していません。すると ESP-EYE側で、お得意のsoftAPが動作して自らアクセスポイントになってくれているようです。アドレスは、192.168.4.1でした。タブレットからsoftAPに接続してみます。IPアドレス 192.168.4.2がタブレットにアサインされてきました。

ここでsoftAPの以下のページに接続すると、あっけなくESP-EYEのカメラ映像がタブレットのブラウザに映し出されました。かなりコマ数の遅い荒い画像ですが動画です。

http://192.168.4.1/face_stream

中国語の説明文からすると、顔認識などできる筈ですが、本日は画像が見えたところまで。

ブラウザ画面をキャプチャしたもの。画像の左右裏返っていますな。
ESP-EYE-FirstShot_EC次回から、ボチボチと動かしてみますか。

AIの片隅で(24) EDGE IMPULSE、最初の一歩、スマホでやってみた、即登録 へ戻る

AIの片隅で(26) Googleの生成AI、Geminiにバイナリカウンタを作ってもらう へ進む