コンテンツにスキップ

ツールブロック

デプロイフローでは、SenseCraft AI に統合された機能をワンクリックで挿入できます。これにより、アプリ作成時とエンドユーザーへのデプロイの両方が効率化されます。

対応ハードウェア上で、物体認識、検出、分類などのタスク向けに 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 経由で推論データを出力します。
Code
**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 オーディオモデルをデプロイします。結果は、設定に応じて 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: オーディオモデルのデフォルト出力経路です。

「正常」な振動を学習し、その逸脱を検知することで、振動異常検知をデプロイします。

セットアップに合わせてサンプリング、電源投入時の挙動、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 GateRaspberry Pi 4 / 5NVIDIA JetsonSeeed reComputer と互換性があります。

コンテナアプリは SenseCraft Fleet 上で管理され、SenseCraft AIApplications 配下)を通じてデプロイされます:

  • 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 はライブ進行状況インジケーターを表示し、各フェーズのステータスをストリーミングします。失敗した場合は、ポップアップに正確なエラー内容が表示されるので、修正して再試行できます。新しい値で再デプロイすると既存のデプロイメントが自動的に置き換えられます。

事前にコンパイルされたファームウェアバイナリを、別途フラッシュツールをインストールすることなく、ブラウザから直接 ESP32 デバイスに書き込みます。ファームウェアがすでにすべてのパラメータを組み込んでコンパイルされている場合に使用します。

対応デバイス:

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 .bin file from Arduino IDE
  1. Upload firmware をクリックし、.bin ファイルをアップロードします。
  2. プルダウンから デバイスタイプを選択 します。
  1. デバイスをコンピュータに接続します。
  2. Flash firmware をクリックします。ボタンには現在のフェーズが表示され、その下に進行状況バーとデバッグログが表示されます:シリアル接続 → デバイス検出 → 書き込み → 再起動。
  3. 書き込みが完了したら、プレビューウィンドウで動作を確認します。

いずれかのステップで失敗した場合は、エラーポップアップに原因が表示されるので、修正して再試行できます。

Node-RED ブロックは、reCamera 向けのビジュアルなロジックフローを構築するのに役立ちます。

Node-RED ブロックを追加した後、次のいずれかの方法でフローを設定します:

  1. 新しいワークフローを作成: reCamera(有線または無線)に接続し、Dashboard を開いてオンラインで編集します。
  2. ローカルファイルをアップロード: すでに作成済みの JSON フローをアップロードします。システムはファイルタイプを検証し、確実にパースできるようにします。

JSON フローにはモデルバイナリは埋め込まれません。このフローで使用するモデルを指定します:

  • デバイス内蔵: reCamera にプリインストールされているモデルを使用します。分類・検出・セグメンテーション・ポーズ推定用の YOLO11n バリアントが含まれます。
  • 公開モデル: 他のユーザーが reCamera 向けに共有した SenseCraft 公開モデルを参照します。
  • My model: 自分のプライベートライブラリから選択します。

Aily Blockly はビジュアルプログラミング環境です。このブロックを使うと、Aily Blockly で作成したプログラムを、エッジデバイスにワンステップで書き込むことができます。

公開されている Aily Blockly テンプレートを指すプロジェクトコードを入力します。

  1. Aily Blockly でプロジェクトを作成し、Build (F5) をクリックしてコンパイルします。
  2. コンパイルが成功したら、Cloud Space パネルを開き、Sync this project to cloud をクリックします。
  3. ラベル表示された領域(ID: …)に Project ID が表示されるので、数字のみを使用します。
  4. プロジェクトを変更するたびにこれらの手順を繰り返し、クラウド上のコピーを最新の状態に保ちます。
Aily Blockly の Project ID を取得する方法