44032浏览
查看: 44032|回复: 51

[项目] 铁熊玩创客 | Hey Siri, 打开 HAY 旋转灯

[复制链接]
本文的主题是语音控制DIY的灯,所以先来一段语音控制智能家居炫技视频,全是DIY哦~



声音太难听,怕晚上吓到妹子们,就做了一下变声处理,好像还蛮喜感的哈哈哈。

话说上一回,我们做了一个 HAY 旋转灯:HAY,你好 ── DIY HAY旋转,自从女票有了 HAY 旋转灯之后,有一天突然问我:每次手动去开关控制亮暗好麻烦哦,可不可以语音控制啊?

当……然……可……以……啊,自己挖的坑,含着泪也要把它填完。不就是语音控制嘛,加个语音识别模块不就好了嘛~

等等,这样的话,要是以后女票让我做别的东西,是不是每个东西都要一个语音模块啦?而且简单加个语音识别模块,在女票面前好像不够**,毕竟人家是产品经理,什么“大场面”没见过啊!

有没有其他更高(zhuang)端(bi)的方法呢?对了,可以用 Siri !

网上一查,果然有相关的方法。国外大神早已写好 Home-Assistanhomebridge 开源框架,利用这两个框架,不要说用语音控制各种灯了,做出一整套智能家居控制系统都不在话下!

于是,开启了新一段的挖坑之旅……

本文由以下内容组成:

  • Home-Assistant 安装;
  • Home-Assistant 插件安装;
  • HAY 旋转灯 v2 设计;
  • Siri 语音控制设置


## Home-Assistant 安装

Home-Assistant 可以装在任何电脑上,但是装在电脑上有点浪费,我就将它装在了树莓派3上,这也是目前比较通用的做法。官方也提供了非常简便的方法:只需去 这里:Installing Hass.io下载 Home-Assistant 提供的对应树莓派镜像,然后烧录进 SD 卡,将 SD 卡插入树莓派,联网,上电,等待几分钟,duang~就完成了!是不是很简单!

要是觉得我讲的太简单了,你也可以去查看详细的 官方教程:Installing Hass.io,其实翻译****话,就是我上面那段话……

过个20分钟左右,就可以打开浏览器(推荐 Chrome)啦,地址栏输入:https://www.home-assistant.io/hassio/installation/即可以进入你的未来智能家庭控制中心啦。

铁熊玩创客 | Hey Siri, 打开 HAY 旋转灯图1


当出现如下界面时,就说明安装成功啦~

铁熊玩创客 | Hey Siri, 打开 HAY 旋转灯图2


## Home Assistant 插件(Add-ons)安装

这里推荐几个必装的 Add-ons,方便后续工作:

  • Mosquitto MQTT broker: 轻量级的物联网通信协议,必装,后面 DIY HAY 的时候就会用到这个协议。
  • SSH Server: SSH 服务,推荐安装,方便远程命令行调试。
  • Samba: Samba 服务,必装,方便后续编辑 Home Assistant 文件。


至于这几个插件的具体安装方法和功能,大家点击他们的链接即可,反正也很简单,就是 iPhone 上装 App 一样,这里就不再赘述了。

## HAY-V2 DIY

好了,前面准备环节差不多了,下面就到了正式的激动人心的 HAY v2 DIY 环节了。

### 电路

上一个版本中,我们用了 Arduino Nano 做主控,这一回,由于要联网,想用 Siri 控制,所以选择了 NodeMCU v1 做主控。NodeMCU 是一块集成了 ESP8266 芯片,可以联网的开发板,开发起来与 Arduino 比较类似。论坛里也有一些 NodeMCU 的帖子,大家可以自行搜索学习,其实很简单的啦。

NodeMCU 的功能就是通过 MQTT 协议与 Home Assistant 通信,去控制 LED,也就是 HAY 灯。

下面就是电路原理图啦,其实和上一版本基本类似,就是去掉了 IMU 模块而已。

铁熊玩创客 | Hey Siri, 打开 HAY 旋转灯图3


### 程序

程序参考了 Github 上的一个大神的程序:https://github.com/JammyDodger231/nodemcu-mqtt-rgb-led,大家可以直接去大神的 Github 上下载。也可以在文末下载。将下图中我圈出来的地方修改一下即可。

铁熊玩创客 | Hey Siri, 打开 HAY 旋转灯图4


然后将你改好的程序烧写进 NodeMCU 即可。

接下来就是至关重要的一步了,如何将他连入 Home Assistant 平台呢?

其实也很简单,在你的树莓派中,打开 Home Assistant 的配置文件 configuration.yaml,添加如下设置:

