decole/quasar-iot

yandex quasar 的打包器,用于 Yandex Alice 远程 TTS

1.0.3 2022-05-08 21:49 UTC

This package is auto-updated.

Last update: 2024-09-09 02:41:15 UTC


README

使用 composer 安装

composer require decole/quasar-iot

需求

"php": "^7.4||^8.0",

客户端,用于 https://yandex.ru/quasar/iot/

这是一个为 Laravel 和简单 PHP 项目准备的打包器,它可以帮助您通过外部 API 发送文本消息到音频智能设备(https://yandex.ru/quasar/iot/)。带有语音助手 Alice 的音频设备将能够说出您发送的内容,而无需您的手动语音激活。

每条消息限制为 100 个字符!

我为自己制作了这个,用于语音通知和重要通知。

如果愿意,如果您使用 Laravel,您可以使用此命令发布此包的配置文件

$ php artisan vendor:publish --provider="Decole\Quasar\Adapters\Laravel\QuasarServiceProvider" --tag=config

如何找到 cookies

登录到 https://yandex.ru/quasar/iot/

在浏览器中按 F11 打开“开发者工具”

在“网络”标签页中打开任何 Fetch/XHR 请求,并在请求头中复制来自 Cookie: 的行。这个 Cookie 字符串是使这个库工作所需的。

Example coockie saving

$cookies = 'yandexuid=0000000000000000000; L=Ykkkkkkkkkk+awwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww==.1111111111.11111.111111.88888888888888888888888888888888; yandex_login=oooooooooo; yuidss=9999999999999999999; ymex=1111111111.yrts.1111111111; is_gdpr=0; is_gdpr_b=CCCCCCCCCCCC; my=YwA=; gdpr=0; _ym_uid=1111111111111111111; mda=0; amcuid=9999999999999999999; computer=1; XcfPaDInQpzKj=1; i=G4jBbeJV022E4y/HME9eMh/JJJJJJJJ+JJJJJJJ/JJJJJJJJ/ggggggggggggg+RRRRRRRRRRRRRRRRRRR+/H8dmxaI=; yp=1111111111.udn.cDDDDDDDDDDDDDDDDDDDDDDDDDD.org_id.333333333333333333.ygu.1#1111111111.spcs.l#1111111111.szm.1:111111111:1111111111111111111.los.1#1111111111.losc.0#1111111111.mcv.0#1111111111.mcl.1111111; device_id=11111111111111111111111111111111111111111; _ym_d=1111111111; skid=1111111111111111111; Cookie_check=1; instruction=1; Session_id=3:11111111111111111111111111111111111:24.1.2:1|111111111.0.2|3:111111.111111.11111111111111_111111111111; sessionid2=3:1111111111.5.0.1111111111111:111111:24.1.2:1|111111111.0.2|3:111111.111111.111111111111111111111111111; ys=udn.cccccccccccccccc#c_chck.1111111111; active-browser-timestamp=1111111111111; _ym_isad=2; _yasc=1111111111111111111111111111111111111111111111111111111111111111111www==';
$service = new QuasarClient($cookies);
$t = $service->getDevices();
dd($t); // view array data in browser

/* ------- */

// find needle deviceId to upper command and create scenario
$cookies = '...';
$deviceId = '55555555-eeee-4545-6767-dddddddddddd';
$service = new QuasarClient($cookies, 'Голос', $deviceId);
$t = $service->createScenario();
dd($t); // view string - it is $scenarioId

/* ------- */

// scenario was created, change message text by speech smart audio device
$cookies = '...';
$deviceId = '55555555-eeee-4545-6767-dddddddddddd';
$scenarioId = '44444444-ffff-4444-bebe-e8e8e8e8e8e8';
$service = new QuasarClient($cookies, 'Голос', $deviceId, $scenarioId);
$service->changeTextSpeechByScenario('Всем привет');
// and execute speech device
$service->executeSpeechByScenario();

// if need remove scenario
$service->deleteScenario();

使用此库的步骤示例

  1. 您需要将您的智能音箱添加到您的 Yandex 账户的设备中。这样您的设备就可以在 https://yandex.ru/quasar/iot/ 中被看到。
  2. 提取并保存您的账户 Cookie。此行是整个服务正常工作的必要条件。请参见上面的图片。
  3. 找到 id 列。 $service->getDevices() 方法将给您所有设备(在所有房屋和房间中)
  4. 如果尚未存在,您需要创建一个自定义脚本。例如,它可以是名为“Голос”的场景 $service->createScenario()
  5. 更改语音文本 $service->changeTextSpeechByScenario('Всем привет'); - 每条消息限制为 100 个字符
  6. 执行语音消息命令 $service->executeSpeechByScenario();
  7. 删除场景 $service->deleteScenario();

QuasarClient 方法

$service = new QuasarClient($cookies, 'Голос', $deviceId, $scenarioId);
// or
$service = new QuasarClient($cookies);
$service->setDeviceId($deviceId);
$service->setScenarioId($scenarioId);

// see all your devices
$service->getDevices();

// see all your devices filtered by <type> or <item_type>
$service->getDevices('device');

// create scenario
$service->createScenario();

// change voice message text
$service->changeTextSpeechByScenario('Всем привет');

// executing a voice message command
$service->executeSpeechByScenario();

// delete current scenario
$service->deleteScenario();

为俄罗斯人和懂俄语的人

通过 composer 安装

composer require decole/quasar-iot

要求

"php": "^7.4||^8.0",

客户端(api 包装器)用于 https://yandex.ru/quasar/iot/

为 Laravel 包装器,也可用于简单的 PHP 项目,它可以帮助您通过外部 API 发送文本消息到音频音箱(https://yandex.ru/quasar/iot/)。带有语音助手 Alice 的音箱将能够说出您发送的内容,而无需您的语音激活。

每条消息限制为 100 个字符!

我为自己制作了这个,用于语音通知和重要通知。

如果愿意,如果您使用 Laravel,您可以使用此命令发布此包的配置文件

$ php artisan vendor:publish --provider="Decole\Quasar\Adapters\Laravel\QuasarServiceProvider" --tag=config

如何找到 cookies

登录并授权 https://yandex.ru/quasar/iot/

按 F11 在您的浏览器中打开“开发者工具”

转到“网络”选项卡,打开任何 Fetch/XHR 请求,并在请求头中复制来自 Cookie: 的行。这个字符串是使这个库工作所需的。

Пример

$cookies = 'yandexuid=0000000000000000000; L=Ykkkkkkkkkk+awwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww==.1111111111.11111.111111.88888888888888888888888888888888; yandex_login=oooooooooo; yuidss=9999999999999999999; ymex=1111111111.yrts.1111111111; is_gdpr=0; is_gdpr_b=CCCCCCCCCCCC; my=YwA=; gdpr=0; _ym_uid=1111111111111111111; mda=0; amcuid=9999999999999999999; computer=1; XcfPaDInQpzKj=1; i=G4jBbeJV022E4y/HME9eMh/JJJJJJJJ+JJJJJJJ/JJJJJJJJ/ggggggggggggg+RRRRRRRRRRRRRRRRRRR+/H8dmxaI=; yp=1111111111.udn.cDDDDDDDDDDDDDDDDDDDDDDDDDD.org_id.333333333333333333.ygu.1#1111111111.spcs.l#1111111111.szm.1:111111111:1111111111111111111.los.1#1111111111.losc.0#1111111111.mcv.0#1111111111.mcl.1111111; device_id=11111111111111111111111111111111111111111; _ym_d=1111111111; skid=1111111111111111111; Cookie_check=1; instruction=1; Session_id=3:11111111111111111111111111111111111:24.1.2:1|111111111.0.2|3:111111.111111.11111111111111_111111111111; sessionid2=3:1111111111.5.0.1111111111111:111111:24.1.2:1|111111111.0.2|3:111111.111111.111111111111111111111111111; ys=udn.cccccccccccccccc#c_chck.1111111111; active-browser-timestamp=1111111111111; _ym_isad=2; _yasc=1111111111111111111111111111111111111111111111111111111111111111111www==';
$service = new QuasarClient($cookies);
$t = $service->getDevices();
dd($t); // выводим список устройств

/* ------- */

// находим нужный ID устройства, его поместим в переменную $deviceId. Мы ищем устройство - колонку. Интуитивно понятно.
$cookies = '...';
$deviceId = '55555555-eeee-4545-6767-dddddddddddd';
$service = new QuasarClient($cookies, 'Голос', $deviceId);
$t = $service->createScenario();
dd($t); // то что выведется, это id созданного сценария, помещаем в переменную $scenarioId

/* ------- */

// сценарий создан, теперь меняем текст внутри сценария, который при активации аудио колонка сама произнесет.
$cookies = '...';
$deviceId = '55555555-eeee-4545-6767-dddddddddddd';
$scenarioId = '44444444-ffff-4444-bebe-e8e8e8e8e8e8';
$service = new QuasarClient($cookies, 'Голос', $deviceId, $scenarioId);
$service->changeTextSpeechByScenario('Всем привет');
// выполняем активацию чтения нашего текста
$service->executeSpeechByScenario();

// если нужно удалить сценарий, воспользуйтесь командой ниже
$service->deleteScenario();

使用此库的步骤示例

  1. 需要将您的智能音箱添加到您的 Yandex 账户的设备中。这样您的设备就可以在 https://yandex.ru/quasar/iot/ 中被看到。
  2. 提取并保存您的账户 Cookie。此行是整个服务正常工作的必要条件。请参见上面的图片。
  3. 找到列的id。方法 $service->getDevices() 会返回所有您的设备(所有房屋和房间中的设备)
  4. 如果还没有,需要创建一个特殊场景。例如,可以创建一个名为 "语音" 的场景 $service->createScenario()
  5. 更改要朗读的文本 $service->changeTextSpeechByScenario('大家好'); - 限制在100个字符以内
  6. 执行朗读消息的命令 $service->executeSpeechByScenario();
  7. 删除场景 $service->deleteScenario();

QuasarClient 方法

$service = new QuasarClient($cookies, 'Голос', $deviceId, $scenarioId);
// или
$service = new QuasarClient($cookies);
$service->setDeviceId($deviceId);
$service->setScenarioId($scenarioId);

// посмотреть все ваши устройства
$service->getDevices();

// Посмотреть все устройства отфильтрованные по <type> или <item_type>. Смотри вывод предыдущей команды
$service->getDevices('device');

// создание сценария, с которым будет работать данная библиотека
$service->createScenario();

// изменение сообщения внутри сценария. Ограничение в 100 символов.
$service->changeTextSpeechByScenario('Всем привет');

// запустить сценарий чтения устройством данного сценария
$service->executeSpeechByScenario();

// удалить используемый сценарий
$service->deleteScenario();