13994浏览
查看: 13994|回复: 10

铁熊玩创客 | Hey Siri,请告诉我传感器数据

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

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



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

直到去了上海创客嘉年华,花了 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,配置链接到这些外部文件:
  1. sensor: !include sensors.yaml
  2. script: !include scripts.yaml
  3. group: !include groups.yaml
  4. automation: !include automations.yaml
复制代码

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

file-setting.jpg

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

customize-group.jpg

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

  1.   mqtt:
  2.   broker: 127.0.0.1
  3.   port: 1883
  4.   client_id: home-assistant-1
  5.   username: pi
  6.   password: raspberry
  7.   discovery: true
复制代码

mqtt-setting.jpg

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

### sensor 设置

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

  1. - platform: mqtt  
  2.   state_topic: "livingroom/sensornode1"  
  3.   name: "Living Room Temperature"  
  4.   unit_of_measurement: "°F"  
  5.   value_template: '{{ value_json.temperature | round(1) }}'
  6.   
  7. - platform: mqtt  
  8.   state_topic: "livingroom/sensornode1"  
  9.   name: "Living Room Humidity"  
  10.   unit_of_measurement: "%"  
  11.   value_template: '{{ value_json.humidity | round(1) }}'  
  12. - platform: mqtt  
  13.   state_topic: "livingroom/sensornode1"  
  14.   name: "Living Room LDR"
  15.   unit_of_measurement: "LUX"  
  16.   value_template: '{{ value_json.ldr }}'  
  17. - platform: mqtt  
  18.   state_topic: "livingroom/sensornode1"  
  19.   name: "Living Room PIR"  
  20.   value_template: '{{ value_json.motion }}'  
  21. - platform: mqtt
  22.   state_topic: "livingroom/sensornode1"
  23.   name: "Living Room Real Feel"
  24.   unit_of_measurement: "°F"
  25.   value_template: '{{ value_json.heatIndex | round(1) }}'
复制代码


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

### 分组设置

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

  1. ####################################################################
  2. # Sensor Node Group
  3. ####################################################################
  4. living_room_sensor_node:  
  5.   name: Sensor Node  
  6.   entities:  
  7.     - sensor.living_room_temperature  
  8.     - sensor.living_room_humidity
  9.     - sensor.living_room_real_feel
  10.     - sensor.living_room_ldr  
  11.     - sensor.living_room_pir  
复制代码

### Siri 和汉化设置

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

  1. default_view:
  2.   name: Home
  3.   view: yes
  4.   entities:
  5.     - group.living_room_sensor_node
复制代码


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

hassio-default-view.jpg

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

  1. ####################################################################
  2. # Sensor Node customize
  3. ####################################################################
  4. group.living_room_sensor_node:
  5.   friendly_name: 传感器
  6.   homebridge_hidden: true
  7. sensor.living_room_temperature:
  8.   icon: mdi:temperature-celsius
  9.   friendly_name: 温度
  10.   homebridge_name: "Temperature"
  11. sensor.living_room_real_feel:
  12.   # icon: mdi:temperature-celsius
  13.   friendly_name: 体感温度
  14.   homebridge_name: "Apparent Temperature"
  15. sensor.living_room_humidity:
  16.   icon: mdi:water-percent
  17.   friendly_name: 湿度
  18.   homebridge_name: "Humidity"
  19. sensor.living_room_ldr:
  20.   icon: mdi:led-on
  21.   friendly_name: 光照强度
  22.   homebridge_name: "LDR"
  23. sensor.living_room_pir:
  24.   icon: mdi:run-fast
  25.   friendly_name: 人体运动
  26.   homebridge_name: "Motion Sensor"
复制代码

## 效果

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

sensor-view.jpg

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

siri-home.PNG


Mission Complete !!!

sensorhub.zip

24.39 KB, 下载次数: 138

传感器系统程序

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

厉害了,很全面
回复

使用道具 举报

qx1  学徒

发表于 2019-4-16 16:22:23

您好,能不能问一下你那个温湿度、光照、人体感应的传感器是在哪一家买的,我也想买一套,谢谢!
回复

使用道具 举报

铁熊  初级技神

发表于 2019-4-22 19:35:38

qx1 发表于 2019-4-16 16:22
您好,能不能问一下你那个温湿度、光照、人体感应的传感器是在哪一家买的,我也想买一套,谢谢! ...

都是在DF这边买的
回复

使用道具 举报

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

本版积分规则

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

硬件清单

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

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

mail