利用巴法云控制电脑

官方网站地址https://cloud.bemfa.com/ 

上面地址有详细说明。如果自己有服务器也可以自己利用各种语音平台提供有SDK来接入。我自己只有一个天猫精灵,所以我这里接入的天猫精灵,没有服务器所以使用现成的。就是上面的巴法云,当然这种平台其实还是挻多的。我是随便选择的一个。

对于巴法云来说接入很简单。

第一步:注意一个巴法云帐号

第二步:登陆以后找到控制台,这里有私钥。这个就是接入时的验证。

第三步:建立一个主题,当然它不是你想建立什么就建立什么的,巴法云物联网平台默认接入天猫精灵控制,仅支持以下类型的设备:插座、灯泡、风扇、传感器、空调、开关、窗帘。

用户可以自主选择是否接入天猫精灵,根据主题名字判定。

当主题名字后三位是001时为插座设备。

当主题名字后三位是002时为灯泡设备。

当主题名字后三位是003时为风扇设备。

当主题名字后三位是004时为传感器设备。

当主题名字后三位是005时为空调设备。

当主题名字后三位是006时为开关设备。

当主题名字后三位是009时为窗帘设备。

当主题名字为其他时,默认为普通主题节点,不会同步到天猫精灵app。

第四步:如果是上面和设备,打开天猫精灵的手机API,搜索 巴法云 。输入之前注册的帐号和密码即可关联设备到天猫精灵。

第五步:编写代码:

因为没有电脑,所以这里用一个笨办法,天猫精灵关联设备后是可以设置设备名的,这个样我们把它命名为 计算机  这个我们给天猫说  xxx计算机,就可以控制电脑,也不会太尴尬。

我这里建立的窗帘,所以它可以控件开关和开合。开没用,所以我实现关机和音量控制,如果用电脑 看个电影什么的,冬天不想下床关机还是可以。当然也可以组合多组设备取不同的名来控制它。

代码我使用TCP方式,没有加密。它传输的数据为字符串。首先连接到bemfa.com端口8344。

连接成功以后发送命令"cmd=1&uid=" + m_uid + "&topic=" + m_topic + "\r\n"  订阅设备消息。uid就是控制台的私钥,topic就是你建立的主题名,,当然这里可以订阅多个设备格式 cmd=1&uid=7d54f85af42976ee3c2693e6xxxxxxxx&topic=light002,outlet001,topic003\r\n这个格式可以订阅最多8个设备。发送以后就接收服务器消息,返回 cmd=1&res=1则说明订阅成功。这个时候只要向天猫精灵语音控制设备即可收到消息。

字段说明

cmd:为消息类型

cmd=1 时为订阅消息,当设备发送一次此消息类型,之后就可以收到发往该主题的消息

cmd=2 时为发布消息,向订阅该主题的设备发送消息

cmd=3 是订阅消息,和cmd=1相同,并且会拉取一次已发送过的消息

cmd=7 是获取时间,获取当前北京时间

cmd=9 为遗嘱消息,拉取一次已经发送的消息

uid:用户私钥

可在控制台获取

topic:用户主题

可以在控制台创建主题,格式为英文或数字,相当于设备标识

msg: 为消息体

用户想要发送到某个主题的数据

获取时间指令说明

type=1 获取当前日期和时间,例如:2021-06-11 17:20:54

type=2 获取当前时间,例如:17:20:54

type=3 获取当前时间戳,例如:1623403325

符号说明

\r\n: 为回车换符,每条指令后都需要有回车换行
&: 为连接符,各字段间用'&'隔离

心跳说明


发送任意数据 为心跳消息,包括上述指令也算是心跳,但要以回车换行结尾。
心跳消息是告诉服务器设备还在线,可30秒发送一次,结尾以\r\n结尾。
上一篇:mysql通过cmd命令行操作数据库,2021Android最新大厂面试真题


下一篇:CMD常用命令