Skip to main content

Watcher ソフトウェアサービスの紹介

note

この文書は AI によって翻訳されています。内容に不正確な点や改善すべき点がございましたら、文書下部のコメント欄または以下の Issue ページにてご報告ください。
https://github.com/Seeed-Studio/wiki-documents/issues

フレームワーク概要

これは Watcher のソフトウェアサービスフレームワークであり、ユーザー、SenseCraft Mate アプリ、および Watcher デバイス間の相互作用とタスクフローを図解しています。ユーザーは、データセキュリティやサービス品質の要件に基づいてサービスデプロイメントをカスタマイズできる複数の設定オプションを利用できます。

このフレームワークは、クラウド AI サービスとローカル AI デプロイメントを統合し、データサービス、デバイス通信サービス、タスクオーケストレーション、画像解析サービス、アラートチャネルエージェント、モデルトレーニングサービスを組み合わせています。
LLM をクラウドまたはオンプレミスのインフラストラクチャにデプロイすることを選択できます。また、元のデータと結果をクラウドまたはオンプレミスデバイスに保存または送信することも選択可能です。
クラウドストレージとオンプレミスストレージソリューションを比較し、GPU 対応の仮想マシン内での高性能ストレージの必要性にも対応しています。

これらのコンポーネントは、以下の3つのデプロイメントオプションを形成します:

  1. クラウド効率処理フロー
  2. ハイブリッドスマート処理フロー
  3. ローカルセキュア処理フロー

以下のセクションでは、フレームワークの詳細な説明を提供し、各デプロイメントオプションの設定方法を案内します。

データサービス

Watcher は柔軟なデータサービスを提供しており、SenseCraft データプラットフォームに接続してアラートデータ、デバイスステータス、プレビュー画像をアップロードできます。SenseCraft プラットフォームは、HTTP リクエストを通じて MQTT ブローカーアドレスとトークンを提供します。
また、アプリ上で Bluetooth 設定を使用してデータをサードパーティプラットフォームにアップロードし、SenseCraft プラットフォームを完全にバイパスすることも可能です。

デバイス通信サービス

デバイス通信に関しては、Watcher は MQTT を通じたリモートタスクフローとファームウェア OTA アップデートをサポートしています。SenseCraft Mate アプリを使用してタスクを作成し、SenseCraft プラットフォームを介してデバイスに送信できます。アプリは最新のファームウェアバージョンを確認し、利用可能な場合は通知します。確認後、プラットフォームはデバイスにアップデートを送信します。

タスクオーケストレーションサービス

Watcher のタスクオーケストレーションサービスでは、直接音声での対話が可能です。対話内容は HTTP を介してサービスに送信され、処理後にタスクフローがデバイスに返されます。SenseCraft Mate アプリもタスクフローを取得し、リモートでデバイスに送信できます。

ビジョン解析サービス

ビジョン解析に関しては、Watcher は統一された画像解析サービスを提供します。SenseCraft、OpenAI、またはサードパーティの AI エージェントを Bluetooth 設定を通じて選択し、関連する API キーを入力できます。デバイスが画像を送信すると、選択されたサービス(ローカルの llava または OpenAI などのサードパーティサービス)を利用します。

アラート通知サービス

アラート通知については、Watcher は SenseCraft クラウドからのアプリプッシュ通知、他のハードウェアへの UART 接続、ローカルサーバーやサードパーティプラットフォームへの HTTP 接続など、複数のオプションを提供します。アラートは標準データ形式を使用して Discord などのプラットフォームにも送信可能です。さらに、Watcher は Home Assistant、IFTTT、または Webhooks などの他のプラットフォームにこれらの通知を転送することもできます。詳細については、HTTP プロキシアプリケーションを参照してください。

複数のデプロイメントオプションから選択し、簡単にパーソナライズされた Watcher アシスタントを設定できます。データセキュリティを優先する場合でも、処理効率を重視する場合でも、クラウド効率処理フロー、ハイブリッドスマート処理フロー、ローカルセキュア処理フローの3つの柔軟なソリューションを提供します。最適なスマートサービス体験を提供するように Watcher アシスタントをカスタマイズしてください!

クラウド効率的処理フロー

この図はクラウド効率的処理フローの概要を示しており、ユーザー、クラウドサービス、およびローカルアプリケーション間の相互作用を説明しています。このセットアップでは、すべてのサービスが SenseCraft クラウドを通じて実行され、効率的で簡潔なワークフローを提供します。開始後、デバイスのバインディングを完了すると、ニーズに応じて適切なクラウドまたはローカルサービスを選択できます。

