Hey Siri 通过Siri远程调用插件,例如实现 HeySiri 关机
Siri Robot 使用winform做UI,使用 .Net Framework 4.8环境,没有安装4.8程序无法启动。 环境下载: https://dotnet.microsoft.com/zh-cn/download/dotnet-framework/net48
SiriWeb通过MQTTNet类库实现MQTT服务器和web接口,通过MQTT协议实现Robot和网页接口的互通
软件启动自动生成一个客户端ID,该ID唯一,主要根据这个ID来表示是哪台电脑。该ID不要泄露。
SiriWeb我部署在我自己的阿里云的小水管上,平常也不跑啥程序,还有2年到期。可以一直免费使用。
下载后什么都不用改配置,就可以直接使用,如果自己部署,在源码里的SiriWeb部署到自己的服务器上,然后把配置里面的IP改下就行了。
配置文件为 SiriRobot.dat,里面存放了一些配置信息。你也可以修改dat文件来修改自己的ID,不过ID的长度必须是32个,否则无法连接MQTT
软件默认开机启动。如果不想开机启动可在设置-系统设置里面关闭自动启动
这个Url如果在浏览器地址栏里输入,会立刻执行该插件的Execute()方法,原理在下面。
把该Url放到快捷指令里面,新建一个获取网页内容的指令
软件原理:
SiriWeb使用MQTTNet开启一个MQTT服务器,并提供发布接口 ,此接口是get请求,方便siri调用
SiriRobot订阅一个Topic到MQTT,当收到siri调用的url后执行对应的插件
相关技术:
MQTT协议
简易插件框架
不足:
一个插件就要在siri上创建一个快捷指令。
目前除了想到开机重启还没有想到有其他用途。
插件开发:(只支持C#语言)
随便建个项目继承IPlugin实现相关方法就可以可参考Plugins下的Pg.Siri.Reboot
开源地址(免币) → https://gitee.com/handloong/HeySiri/
欢迎PR自己奇怪想法的插件。
升级版本:1.0.0.1
支持插件配置页面
新增Echo插件:演示了如何获取当前插件的目录,如何配置窗口等