查看: 1603|回复: 8

【Hey Siri 智能家居 DIY 系列 2】当 Siri 遇见传感器

[复制链接]
本帖最后由 jarvis_chan 于 2017-10-23 21:39 编辑

这是 Hey Siri 系列的第 2 期,这一期主要专注于获取传感器数据,上一期主要专注于对外部设备的控制。上一期见:
【Hey Siri 智能家居 DIY 系列 1】Hey Siri, 打开 HAY 旋转灯:http://mc.dfrobot.com.cn/thread-26865-1-1.html

废话不多说,照例先上视频看看效果:



如果视频看不了的话,可以访问 B 站观看:https://www.bilibili.com/video/av15639935/

其实程序和硬件早就弄好了,一直躺在我家客厅的角落里,默默监测了我家环境数据一个月了,就是一直没时间设计外壳。因为如果只是做一个简单的方盒子倒是没什么难度,可是这样不好看,最近事情也比较多,所以进度就一直拖着。

直到去了上海创客嘉年华,花了 10 块钱掏到一个好物,当时眼睛就亮了,这个东西搭配我家的智能家居传感器系统简直是绝配啊!

house1.jpg

阳台上放了人体红外传感器和温湿度传感器。

house2.jpg

侧墙上放了光照强度传感器。

这篇教程需要一些前置知识和设置,请参考我的 Hey Siri 系列第一篇:http://mc.dfrobot.com.cn/thread-26865-1-1.html

下面就开始正式介绍怎么做了!由于这个房子是嘉年华淘来的,我也没有图纸,所以结构这部份大家就自己发挥了吧哈哈哈,着重介绍电路、程序和 Siri 设置。

## 传感器系统

## 传感器系统电路

传感器我用了温湿度传感器、人体红外传感器和光照强度传感器,主控用了 Wemos D1 mini,也可以用 ESP8266 NodeMCU,或者 DF 的 FireBeetle ESP8266 等,只要能够联网理论上都行的,上面这三个主控的电路连线方式基本一样,以 Wemos D1 mini 为例,电路图如下:

sensorhub-circuit.png

大家可以根据自己的需求,搭配不同的传感器,也欢迎大家将成果发上来一起交流。

## 传感器系统程序

传感器系统的程序已经在附件中上传了,如果你用的传感器跟我一样,那你就不需要更改其他地方了,只需要更改我圈出来的几个地方就好:

  • WiFi 名字
  • WiFi 密码
  • MQTT 服务器地址(也就是运行 Home Assistant 的电脑或者树莓派的地址)
  • MQTT 用户名(可以不设置,推荐设置)
  • MQTT 用户密码(可以不设置,推荐设置)

sensorhub-modify.jpg

然后烧写程序即可~

## Home Assistant 与 Siri 设置

### Home Assistant 配置文件设置

如果你在 Home Assistant 里面,跟我一样也有很多东西要控制,那么你的配置文件 configuration.yaml 就会很长,建议你新建几个文件,把不同的配置放在不同的文件中,显得清晰一些:

  • automations.yaml,用来配置一些自动化的功能,比如检测到人,自动开灯等;
  • customize.yaml,自定义配置,比如配置在 Siri 中显示的名字,以及是否汉化等;
  • group.yaml,分组配置,有时候你的传感器或者设备很多,Home Assistant 上的页面就会很乱,建议配置一下分组方便管理;
  • scripts.yaml,一些可运行脚本的配置;
  • sensors.yaml,比如今天讲的传感器,基本在这里面配置。

hass-config-file.jpg

首先,打开 configuration.yaml,配置链接到这些外部文件:

[XML] 纯文本查看 复制代码
sensor: !include sensors.yaml
script: !include scripts.yaml
group: !include groups.yaml
automation: !include automations.yaml


如下图,大家在对应的位置设置一下就好了。

file-setting.jpg

另外 customize.yaml 的配置比较特殊,是在 homeassistant 标签下的,如图:

customize-group.jpg

接下在还是在 configuration.yaml 中设置一下 MQTT:

[XML] 纯文本查看 复制代码
mqtt:
  broker: 127.0.0.1
  port: 1883
  client_id: home-assistant-1
  username: pi
  password: raspberry
  discovery: true


mqtt-setting.jpg

以上,configuration.yaml 文件就配置好了。

### sensor 设置

接下来打开 sensors.yaml 文件,加入以下配置:

[XML] 纯文本查看 复制代码
- platform: mqtt  
  state_topic: "livingroom/sensornode1"  
  name: "Living Room Temperature"  
  unit_of_measurement: "°F"  
  value_template: '{{ value_json.temperature | round(1) }}' 
  