以下のセクションでは、クラウド効率的処理フローの各部分を説明し、その設定方法についてのガイダンスを提供します。

ステップ 1. 初期設定: セットアップを完了し、SenseCraft AI サービスを選択した後、Watcher のクラウドサービスを使用し始めることができます。

ステップ 2. ユーザーインタラクション: SenseCraft サービスを有効化し、Watcher にタスクを割り当てる方法は2つあります(詳細はセクション XXX を参照):

  • オプション 1: アプリ経由: ユーザーはモバイルアプリケーションを通じて SenseCraft AI サービスを有効化できます。その後、チャットでタスクメッセージを送信します。
  • オプション 2: 音声コマンド経由: ユーザーは音声チャットを通じて直接 Watcher にタスクを割り当てることができます。

ステップ 3. タスクオーケストレーション: SenseCraft が有効化されると、Platform-as-a-Service (PaaS) として機能し、タスクオーケストレーションサービスを提供します。これには以下の3つの主要要素が含まれます:

  • STT (Speech-to-Text): 音声コマンドをテキストに変換します。
  • TTS (Text-to-Speech): テキストベースの応答を音声出力に変換します。
  • AI サービス: タスクの理解、処理、オーケストレーションを担当します。タスクの内容に基づいて、SenseCraft モデルリポジトリから最適なモデルを選択します。これには、大規模言語モデル (LLMs) や TinyML モデルが含まれます。

手動設定でローカル TinyML モデルを選択することに加え、入力プロンプトに基づいてタスクを自動的に処理することもできます。タスクオーケストレーションモデルがプロンプトを解釈した後、SenseCraft ライブラリから適切な TinyML モデルを呼び出すことができます。例えば、ユーザーが「鳥を見たら通知して」とリクエストした場合、タスクオーケストレーションサービスは TinyML ライブラリから鳥認識モデルを選択し、応答速度を最適化します。

手動設定では、Vision LLM(高精度向け)または TinyML モデル(高速処理向け)を選択できます。

ステップ 4. オーケストレーション後のタスク配信: タスクオーケストレーションが完了すると、SenseCraft リモートコントロール機能の状態に応じてタスク配信方法が決定されます:

  • リモートコントロールが有効の場合: システムは PaaS データサービスとデバイス通信サービスを利用して、MQTT ブローカーを介して Watcher にタスク結果を送信します。
  • リモートコントロールが無効の場合: タスクは Bluetooth を介して Watcher に配信されます。デバイスが Bluetooth 範囲外の場合、タスク送信のためにリモートコントロールを有効にする必要があります。

ステップ 5. ビジョン分析タスク処理:

SenseCraft からタスクを受信した後、Watcher デバイスはビジュアル分析サービスを呼び出します。ユーザーが選択した AI モデルまたはタスクオーケストレーションサービスによって決定されたモデルを使用してタスクを分析します。

ステップ 6. システム通知: Watcher は以下の方法でユーザーまたはローカルシステムに通知を送ることができます:

  • アプリプッシュ通知
  • シリアルポート/UART 出力
  • HTTP プッシュ通知

Watcher はまた、ローカルサーバー、サードパーティアプリケーション、または Discord、Home Assistant、IFTTT などのアラートサービスにデータを送信することもできます。 詳細については、セクション HTTP Proxy Application を参照してください。

ハイブリッドスマート処理フロー

この図は、ハイブリッドスマート処理フローを示しています。このフローには、ユーザーとのインタラクション、一部のクラウドサービス、およびローカルアプリケーションが含まれます。ハイブリッドアプローチは、クラウドベースのタスクオーケストレーションとローカルのビジュアルモデルを組み合わせることで、データセキュリティ、ユーザーエクスペリエンス、効率性のバランスを取ります。

ステップ 1. 初期設定
初期設定とデバイスのバインディングを行った後、ユーザーはニーズに応じて適切なローカルサービスを選択し、プライベート Watcher サービスを有効にして、Watcher サーバーの URL を入力します。

ステップ 2. ユーザーインタラクション
ユーザーは SenseCraft アプリを介してタスクを送信できます。これにより、プラットフォーム内でタスクオーケストレーションサービスが開始されます。

ステップ 3. タスクオーケストレーション
タスクを受信すると、PaaS(Platform-as-a-Service)として機能する SenseCraft プラットフォームが、以下の3つのコアサービスを使用してタスクをオーケストレーションします:

  • STT(音声認識サービス)
  • TTS(音声合成サービス)
  • AI サービス(理解、処理、タスクオーケストレーション用)

