2 个版本

0.1.1 2021 年 8 月 25 日
0.1.0 2021 年 8 月 24 日

#21 in #smart-home

MIT 许可证

98KB
2K SLoC

SmartCast Api

crates.io Documentation Build

此库提供连接和控制 Vizio SmartCast 电视和扬声器的 API。结构体 Device 提供了与 SmartCast 设备交互的客户端。

入门

您可以使用 smartcast::discover_devices() 通过发出 SSDP 查询 或尝试使用 Device::by_ip()Device::by_uuid() 直接连接来在您的本地网络中查找 SmartCast 设备。

示例

use smartcast::Device;

async fn example_main() -> Result<(), smartcast::Error> {

    let ssdp_devices = smartcast::discover_devices().await?;

    let dev_by_ssdp = ssdp_devices[0].clone();
    let ip_addr = dev_by_ssdp.ip();
    let uuid = dev_by_ssdp.uuid();

    let dev_by_ip = Device::from_ip(ip_addr).await?;
    let dev_by_uuid = Device::from_uuid(uuid).await?;

    assert_eq!(dev_by_ssdp.name(), dev_by_ip.name());
    assert_eq!(dev_by_ssdp.name(), dev_by_uuid.name());

    Ok(())
}

任务列表

  • 连接
  • 配对
  • 获取设备状态
  • 虚拟遥控命令
  • 可读设置
  • 可写设置
  • 当前应用
  • 应用启动

依赖项

~8–24MB
~341K SLoC