语音控制智能插座

起因

一直想折腾物联网,苦于没有好的创意。近期团队找方向,本着调研+实践的方针,看了一圈开放平台和技术论坛后,开始着手实践一二。试记之,以备后查。

目标

手里有天猫精灵、小米智能插座、mac笔记本、阿里云ECS各一,希望可以通过喊一声 “打开(关闭)插座” 来控制插座的开关。

简要步骤

  1. mac上安装HomeAssistant(简称HA),参考这里

  2. 获取小米插座的token,并添加到HA中的配置文件中,参考这里,此时应该可以在mac浏览器中控制插座

  3. 将本地HA开放到公网,参考这里

    • 在阿里云ECS上配置sshd,修改/etc/ssh/sshd_config文件(sudo nano /etc/ssh/sshd_config),在末尾增加一行配置:

        * GatewayPorts clientspecified
      
    • 在mac的终端中输入

       * ssh -R 0.0.0.0:1234:127.0.0.1:8123 [email protected]
      
    • 此时应该可以通过 xxx.com:1234 访问HA并控制开关了

4.绑定天猫精灵和HA,参考这里

  1. 可以叫一声【天猫精灵,打开客厅的插座】来直接控制小米插座了

几点问题

  1. 获取小米插座的token时,网上的方法(重置插座和查看你米家APP数据库)均未果,我是通过在小米插座正常连到WiFi后,在同一个局域网的mac上输入miio discover后几秒内就搜到了token。

  2. 如果没有ECS,可以通过花生壳等将本地HA公开到公网。

  3. ssh中间会断掉,所以如果长时间使用,还需要通过一些守护脚本或专门程序来保证服务的稳定可用。

  4. 通过siri或echo音响等,也是可以实现的,不过需要单独安装其他软件或插件,具体自行搜索。

资料汇总

国外

HomeAssistant官网

国内

hachina,适合入门
hassbian,比较活跃的论坛

你可能感兴趣的:(语音控制智能插座)