タスクオーケストレーションサービスはタスクを解釈し、タスクの要件に応じて SenseCraft モデルライブラリまたは LLM(大規模言語モデル)から適切なモデルを選択します。

手動設定でローカルの TinyML モデルを選択することに加え、入力プロンプトに基づいてタスクを自動的に処理することも可能です。タスクオーケストレーションモデルがプロンプトを解釈した後、SenseCraft ライブラリから適切な TinyML モデルを呼び出すことができます。例えば、ユーザーが「鳥を見たら通知して」とリクエストした場合、タスクオーケストレーションサービスは TinyML ライブラリから鳥認識モデルを選択し、応答速度を最適化します。

手動設定では、Vision LLM(高精度用)または TinyML モデル(高速処理用)のいずれかを選択できます。

ステップ 4. オーケストレーション後のタスク配信
タスクオーケストレーション後、SenseCraft リモートコントロールの状態に応じて配信方法が選択されます:

  • リモートコントロールが有効な場合:システムは PaaS データサービスおよびデバイス通信サービスを使用して、MQTT ブローカーを介して Watcher にタスク結果を送信します。
  • リモートコントロールが無効な場合:タスクは Bluetooth を介して Watcher に配信されます。デバイスが Bluetooth 範囲外の場合、継続的な操作にはリモートコントロールを有効にする必要があります。

ステップ 5. ビジョン分析タスクの処理
Watcher がタスクを受信すると、ローカルサーバーにデプロイされたローカルビジュアル分析サービスを呼び出します。タスクは、ユーザーが選択した AI モデルまたは SenseCraft タスクサービスによってオーケストレーションされたモデルを使用して分析されます。

ステップ 6. システム通知
Watcher は、以下のさまざまな方法でユーザーまたはローカルシステムに通知を送ることができます:

  • アプリのプッシュ通知
  • シリアルポート/UART 出力
  • HTTP プッシュ通知

Watcher はまた、ローカルサーバー、サードパーティアプリケーション、または Discord、Home Assistant、IFTTT などのアラートサービスにデータを送信することも可能です。
詳細については、「HTTP プロキシアプリケーション」セクションを参照してください。

ローカルセキュア処理フロー

この図は「ローカルセキュア処理フロー」を示しており、ローカルに展開されたアプリケーションとの完全なユーザーインタラクションに焦点を当てています。データプライバシーを確保するために、タスクオーケストレーションおよび画像解析サービスは完全にローカルサーバー上に展開され、完全なプライバシー保護を提供します。ただし、この方法では機能が制限され、SenseCraftクラウドサービスは利用できません。タスクは現場での音声コマンドを通じてのみ開始でき、ユーザーは通知サービスを設定して履歴データを確認する必要があります。

ステップ 1. 初期設定
初期設定とデバイスバインディングを完了した後、ユーザーはニーズに応じて適切なローカルサービスを選択し、プライベートWatcherサービスを有効にしてWatcherサーバーのURLを入力します。

ステップ 2. ユーザーインタラクション
ユーザーはWatcherデバイスのホイールボタンを押してタスクを発行し、音声チャットを通じてコマンドを送信できます。

ステップ 3. タスクオーケストレーション
ローカルサーバー上にホストされたWatcherサーバーは、SenseCraftタスクオーケストレーションシステムに似たタスクオーケストレーションサービスを提供します。このローカルシステムは以下の3つのコアサービスで構成されています:

  • STT(音声認識サービス)
  • TTS(音声合成サービス)
  • タスクの理解、処理、オーケストレーションを行うAIサービス

タスクを解釈した後、ローカルのタスクオーケストレーションサービスがタスクをWatcherに配信します。

ステップ 4. ビジョン解析タスク処理
Watcherがタスクを受信すると、ローカルサーバー上に展開されたローカルビジュアル解析サービスを呼び出します。タスクは、タスクオーケストレーション中に選択されたAIモデルを使用して解析されます。

ステップ 5. システム通知
Watcherは以下の方法でユーザーまたはローカルシステムに通知を送ることができます:

  • シリアルポート/UART出力
  • HTTPプッシュ通知

さらに、Watcherはローカルサーバー、サードパーティアプリケーション、またはDiscord、Home Assistant、IFTTTなどのアラートサービスにデータを送信することができます。
詳細については、「HTTPプロキシアプリケーション」セクションを参照してください。

技術サポートと製品ディスカッション

弊社製品をお選びいただきありがとうございます!製品のご利用がスムーズに進むよう、さまざまなサポートを提供しています。異なる好みやニーズに対応するため、いくつかのコミュニケーションチャネルを用意しています。

Loading Comments...