ツールブロックの使用
デプロイフローでは、SenseCraft AI に統合された機能をワンクリックで挿入できます。これにより、アプリ作成時とエンドユーザーへのデプロイの両方が効率化されます。
AI Vision
対応ハードウェア上で、物体認識、検出、分類などのタスク向けに AI ビジョンモデルをデプロイします。推論結果は、設定に応じて MQTT、GPIO、またはシリアル(Serial)経由でリアルタイムにストリーミングできます。
このツールブロックは現在、検出 (Detection) と 分類 (Classification) をサポートしています。セグメンテーションとポーズ推定は今後のリリースで追加予定です。
対応デバイス
モデルを選択
- SenseCraft AI model: モデルライブラリから、コミュニティによって公開共有されている高品質なモデルを選択します。
- My model: 自分のプライベート保存リストからモデルを選択します。
- Upload model: サードパーティプラットフォームで学習したモデルファイルをアップロードします。モデル名、タスク種別 (Task)、モデルカテゴリ(Class ID と Class Name)、モデルファイルの添付、および対応デバイスの選択が必要です。アップロード後、モデルは My model に表示されます。
- Train model: 新しいモデルを学習する、または既存モデルから再学習するには、トレーニングエントリを開き、ウィザードに従います。完了したら Historical models を開き、Send to SenseCraft を選択し、アップロードフローを完了して結果を My model に保存します。
プライベートモデルを含むアプリケーションをコミュニティに公開すると、そのモデルは自動的にパブリックになります。
デバイスを選択
ドロップダウンから、このモデルがサポートするリストの中から実際に使用するハードウェアを選択します。
推奨パラメータ
シナリオに合わせて推論およびデバイス設定を調整します。これらの値は、デプロイ時にデバイスへデフォルト値として書き込まれます。
- Confidence threshold: モデルが最終予測を出力するかどうかの判定基準です。しきい値を上げると誤検出(偽陽性)が減る傾向があり、下げると見逃し(偽陰性)が減る傾向があります。
- IOU threshold: 検出タスクでは、IoU は予測ボックスと正解ボックスを比較します。しきい値を高くすると重なり合う物体を分離しやすくなりますが、高すぎると 1 つの物体に対して重複ボックスが出る場合があります。しきい値を低くすると重複をまとめやすくなりますが、低すぎると近接した 2 つの物体が 1 つにまとめられてしまう可能性があります。
出力モード
- None: 電源投入後、別のトリガーが動作するまで推論は開始されません。推論を必要なときだけ実行する省電力構成に適しています。
- MQTT: 電源投入直後から推論を開始し、結果を Wi-Fi 経由で MQTT 送信します。
- SenseCraft official service (recommended): アプリケーション用の Dev Kit を選択または作成すると、MQTT が自動的に設定されます。SenseCraft Data platform を開いて、受信データの閲覧と処理を行います。
- Third-party service: 自前またはサードパーティの MQTT ブローカーを使用し、パラメータを手動で設定します。
- GPIO: GPIO ピンをレベル信号で駆動します。
- Trigger conditions: オブジェクト、条件、信頼度しきい値を用いてルールを定義します。
- Trigger actions: 条件が一致したとき、デバイスはピンを High/Low にする、SD カードにキャプチャを保存する、LED を点灯するなどの動作を行えます。
- Serial: SSCMACore library を使用して、UART (GPIO)、I2C、または SPI 経由で推論データを出力します。
**UART (GPIO)**
Baud Rate Value: 921600
Data Format: 8N1
TX: GPIO43
RX: GPIO44
**I2C**
Slave Address: 0x62
SDA: GPIO5 (PULLUP)
SCL: GPIO6 (PULLUP)
Protocol:
- READ:0x10,0x01, LEN << 8, LEN & 0xff
- WRITE: 0x10,0x02, LEN << 8, LEN & 0xff
- AVAIL(to read): 0x10,0x03
- RESET(clear buffer): 0x10,0x06
**SPI**
Slave CPOL0 CPHA0
MOSI GPIO9 (PULLUP)
MISO GPIO8,
SCLK GPIO7 (PULLUP)
CS GPIO4 (PULLUP)
Protocol:
- READ:0x10,0x01, LEN << 8, LEN & 0xff
- WRITE: 0x10,0x02, LEN << 8, LEN & 0xff
- AVAIL(to read): 0x10,0x03
- RESET(clear buffer): 0x10,0x06
AI Audio
対応ハードウェア上で、音声認識向けの AI オーディオモデルをデプロイします。結果は、設定に応じて MQTT、GPIO、またはシリアル経由でストリーミングできます。
対応デバイス
モデルを選択
- SenseCraft AI model: ライブラリから、コミュニティ共有モデルを選択します。
- My model: 自分のプライベートリストから選択します。
- Upload model: サードパーティプラットフォームで学習したモデルファイルをアップロードします。モデル名とカテゴリ(Class ID と Class Name)を指定します。アップロード後、モデルは My model に表示されます。
- Train model: 新規または更新モデルを学習し、ビジョンモデルと同様に Historical models から SenseCraft へ送信します。
プライベートモデルを含むアプリケーションをコミュニティに公開すると、そのモデルは自動的にパブリックになります。
デバイスを選択
オーディオモデルは現在、XIAO ESP32S3 Sense のみをサポートしています。
推奨パラメータ
シナリオに合わせて値を微調整します。
- Confidence threshold: ビジョンの場合と同様の役割で、見逃しと誤検出のトレードオフを調整します。
- Output mode: オーディオモデルのデフォルト出力経路です。
AI Vibration
「正常」な振動を学習し、その逸脱を検知することで、振動異常検知をデプロイします。
対応デバイス
- XIAO ESP32S3 Sense(3-axis accelerometer 搭載)
推奨パラメータ
セットアップに合わせてサンプリング、電源投入時の挙動、GPIO、および出力を調整します。
- Sampling window: 単位時間あたりのサンプル数です。大きすぎると推論が遅くなり、小さすぎると正常振動を十分に学習できない可能性があります。
- Enable default power-on inference: Off の場合、電源投入時に推論は自動開始されません。省電力用途では外部トリガーを使用します。
- GPIO: 異常振動時にピンを駆動します(例:レベルを設定する、LED を点滅させるなど)。
- Output mode: 振動モデルのデフォルト出力経路です。
コンテナアプリのデプロイ
コンテナアプリケーションを数クリックでエッジデバイスにデプロイします。
注目アプリ
組み込みライブラリには、次のアプリが含まれており、今後も拡充されます。
- Home Assistant — オープンソースのホームオートメーションハブ
- Ollama — オープンソースの大規模言語モデルをエッジ上でローカル実行
- OpenClaw — コンテナ化されたエッジアプリケーションをデプロイおよび管理するためのオープンソースプラットフォーム
- reComputer AI Suite — reComputer ハードウェア向けに最適化された Computer Vision (CV)、Vision-Language Models (VLM)、Large Language Models (LLM)
M1 Gate、Raspberry Pi 4 / 5、NVIDIA Jetson、Seeed reComputer と互換性があります。
SenseCraft Fleet との連携方法
コンテナアプリは SenseCraft Fleet 上で管理され、SenseCraft AI(Applications 配下)を通じてデプロイされます:
- SenseCraft Fleet はコンテナイメージを保存する場所です。ここでイメージをアップロードし、設定スキーマを定義し、デバイスをバインドします。
- SenseCraft AI は、ライブラリからアプリを選択し、ターゲットデバイスを選び、設定して、デプロイを実行する場所です。
SenseCraft AI アカウントは SenseCraft Fleet と自動的にリンクされ、バインドされたデバイスとアプリは両プラットフォーム間で同期されます。
対応プラットフォーム
アプリはプラットフォーム固有です — イメージとターゲットデバイスは一致している必要があります:
- Linux / ARM64 — 例:Seeed reComputer、Raspberry Pi 4 / 5、NVIDIA Jetson、M1 Gate
- Linux / AMD64 — 近日対応予定
設定ワークフロー
アプリを選択: SenseCraft Fleet のアプリライブラリ(組み込みカタログ)から選択します。カスタマイズしたコンテナアプリをアップロードしたい場合は、SenseCraft Fleet から追加する必要があります。
アプリを設定: 各アプリは、作者が SenseCraft Fleet 上で定義した設定項目を公開します。特別な要件がない限り、通常は何も設定する必要はありません。
デプロイメントワークフロー
ステップ 1 — アプリを選択: Deploy Container App をクリックします。SenseCraft AI が SenseCraft Fleet からアプリライブラリ全体(組み込みカタログとアップロード済みのカスタムアプリ)を読み込み、名前・アイコン・説明付きで表示します。
ステップ 2 – デバイスをバインド: すでにバインド済みデバイスがある場合はステップ 3 に進みます。そうでない場合は、デバイスの電源を入れ、ネットワークに接続し、ハードウェアに応じて次の方法でバインドします:
- Seeed ファクトリーイメージが動作している Seeed デバイス: デバイスの CPU ID または MAC アドレス の下 6 桁を入力すると即座にバインドされます。
- ファクトリーイメージがない Seeed デバイス、またはサードパーティ製デバイス: デバイスの IP アドレスを取得し、ターミナルを開いて SSH 接続し、バインドフローに表示されるバインドコマンドを実行します。
バインドが完了すると、そのデバイスはバインド済みデバイス一覧に表示されます。
ステップ 3 — ターゲットデバイスを選択: アプリのプラットフォームと互換性のあるバインド済みデバイス一覧から選択します。非互換デバイスは自動的に除外されます。
ステップ 4 — アプリを設定: アプリ作者が公開した設定項目を入力します。コントロールタイプとデフォルト値については、上記の Configuration workflow セクションを参照してください。
ステップ 5 — ワンクリックデプロイ: Deploy をクリックします。SenseCraft AI はライブ進行状況インジケーターを表示し、各フェーズのステータスをストリーミングします。失敗した場合は、ポップアップに正確なエラー内容が表示されるので、修正して再試行できます。新しい値で再デプロイすると既存のデプロイメントが自動的に置き換えられます。
現在は単一イメージの Docker アプリに対応しています。Docker Compose(マルチコンテナアプリ)はロードマップに含まれています。
ファームウェアを書き込む
事前にコンパイルされたファームウェアバイナリを、別途フラッシュツールをインストールすることなく、ブラウザから直接 ESP32 デバイスに書き込みます。ファームウェアがすでにすべてのパラメータを組み込んでコンパイルされている場合に使用します。
対応デバイス:
- Seeed Studio XIAO ESP32C3
- Seeed Studio XIAO ESP32C6
- Seeed Studio XIAO SAMD21
- Seeed Studio XIAO ESP32S3
- Seeed Studio XIAO ESP32S3 Sense
- Seeed Studio XIAO ESP32S3 Plus
- Seeed Studio XIAO nRF52840
- Seeed Studio XIAO nRF52840 Sense
- Seeed Studio XIAO nRF52840 Plus
- Seeed Studio XIAO nRF52840 Sense Plus
- Seeed Studio XIAO RP2040
- Seeed Studio XIAO RP2350
- Seeed Studio XIAO RA4M1
- Seeed Studio XIAO MG24
- Seeed Studio XIAO MG24 Sense
- Wio Terminal (D51R) (近日対応予定)
- Seeeduino Lotus (近日対応予定)
- Grove Beginner Kit for Arduino (近日対応予定)
前提条件:
1 つにマージされた .bin ファイル。 ブートローダー、パーティション、アプリのバイナリが別々にある場合は、アップロード前にマージしてください。
- Arduino IDE 2.x: マージ済みバイナリは
Sketch → Export Compiled Binaryを実行したときに のみ 生成されます。出力された*.ino.merged.binは、.inoファイルと同じ場所のbuild/フォルダに書き込まれます。 - 旧 Arduino IDE / 手動マージ: Export Compiled Binary はブートローダー、パーティション、アプリの
.binファイルを別々に書き出します — アップロード前にesptool.py merge_binでマージしてください。Seeed Studio フォーラムのガイドを参照してください:How to export a single merged.binfile from Arduino IDE。
設定ワークフロー
- Upload firmware をクリックし、
.binファイルをアップロードします。 - プルダウンから デバイスタイプを選択 します。
デプロイメントワークフロー
- デバイスをコンピュータに接続します。
- Flash firmware をクリックします。ボタンには現在のフェーズが表示され、その下に進行状況バーとデバッグログが表示されます:シリアル接続 → デバイス検出 → 書き込み → 再起動。
- 書き込みが完了したら、プレビューウィンドウで動作を確認します。
いずれかのステップで失敗した場合は、エラーポップアップに原因が表示されるので、修正して再試行できます。
Node-RED
Node-RED ブロックは、reCamera 向けのビジュアルなロジックフローを構築するのに役立ちます。
公式リソース
対応デバイス
ワークフローの準備
Node-RED ブロックを追加した後、次のいずれかの方法でフローを設定します:
- 新しいワークフローを作成: reCamera(有線または無線)に接続し、Dashboard を開いてオンラインで編集します。
- ローカルファイルをアップロード: すでに作成済みの JSON フローをアップロードします。システムはファイルタイプを検証し、確実にパースできるようにします。
AI ビジョンモデルを選択
JSON フローにはモデルバイナリは埋め込まれません。このフローで使用するモデルを指定します:
- デバイス内蔵: reCamera にプリインストールされているモデルを使用します。分類・検出・セグメンテーション・ポーズ推定用の YOLO11n バリアントが含まれます。
- 公開モデル: 他のユーザーが reCamera 向けに共有した SenseCraft 公開モデルを参照します。
- My model: 自分のプライベートライブラリから選択します。
My model のプライベートモデルを使用してアプリを公開コミュニティに公開する場合、そのモデルも公開されます。公開前に確認のプロンプトが表示されます。
Aily Blockly
Aily Blockly はビジュアルプログラミング環境です。このブロックを使うと、Aily Blockly で作成したプログラムを、エッジデバイスにワンステップで書き込むことができます。
公式リソース
対応デバイス
- Seeed Studio XIAO ESP32C3
- Seeed Studio XIAO ESP32C6
- Seeed Studio XIAO SAMD21
- Seeed Studio XIAO ESP32S3
- Seeed Studio XIAO ESP32S3 Sense
- Seeed Studio XIAO ESP32S3 Plus
- Seeed Studio XIAO nRF52840
- Seeed Studio XIAO nRF52840 Sense
- Seeed Studio XIAO nRF52840 Plus
- Seeed Studio XIAO nRF52840 Sense Plus
- Seeed Studio XIAO RP2040
- Seeed Studio XIAO RP2350
- Seeed Studio XIAO RA4M1
- Seeed Studio XIAO MG24
- Seeed Studio XIAO MG24 Sense
- Wio Terminal (D51R)
- Seeeduino Lotus
- Grove Beginner Kit for Arduino
プロジェクト ID を紐付ける
公開されている Aily Blockly テンプレートを指すプロジェクトコードを入力します。
Project ID を取得する方法
- Aily Blockly でプロジェクトを作成し、
Build (F5)をクリックしてコンパイルします。 - コンパイルが成功したら、Cloud Space パネルを開き、
Sync this project to cloudをクリックします。 - ラベル表示された領域(
ID: …)に Project ID が表示されるので、数字のみを使用します。 - プロジェクトを変更するたびにこれらの手順を繰り返し、クラウド上のコピーを最新の状態に保ちます。