[mw_shl_code=xml,true]mqtt:
  broker: 127.0.0.1
  port: 1883
  client_id: home-assistant-1
  username: pi
  password: raspberry
  discovery: true

light:
  - platform: mqtt_json
    name: hay_lamp
    state_topic: "home/rgb1"
    command_topic: "home/rgb1/set"
    brightness: true
    rgb: true
    optimistic: false
    qos: 0[/mw_shl_code]

铁熊玩创客 | Hey Siri, 打开 HAY 旋转灯图5


然后在time_zone下面增加如下个性化设置:
[mw_shl_code=xml,true]
  customize:
    light.esprgbled:
      icon: mdi:lamp
      friendly_name: 旋转灯
      homebridge_name: 旋转灯[/mw_shl_code]

铁熊玩创客 | Hey Siri, 打开 HAY 旋转灯图6


大家嫌麻烦的话,可以直接下载我的 configuration.yaml 配置文件,覆盖原文件就好。

然后重启 Home Assistant,访问https://www.home-assistant.io/hassio/installation/,是不是出现了 HAY 旋转灯的按钮!duang~就完成啦~真的很简单哦。点击旁边的按钮,就可以控制旋转灯的开关哦~(不是说好语音控制的嘛?怎么变成在网页上手动控制啦?莫急莫急,马上就来~)

铁熊玩创客 | Hey Siri, 打开 HAY 旋转灯图7


大家可以忽略我的页面,因为我添加了很多设备。

点击“旋转灯”名字,还会出现更多的设置,包括亮度、颜色等,大家也可以自己去试一试哦~

铁熊玩创客 | Hey Siri, 打开 HAY 旋转灯图8


### 结构

因为要做成语音控制,所以上一期中 HAY 的旋转功能好像就不是很必要了,所以,我对结构做了一些微调,去掉了两个旋转卡扣,安装方法类似,大家可以参考上一起的说明,这里我就偷懒一下啦。

下面是整体效果图:

铁熊玩创客 | Hey Siri, 打开 HAY 旋转灯图9


下面是分解图:

铁熊玩创客 | Hey Siri, 打开 HAY 旋转灯图10


也可以在线查看我的设计图:https://a360.co/2wPnvS9

大家可以看到,总共4个零件,文末会提供各个下载的下载,将这些零件3D打印下来,安装即可。忘了拍视频了,大家根据上一起教程安装吧,这次比上一版本简单多了,相信以大家的智慧,一定可以顺利完成的。

## Siri 语音控制设置

接下来马上就要到了激动人心的时刻啦~请随我慢慢来~

### homebridge 安装与设置

安装完 Home Assistant 之后,我们如何用 Siri 去控制 HAY 灯呢?这里就要介绍另外一个大神写的插件了:homebridge。这是一个可以模拟 HomeKit 设备的插件,我们用它做桥接,将 Home Assistant 里面的设备与 Siri 连接起来。

接下来讲一讲如何安装,其实很简单啦~

进入 Home Assistant 后,打开侧边栏,选择 “Hass.io” 标签栏,然后选择那个购物袋类似的按钮,如下图:

铁熊玩创客 | Hey Siri, 打开 HAY 旋转灯图11


然后在箭头处填入这个网址:https://github.com/hassio-addons/repository,点击保存。

铁熊玩创客 | Hey Siri, 打开 HAY 旋转灯图12


然后就会出现如下界面,我们可以看到 Homebridge 还显示 “Not Installed”,就是还没有安装的意思。我们点进去安装一下即可。

铁熊玩创客 | Hey Siri, 打开 HAY 旋转灯图13


如果不明白怎么安装,可以参考 Home Assistant 官方安装第三方插件的方法:Installing Third-party Add-ons

或者参考这个 homebridge add-on 的官方教程:https://www.home-assistant.io/hassio/installation/

安装完后,点击 “Start” 按钮,我这边是 “Restart” ,因为已经点击过 “Start” 按钮了。

铁熊玩创客 | Hey Siri, 打开 HAY 旋转灯图14


然后在 Homebridge 页面最底部,点击 “Refresh” 按钮,直到出现如下图中的8位数字 PIN 码,可以先记在智商,待会要用。比如我这边是“741-90-907”,至此树莓派端的设置就全部完成啦~

铁熊玩创客 | Hey Siri, 打开 HAY 旋转灯图15


### iPhone 设置

首先保证你的 iPhone 和树莓派处于同一局域网内!!!

然后打开你的 iPhone 的“家庭” app,然后选择 “Add Accessory” 按钮,我的 iPhone 系统是英文,大家相应选择就好。

