夏天开空调又冷,不开空调又热,有无解决方法?尤其晚上睡觉,开了空调后设置半小时自动关,中间重复以往。感觉不是个事情啊……
jerkzhang
可以通过树莓派(或者PCDuino)+红外发射模块实现。十年前我实现过一次,但是年代久远,已经忘光了怎么搞的,搜了一篇教程,仅供参考。
初步考察下,我认为小爱同学、小度、天猫精灵并没有开放对开发者自主控制设备的API接口;
目前市面上有开放这类自主控制设备接口的有如下两家:
喷火的尾巴
我记得有一种智能家居的控制器,插上电,它可以在云端APP上控制各种家居;可以查查这类有没有开放REST API接口,然后你自己在服务器上写个程序,定时发送开的指令和关的指令。
补充:也就是“万能红外遥控”,类似天猫精灵(智能语音红外遥控器 )、米家万能遥控器这类,这类其实就是把各种主流品牌的电器的红外码库都记录了下来,所以可以遥控各种电器;就是不知道这类万能遥控器有没有开放控制API,如果开放了,你就可以用了我上面说的那种方法。如果没有的话,可以看看他们有没有开放网页端控制,你可以通过python + Selenium + Headless的方式,在服务器上夜里定时运行,模拟发出指令,可以达到同样效果。
再次补充:天猫精灵好像是有这类云API的
比如用python操控:
# https://github.com/aliyun/api-gateway-demo-sign-python/ # -*- coding: utf-8 -*- from com.aliyun.api.gateway.sdk import client from com.aliyun.api.gateway.sdk.http import request from com.aliyun.api.gateway.sdk.common import constant host = "https://api.link.aliyun.com" url = "/cloud/token" cli = client.DefaultClient(app_key="appKey", app_secret="appSecret") # construct request req_post = request.Request(host=host, protocol=constant.HTTP, url=url, method="POST", time_out=30000) body = '{"id":"xxx","version":"1.0","request":{"apiVer":"1.0.0"},"params":{"grantType":"project","res":"xxx"}}' req_post.set_body(bytearray(body, encoding="utf8")) req_post.set_content_type(constant.CONTENT_TYPE_STREAM) print cli.execute(req_post)
搜一下天猫精灵的相关文档即可找到。