- platform: mqtt  
  state_topic: "livingroom/sensornode1"  
  name: "Living Room Humidity"  
  unit_of_measurement: "%"  
  value_template: '{{ value_json.humidity | round(1) }}'  

- platform: mqtt  
  state_topic: "livingroom/sensornode1"  
  name: "Living Room LDR"
  unit_of_measurement: "LUX"  
  value_template: '{{ value_json.ldr }}'  

- platform: mqtt  
  state_topic: "livingroom/sensornode1"  
  name: "Living Room PIR"  
  value_template: '{{ value_json.motion }}'  

- platform: mqtt
  state_topic: "livingroom/sensornode1"
  name: "Living Room Real Feel"
  unit_of_measurement: "°F"
  value_template: '{{ value_json.heatIndex | round(1) }}'

从上至下,分别是温度传感器设置、湿度传感器设置、光照强度传感器设置、人体红外传感器设置、体感温度设置(可忽略)。

### 分组设置

打开 groups.yaml 文件,加入以下配置,将以上传感器弄到一个分组里:

[XML] 纯文本查看 复制代码
####################################################################
# Sensor Node Group
####################################################################
living_room_sensor_node:  
  name: Sensor Node  
  entities:  
    - sensor.living_room_temperature  
    - sensor.living_room_humidity
    - sensor.living_room_real_feel
    - sensor.living_room_ldr  
    - sensor.living_room_pir  


### Siri 和汉化设置

打开 customize.yaml 文件,在最顶端加入以下配置,将传感器节点显示在主页:

[XML] 纯文本查看 复制代码
default_view:
  name: Home
  view: yes
  entities:
    - group.living_room_sensor_node


如图红色圈出来部分,其他几个可以忽略,如果你有其他东西的话,也可以在此处一起加上。

hassio-default-view.jpg

然后在 customize.yaml 文件中继续加入以下配置,给这些传感器一个在网页中显示的名字(friendly_name)和在 Siri 中显示的名字(homebridge_name,我这边是英文,如果你的 Siri 设置的是中文的话,可以设置成中文)。

[XML] 纯文本查看 复制代码
####################################################################
# Sensor Node customize
####################################################################
group.living_room_sensor_node:
  friendly_name: 传感器
  homebridge_hidden: true
sensor.living_room_temperature:
  icon: mdi:temperature-celsius
  friendly_name: 温度
  homebridge_name: "Temperature"
sensor.living_room_real_feel:
  # icon: mdi:temperature-celsius
  friendly_name: 体感温度
  homebridge_name: "Apparent Temperature"
sensor.living_room_humidity:
  icon: mdi:water-percent
  friendly_name: 湿度
  homebridge_name: "Humidity"
sensor.living_room_ldr:
  icon: mdi:led-on
  friendly_name: 光照强度
  homebridge_name: "LDR"
sensor.living_room_pir:
  icon: mdi:run-fast
  friendly_name: 人体运动
  homebridge_name: "Motion Sensor"


## 效果

检查以上设置有没有问题并保存,将你的传感器系统接上电源,重启 Home Assistant,这个时候你就可以在 Home Assistant 主页面见到我圈出来的部啦~

sensor-view.jpg

然后再打开 iPhone 的“家庭” app,是不是有这些传感器啦~

siri-home.PNG


Mission Complete !!!










sensorhub.zip

24.39 KB, 下载次数: 5, 下载积分: 创造力 -1

传感器系统程序

Mingming.Zhang  中级技师

发表于 2017-10-23 14:02:14

HEY SIRI  很贴合,既不突兀又很实用。 大写加粗的 赞
回复 支持 反对

使用道具 举报

细颗粒物  高级技师

发表于 2017-10-23 19:21:40

可以啊。66666
回复 支持 反对

使用道具 举报

1973742214  中级技师

发表于 2017-10-27 21:38:51

厉害了厉害了厉害了
回复 支持 反对

使用道具 举报

Ash  管理员

发表于 2017-10-29 14:40:47

厉害厉害~
回复 支持 反对

使用道具 举报

pATAq  版主

发表于 2017-10-30 13:21:32

10块钱好便宜,支持楼主~
回复 支持 反对

使用道具 举报

gray6666  中级技匠

发表于 2017-11-2 18:16:15

这个淘宝有卖吗?
回复 支持 反对

使用道具 举报

北岛  初级技师

发表于 2017-11-9 21:16:31

厉害了 实用
回复 支持 反对

使用道具 举报

lkl0305  初级技师

发表于 2017-11-18 18:41:00

厉害了,很全面
回复 支持 反对

使用道具 举报

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

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
wifi气象站

硬件清单

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

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

QQ