铁熊玩创客 | Hey Siri, 打开 HAY 旋转灯图16


此时会出现一个 “Home Assistant” 的组件,点击选择即可。

铁熊玩创客 | Hey Siri, 打开 HAY 旋转灯图17


弹出串口选择 “Add Anyway” 按钮。

铁熊玩创客 | Hey Siri, 打开 HAY 旋转灯图18


选择 “Enter Code Manually” 按钮。

铁熊玩创客 | Hey Siri, 打开 HAY 旋转灯图19


输入刚刚在 Homebridge 页面显示的8位数字 PIN 码,比如无我的是“741-90-907”,然后你的 iPhone 也设置好啦~

铁熊玩创客 | Hey Siri, 打开 HAY 旋转灯图20


设置完以后,你的“家庭” app 中应该就有旋转灯了~

铁熊玩创客 | Hey Siri, 打开 HAY 旋转灯图21


亮度调节:

铁熊玩创客 | Hey Siri, 打开 HAY 旋转灯图22


颜色调节:

铁熊玩创客 | Hey Siri, 打开 HAY 旋转灯图23


这些都没有问题的话,就可以来试一下 “嗨Siri” 了



点击上面的图片或链接,就能看视频了~

至此,本文结束,大家自己自行制作自己的“旋转灯”,另外 Home Assistant 和 homebridge 是两个很强大的平台,除了可以集成 Siri,还能集成 Amazon 的 Alexa,以及 谷歌 的音箱产品,大家也可以慢慢把玩,本文仅作抛砖引玉。

## 附件

Home Assistant 配置文件、HAY v2 程序、HAY v2结构打印文件

configuration.yaml.zip

1.25 KB, 下载次数: 532

配置文件

stl.zip

918.12 KB, 下载次数: 528

3D打印文件

hay-v2-firmware.zip

543.26 KB, 下载次数: 526

hay程序与库文件

Moncia  学徒

发表于 2017-9-19 21:35:01

本帖最后由 Moncia 于 2017-9-19 21:36 编辑
jarvis_chan 发表于 2017-9-6 17:04
这是 ESP8266 板子自带的库,不需要下载。或者你网上搜 ESP8266WIFI 也是能下载到的 ...

为什么我的ESP8266WIFI库编译不通过,下面是编译后的信息:
In file included from C:\Program Files (x86)\Arduino\libraries\ESP8266WiFi\src/ESP8266WiFi.h:33:0,

                 from C:\Users\Monica\Desktop\firmware\firmware.ino:6:

C:\Program Files (x86)\Arduino\libraries\ESP8266WiFi\src/ESP8266WiFiType.h:26:19: fatal error: queue.h: No such file or directory

#include <queue.h>

                   ^

compilation terminated.

exit status 1
为开发板 Arduino/Genuino Uno 编译时出错。
捕获.PNG
回复

使用道具 举报

求告知how改头像  学徒

发表于 2017-9-6 23:34:51

jarvis_chan 发表于 2017-9-6 22:33
方便把你的 MQTT 那部份的设置贴上来么?包括树莓派端和 8266 端的

您好,谢谢回复。MQTT协议写的是同一网络内不能有相同的ID,错误的原因在于我把8266源码里client_id设置成和configuration里的client_id一样的了,这样就导致连接后就自动断开了。。。但是我的疑问是,pi里configuration设置的是MQTT的服务端,那里面的client怎么理解呢?
回复

使用道具 举报

求告知how改头像  学徒

发表于 2017-9-6 20:52:39

请问8266 串口一直在打印
Attempting MQTT connection...connected
Attempting MQTT connection...connected
Attempting MQTT connection...connected
Attempting MQTT connection...connected
这时点开关  一秒后自己就关上了 然后灯也没点亮
这是哪出问题了呢  不应该是连接上一次就好了嘛
回复

使用道具 举报

Ash  管理员

发表于 2017-8-17 11:45:48

把你的视频插进文章里了~ 腾讯的这个插件没办法直接识别地址,需要用flash的代码。
教程好棒~ 66666666666666
回复

使用道具 举报

jarvis_chan  初级技神
 楼主|

发表于 2017-8-17 13:04:04

Ash 发表于 2017-8-17 11:45
把你的视频插进文章里了~ 腾讯的这个插件没办法直接识别地址,需要用flash的代码。
教程好棒~ 666666666666 ...

文章结尾也还有一个视频,那就麻烦大大再帮我改一下喽:lol
回复

使用道具 举报

Ash  管理员

发表于 2017-8-17 13:47:44

