在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → 小米Yeelight智能灯泡控制C# API (.Net)源码教程

小米Yeelight智能灯泡控制C# API (.Net)源码教程

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:0.07M
  • 下载次数:1
  • 浏览次数:104
  • 发布时间:2024-03-17
  • 实例类别:一般编程问题
  • 发 布 人:chenxiaolan
  • 文件格式:.zip
  • 所需积分:2
 相关标签:

实例介绍

【实例简介】
YeelightAPI是一个用于控制小米Yeelight彩色灯泡的C# API (.Net)。它支持单个设备和多设备控制,包括开关、亮度调整、颜色变换等功能。

首先,确保您的Visual Studio版本是最新的,并且已经在设备上启用了“开发者模式”。通过NuGet包管理器安装最新版本的YeelightAPI即可开始。

使用时,您可以简单地创建一个新的Device对象,通过IP地址或主机名进行实例化:
Device device = new Device("hos.tna.meo.rIP");
device.Connect();
然后,您可以使用device对象来控制设备,例如:
  • 开关电源:device.SetPower(true);
  • 切换状态:device.Toggle();
  • 调整亮度级别:device.SetBrightness(100);
  • 改变颜色:device.SetRGBColor(80, 244, 255);
此外,YeelightAPI还支持颜色流功能,允许您为设备编程以实现不同的状态变化。

如果需要控制多个设备,可以使用YeelightAPI.DeviceGroup类。这个类从原生的.net List<Device>继承,并实现了IDeviceController接口,允许您以与控制单个设备相同的方式来控制多个设备。

对于设备发现,YeelightAPI提供了一个静态异步API,使您能够发现所有已连接的设备。

YeelightAPI几乎每个方法都是可等待的,返回一个Task或Task<T>,以便异步执行。当设备状态发生变化时,YeelightAPI会发送通知,并通过"OnNotificationReceived"事件接收这些通知。

【实例截图】


【核心代码】
文件清单
└── YeelightAPI-9cf6f3d0b1f75dae05aec9965c2eac17acba5bd1
    ├── LICENSE
    ├── README.md
    ├── YeelightAPI
    │   ├── Core
    │   │   ├── CommandResultHandler.cs
    │   │   ├── Constants.cs
    │   │   ├── DiscoveryResult.cs
    │   │   ├── ICommandResultHandler.cs
    │   │   ├── PropertiesDictionaryConverter.cs
    │   │   ├── PropertiesExtensions.cs
    │   │   ├── RealNameAttribute.cs
    │   │   ├── RealNameAttributeExtensions.cs
    │   │   ├── RGBColorHelper.cs
    │   │   └── TcpClientExtensions.cs
    │   ├── Device.cs
    │   ├── DeviceDiscoveryException.cs
    │   ├── DeviceGroup.cs
    │   ├── DeviceGroup.IBackgroundDeviceController.cs
    │   ├── DeviceGroup.IDeviceController.cs
    │   ├── Device.IBackgroundDeviceController.cs
    │   ├── Device.IDeviceController.cs
    │   ├── Device.IDeviceReader.cs
    │   ├── DeviceLocator.cs
    │   ├── Events
    │   │   ├── DeviceFoundEventArg.cs
    │   │   └── NotificationReceivedEventArgs.cs
    │   ├── icon.png
    │   ├── Interfaces
    │   │   ├── IBackgroundDeviceController.cs
    │   │   ├── IDeviceController.cs
    │   │   └── IDeviceReader.cs
    │   ├── Models
    │   │   ├── Adjust
    │   │   │   ├── AdjustAction.cs
    │   │   │   └── AdjustProperty.cs
    │   │   ├── ColorFlow
    │   │   │   ├── Colorflow.cs
    │   │   │   ├── ColorFlowEndAction.cs
    │   │   │   ├── ColorFlowExpression.cs
    │   │   │   ├── ColorFlowMode.cs
    │   │   │   ├── ColorFlowRGBExpression.cs
    │   │   │   ├── ColorFlowSleepExpression.cs
    │   │   │   └── ColorTemperatureFlowExpression.cs
    │   │   ├── Command.cs
    │   │   ├── CommandResult.cs
    │   │   ├── Cron
    │   │   │   ├── CronResult.cs
    │   │   │   └── CronType.cs
    │   │   ├── FluentFlow.cs
    │   │   ├── Methods.cs
    │   │   ├── Model.cs
    │   │   ├── Music
    │   │   │   └── MusicAction.cs
    │   │   ├── NotificationResult.cs
    │   │   ├── PowerOnMode.cs
    │   │   ├── Properties.cs
    │   │   └── Scene
    │   │       ├── SceneClass.cs
    │   │       └── Scene.cs
    │   ├── packages.config
    │   ├── Properties
    │   │   └── AssemblyInfo.cs
    │   ├── README.txt
    │   └── YeelightAPI.csproj
    ├── YeelightAPI.Console
    │   ├── App.config
    │   ├── packages.config
    │   ├── Program.cs
    │   └── YeelightAPI.Console.csproj
    ├── YeelightAPI.sln
    └── YeelightAPI.UnitTests
        ├── config.json
        ├── DeviceTests.cs
        ├── DiscoveryTests.cs
        ├── xunit.runner.json
        └── YeelightAPI.UnitTests.csproj

14 directories, 63 files

标签:

实例下载地址

小米Yeelight智能灯泡控制C# API (.Net)源码教程

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警