Edge ImpulseでSpresenseのカメラ画像を使ったAIモデルを作成します。ここでは、Edge Impulseにアカウントを作成し、Edge ImpulseにデバイスとしてSpresense を接続することを行います。
Edge Impulseのアカウント作成
Edge Impulseの「トップページ」から「Login」をクリックし、「Create new account」から名前、ユーザーネーム、メールアドレス、パスワードを入力して、アカウントを作成します。
Edge Impulse CLI のインストール
Edge Impulse CLI のインストールについては「Edge Impulse Installation」を参照し、 Windowsにインストールします。Edge Impulse CLI はその他に、Linux, Ubuntu, MacOS, and Raspbian OSにインストールできます。Python3およびバージョン14以上のnode.jsの環境下で、コマンドプロンプトにより次のコマンドでEdge Impulse CLI をインストールします。
npm install -g edge-impulse-cli --force
Spresenseの接続
- Sony Spresenseのファームウェアを「sony-spresense.zip」からダウンロードし、解凍してコマンドプロンプトから次のように「flash_windows.bat」を実行します。
- 次のコマンドで設定ツールを起動し、Edge Impulseのログイン情報やCOMポートの設定を行います。
- Spresenseに対してAPIキー等が行われ、SpresenseとEdge Impulseのプロジェクトの紐づけは自動的におこないます。設定が終わるとSpresenseとEdge Impulseが接続された状態になります。
- Edge Impulseのプロジェクト画面から[Devices]を開くと接続されたSpresenseが表示されます。
> flash_windows.bat If you see a ModuleNotFoundError error, run the following commands to add Python packages python -m pip install pyserial>=3.4 python -m pip install inquirer>=2.7.0 . [?] Select your device: COM4 - Silicon Labs CP210x USB to UART Bridge (COM4) COM1 - 通信ポート (COM1) > COM4 - Silicon Labs CP210x USB to UART Bridge (COM4) COM12 - com0com - serial port emulator (COM12) COM11 - com0com - serial port emulator (COM11) Using device COM4 >>> Install files ... install -b 921600 Install edge_impulse_firmware.spk |0%-----------------------------50%------------------------------100%| ###################################################################### 410880 bytes loaded. Package validation is OK. Saving package to "nuttx" updater# sync updater# Restarting the board ... reboot 続行するには何かキーを押してください . . .
>edge-impulse-daemon Edge Impulse serial daemon v1.15.1 ? What is your user name or e-mail address (edgeimpulse.com)? xxxx ? What is your password? [hidden] Endpoints: Websocket: wss://remote-mgmt.edgeimpulse.com API: https://studio.edgeimpulse.com/v1 Ingestion: https://ingestion.edgeimpulse.com ? Which device do you want to connect to? COM4 (Silicon Labs) [SER] Connecting to COM4 [SER] Serial is connected, trying to read config... [SER] Failed to get info off device Timeout when waiting for > (timeout: 5000) onConnected [SER] Serial is connected, trying to read config... [SER] Retrieved configuration [SER] Device is running AT command version 1.7.0 Setting upload host in device... OK Configuring remote management settings... OK Configuring API key in device... OK Configuring HMAC key in device... OK [SER] Device is not connected to remote management API, will use daemon [WS ] Connecting to wss://remote-mgmt.edgeimpulse.com [WS ] Connected to wss://remote-mgmt.edgeimpulse.com ? What name do you want to give this device? Spresense [WS ] Device "Spresense" is now connected to project "xx-project-1" [WS ] Go to https://studio.edgeimpulse.com/studio/130736/acquisition/training to build your machine learning model!
エラー「Failed to get info off device Error: Failed to load development keys」の発生
コマンド「edge-impulse-daemon」を実行したときに次のエラー「Failed to get info off device Error: Failed to load development keys」が発生しました。
[SER] Failed to get info off device Error: Failed to load development keys: HTTP request failed at Object.setupCliApp (C:\Users\ne\AppData\Roaming\npm\node_modules\edge-impulse-cli\build\cli\init-cli-app.js:141:19) at processTicksAndRejections (node:internal/process/task_queues:96:5) at async Timeout.connectLogic [as _onTimeout] (C:\Users\ne\AppData\Roaming\npm\node_modules\edge-impulse-cli\build\cli\daemon.js:470:44)
これは、今まで使用していた 「load development keys」が見つからないというエラーでプロジェクトを削除したときに発生するようです。次のコマンドで環境を初期化します。
>edge-impulse-daemon --clean