サーバーインスタンス
656字程度約2分
2024-11-7
サーバーがSTARTしたら、インスタンスメソッドをHUび出して、デバイスの再起動、Wi-Fi情報更新、ローカルストレージデータの設定、デバイスの発言など、Node.jsからデバイスを操作できます。
.getClients
受信続行されているすべてのデバイスを取得するか、デバイスIDによって特定のデバイスを取得します。
例
const espAiIns = espAi({ ... });
// Get all connected devices on current server
const clients = espAiIns.getClients();
// Get one specific device by ID
const client = espAiIns.getClients("xxx-xxx-xxx-xxx");.updateClientConfig
gen_client_config。 サーバーを再起動せずにTTS/LLM/IAT設定をホットアップデートするときに便利。
const espAiIns = espAi({ ... });
espAiIns.updateClientConfig("xxx-xxx-xxx-xxx", {
tts_config: { ... },
...
});.setWifiConfig
クライアントのWi-Fiとプロビジョニングデータをサーバー側からセットします。 ハードウェアラテラルの .setWifiConfig にかなりします。
ストレージデータを更新するだけの機会は、.setLocalDataをお勧めします。
const espAiIns = espAi({ ... });
espAiIns.setWifiConfig("xxx-xxx-xxx-xxx", {
wifi_name:"",
wifi_pwd:"",
api_key:"",
ext1:"",
ext2:"",
ext3:"",
ext4:"",
ext5:"",
ext6:"",
ext7:"",
}).tts
クライアントに文を语してもらえます。
const espAiIns = espAi({ ... });
await espAiIns.tts("xxx-xxx-xxx-xxx", "Hi, I am your AI assistant!")## 。停止
IAT、TTS、LLM。
const espAiIns = espAi({ ... });
/**
* Stop session
* Usually paired with .newSession to restart a session.
*
* @param {String} device_id Device ID
* @param {String} at Description of interruption context
* @param {Boolean} stop_all Stop everything (including audio started by .tts)
*/
await espAiIns.stop("xxx-xxx-xxx-xxx", "user_interrupt", true);.newSession
新しいセッションを開始します (通常は .stop の後)、session_id を回します。
const espAiIns = espAi({ ... });
await espAiIns.newSession("xxx-xxx-xxx-xxx");.matchIntention
して実行します。 側面図。
- 章の引用、行の後ろの音、音の音、音の音、質問への答え。
const espAiIns = espAi({ ... });
await espAiIns.matchIntention("xxx-xxx-xxx-xxx", "turn on the light", "OK");## 。再起動
ターゲットデバイスを再起動します。
const espAiIns = espAi({ ... });
await espAiIns.restart("xxx-xxx-xxx-xxx");.setLocalData
設定を保存する。夤が空の字句の折、夤はクリアされます。 setWifiConfig との違反:このメソッドでは空の文字列フィールドをexpressに书き入れることができますが、setWifiConfigは空のフィールドを一括更新してスキップします。
サポートされているキー: api_key、ext1、ext2、ext3、ext4、ext5、ext6、ext7
const espAiIns = espAi({ ... });
await espAiIns.setLocalData("xxx-xxx-xxx-xxx", "ext1", "business_data");.setLLMHistorys
はい。 ビジネスするを使用する場合は、ロジックでのロールをの複数形が使用されます。。
const espAiIns = espAi({ ... });
espAiIns.setLLMHistorys("xxx-xxx-xxx-xxx", [
{ role: 'system', content: 'You are a translator. Only translate what the user says.' },
]);.getLLMHistorys
のユーザーコンテキストを入手します。 サービスは何度も切断され、置き換えられ、復旧後のシステムが復元され、初期および現在の保守システムが保存されました。。
const espAiIns = espAi({ ... });
const curHistory = espAiIns.getLLMHistorys("xxx-xxx-xxx-xxx");.isPlaying (removed in v2.74.49)
前は、デバイスが __play_music__ オーディオ (TTS ではない) を再生しているかどうかを確認するために使用されていました。
const espAiIns = espAi({ ... });
const isPlaying = espAiIns.isPlaying("xxx-xxx-xxx-xxx");
console.log(isPlaying).pinMode
ピンモードを設定します (Arduino pinMode と同じコンセプト)。
const espAiIns = espAi({ ... });
espAiIns.pinMode(
"xxx-xxx-xxx-xxx",
21,
"OUTPUT"
);
espAiIns.digitalWrite(
"xxx-xxx-xxx-xxx",
21,
"HIGH"
);.digitalWrite
デジタルピンレベルを书き込みます。 Arduino digitalWrite および同等のもの。 初期にピンを pinMode 経て OUTPUT として構成する必要があります。
普通なスケジュール:リレー制御、LED制御など。
const espAiIns = espAi({ ... });
espAiIns.pinMode("xxx-xxx-xxx-xxx", 21, "OUTPUT");
espAiIns.digitalWrite("xxx-xxx-xxx-xxx", 21, "HIGH");.digitalRead
デジタルピンのステータスを読みます。 Arduino digitalRead および同等のもの。 初期リリース INPUT。 注記:このAPIでは、最大100ミリ秒の遅延が発生します。
const espAiIns = espAi({ ... });
espAiIns.pinMode("xxx-xxx-xxx-xxx", 21, "INPUT");
instance.digitalRead(
"xxx-xxx-xxx-xxx",
21,
function(val){
console.log('Pin state changed:', val);
}
).analogWrite
PWMスタイル。 Arduino analogWrite および同等のもの。 初期設定 OUTPUT 初期設定が必要です。
普通なスケジュール:モーター速度制御、サーボ角制御など。
const espAiIns = espAi({ ... });
espAiIns.pinMode("xxx-xxx-xxx-xxx", 21, "OUTPUT");
instance.analogWrite(
"xxx-xxx-xxx-xxx",
21,
250
).analogRead
アナログエンターフォースを読みます。 Arduino analogRead および同等のもの。 注記:このAPIでは、最大100ミリ秒の遅延が発生します。
const espAiIns = espAi({ ... });
espAiIns.pinMode("xxx-xxx-xxx-xxx", 21, "INPUT");
instance.analogRead(
"xxx-xxx-xxx-xxx",
21,
function(val){
console.log('Pin value changed:', val);
}
).awaitPlayerDone
再生は終わりました。最後まで待ってください。。
const espAiIns = espAi({ ... });
await espAiIns.awaitPlayerDone("xxx-xxx-xxx-xxx");.isSpeaking
特定のデバイスが今音声を语っている/再生しているかどうかを確認します。
const espAiIns = espAi({ ... });
const isSpeaking = espAiIns.isSpeaking("xxx-xxx-xxx-xxx");