jarvis_chan 发表于 2017-8-17 13:04
文章结尾也还有一个视频,那就麻烦大大再帮我改一下喽

改好了~
回复

使用道具 举报

Ricky  NPC

发表于 2017-8-17 16:20:48

终于看到Home kit的应用了。  关键是最后一段siri有很大的启发性!
回复

使用道具 举报

hnyzcj  版主

发表于 2017-8-17 16:32:29

回复

使用道具 举报

#嘉诚欧巴#  高级技师

发表于 2017-8-21 11:12:37

老铁 太牛逼了
回复

使用道具 举报

jarvis_chan  初级技神
 楼主|

发表于 2017-8-21 12:13:13


嘿嘿,其实没什么难度啦,大神都做好了,我只是整合起来,写一下而已
回复

使用道具 举报

mickey  NPC

发表于 2017-8-21 17:39:03

太NB了,这个不是我一直梦寐以求的科幻场景吗?问问在稍微嘈杂的环境中识别率如何?反正我调戏siri时,感觉识别率还不太理想,也可能是我普通话不标准。
回复

使用道具 举报

jarvis_chan  初级技神
 楼主|

发表于 2017-8-21 18:54:31

mickey 发表于 2017-8-21 17:39
太NB了,这个不是我一直梦寐以求的科幻场景吗?问问在稍微嘈杂的环境中识别率如何?反正我调戏siri时,感觉 ...

中文识别不太好,英文的话,基本没有问题
回复

使用道具 举报

shmily326  初级技师

发表于 2017-8-24 00:03:29

请教一下作者大大,如果没有树莓派的话,而是有公网ip的云服务器可以吗? IOS的home里好像没有这方面的设置啊...
回复

使用道具 举报

jarvis_chan  初级技神
 楼主|

发表于 2017-8-24 11:06:54

shmily326 发表于 2017-8-24 00:03
请教一下作者大大,如果没有树莓派的话,而是有公网ip的云服务器可以吗? IOS的home里好像没有这方面的设置啊. ...

公网云服务器我没试过。理论上,你的iPhone和云服务器只要连在同一个局域网下应该都行,不过你的iPhone应该连不上人家云服务器连接的网络吧……
回复

使用道具 举报

shmily326  初级技师

发表于 2017-8-24 11:50:21

jarvis_chan 发表于 2017-8-24 11:06
公网云服务器我没试过。理论上,你的iPhone和云服务器只要连在同一个局域网下应该都行,不过你的iPhone应 ...

哈哈哈问题就在这啊,看来得入手一块pi了,感谢你的教程!
回复

使用道具 举报

dexin  中级技师

发表于 2017-8-25 23:46:44

shmily326 发表于 2017-8-24 00:03
请教一下作者大大,如果没有树莓派的话,而是有公网ip的云服务器可以吗? IOS的home里好像没有这方面的设置啊. ...

应该是只要安装Hassbian 或者安装了Home assistant homebridge的就可以使用,我是debian系统安装的。
回复

使用道具 举报

shmily326  初级技师

发表于 2017-8-27 22:21:11

dexin 发表于 2017-8-25 23:46
应该是只要安装Hassbian 或者安装了Home assistant homebridge的就可以使用,我是debian系统安装的。 ...

您好, 我的意思是在云主机上配置这个环境, 但是这样自己的iPhone就做不到和云主机在一个局域网下了呀?
回复

使用道具 举报

miaoichi  见习技师

发表于 2017-8-29 10:08:06

厉害了 顶一个
回复

使用道具 举报

visionsl  初级技匠

发表于 2017-8-29 14:55:28

马上学起来!
回复

使用道具 举报

happycool333  学徒

发表于 2017-9-3 08:26:22

home assitant 可以和小米米家智能网管集成, 可以玩很多。一起玩起来
回复

使用道具 举报

shmily  见习技师

发表于 2017-9-3 23:19:25

请问安装Home Assistant 后,打开侧边栏,为什么没有 “Hass.io” 标签栏呢
回复

使用道具 举报

jarvis_chan  初级技神
 楼主|

发表于 2017-9-4 15:05:13

shmily 发表于 2017-9-3 23:19
请问安装Home Assistant 后,打开侧边栏,为什么没有 “Hass.io” 标签栏呢

只有安装 hassio 版本的 home assistant ,侧边栏才有 hassio 的,其他方法安装的 home assistant,侧边栏是没有 hassio 的
回复

使用道具 举报

gray6666  初级技神

发表于 2017-9-6 08:13:03

牛牛。。。。。
回复

使用道具 举报

123下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail