『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 107630|回复: 256

Sonoff Tasmota接入温湿度+光照+人体传感器并支持物理开关控制

  [复制链接]

32

主题

986

帖子

4233

积分

论坛元老

Rank: 8Rank: 8

积分
4233
金钱
3207
HASS币
110

教程狂人论坛风云人物

发表于 2017-9-9 21:37:49 | 显示全部楼层 |阅读模式
本帖最后由 27hh 于 2019-4-9 12:21 编辑

在本论坛中,先后有大神发出了sonoff接人体、光线的固件和整合固件,但是其所基于的固件,功能根本无法与强大的Tasmota相比。事实上,Tasmota原生支持这些传感器,我们来看看如何把它们加入,并接入HA中。
-----------------------------------------------
可用硬件:
温湿度传感器:DHT22  购买>>
光照传感器:BH1750   购买>>
人体传感器:HC-SR501  购买>>

-----------------------------------------------
在接入传感器之前,我们首先来认识针脚:


                               
登录/注册后可看大图


                               
登录/注册后可看大图



其中,3V3就是3.3V电压输出,连接传感器的正极;GND连接传感器的负极。剩下的三根针,都是数据接口,RX为GPIO3,TX为GPIO1,可以任意选择使用。
-----------------------------------------------
我们以最简单的温湿度传感器为例:



                               
登录/注册后可看大图



“+”连接3V3,“-”连接GND,“out”为数据,所以连接任意一根,这里我连接到GPIO14。
然后在sonoff的配置页面,设置GPIO14为DHT22。保存后,在主页即可看到温湿度数据。

QQ截图20170909211847.png QQ截图20170909212205.png

(欲修改温度和湿度的小数位数,可以分别在Console中执行 tempres # 和 humres #,#为小数位数,0到3。)

要将DHT22加入HA,可以如下配置sensor:
  - platform: mqtt
    name: "wendu"
    state_topic: "tele/sonoff/SENSOR"
    value_template: "{{ value_json['DHT22'].Temperature }}"
    unit_of_measurement: "°C"

  - platform: mqtt
    name: "shidu"
    state_topic: "tele/sonoff/SENSOR"
    value_template: "{{ value_json['DHT22'].Humidity }}"
    unit_of_measurement: "%"


(其中sonoff是你配置的MQTT Topic)
成果如下:

QQ截图20170909212617.png

-----------------------------------------------
接入光照传感器步骤要多一步,因为他有两条数据线:SCL 和 SDA。但是有了上面的接口对应图,操作也变得简单了。

IMG_0410.JPG

(图中多出来的一根线是留着做物理开关用的,后文会提到)
如果按照图中所示方法连线的话,那么经过这样一番设置:

QQ截图20170909213206.png

亮度也就显示出来了。


QQ截图20170909213529.png 配置接入HA:
  - platform: mqtt
    name: "liangdu"
    state_topic: "tele/sonoff/SENSOR"
    value_template: "{{ value_json['BH1750'].Illuminance }}"
    unit_of_measurement: "lux"

-----------------------------------------------
接下来是接入人体感应器:

【注:人体感应器技术参数工作电压为5V,但本人实测3.3V在低功率下(不调大功率旋钮)可以正常工作】
我们驾轻就熟地连接好线后,问题来了:SR501采用高低电平的形式来指示是否有人,Tasmota官方没有提供相应的接口。但是,当我们把它的数据接口配置为“Switch”时,我们发现,sonoff人来通电,人走断电。这样,我们就有办法了。


在Tasmota的设置界面中,设置GPIO4为Relay2,并将人体传感器的数据针脚设为Switch2。保存重启后,界面上会出现2个开关,第二个指示了人体传感器的状态。为了实现ON为有人,OFF为无人的状态表示,需要在终端里执行:
SwitchMode2 1


然后按下面配置传感器:

binary_sensor:
  - platform: mqtt
    name: "PIR"
    qos: 1
    state_topic: "stat/PIR/POWER2"
    payload_on: "ON"
    payload_off: "OFF"
    device_class: motion

即可在HA中看到此传感器了。
-----------------------------------------------
接入物理开关需要两根线,分别连接GND和一根数据针脚。这时出现了针脚冲突的问题。实际上,用于供电的3V3和GND可以并联出多股线来。
制作多股线的方法是:用针将杜邦线的黑色塑料壳的卡榫微微提起,将线和金属头抽出。将另一根杜邦线的头剪下,并剥开1.5cm的外皮,然后将其中0.5cm的部分绕在金属头的凹槽上,然后一起插回塑料壳即可。成品如下:

IMG_0413.JPG

最后,将用于物理开关的两根线与物理开关的两头相连,并在配置页面设置使用的数据针脚为Switch1。这样,你的物理开关便可以继续发挥余热了。

评分

参与人数 2金钱 +8 收起 理由
jyz_0501 + 2
+ 6 666!不过萝卜青菜,各有所爱~我还是喜欢轻.

查看全部评分

回复

使用道具 举报

32

主题

986

帖子

4233

积分

论坛元老

Rank: 8Rank: 8

积分
4233
金钱
3207
HASS币
110

教程狂人论坛风云人物

 楼主| 发表于 2017-9-9 22:17:07 | 显示全部楼层
本方法尤其适合想要控制界面、想要同时支持物理开关控制、想要更强大功能的用户使用。
回复

使用道具 举报

31

主题

188

帖子

1798

积分

论坛技术达人

积分
1798
金钱
1590
HASS币
20

教程狂人论坛风云人物

发表于 2017-9-9 23:28:57 | 显示全部楼层
感谢楼主分享。
事实上tasmota固件可以玩的还远不止这些!
指正一下:接了人体之后还可以再接物理开关哈。把gpio4改为relay2,人体的IO为Switch2.另一个IO就可以接物理开关了。   
tasmota固件除了传感器,物理开关。还可以再接继电器,接灯带实现彩灯的效果,还有特效哦。还可以设置虚拟开关以联动控制其他开关,方便实现物理双控甚至多控。  接入ws2812灯带甚至可以单独控制每一颗LDE的开关/颜色。。。。   还可以接PMW可以实现电机无极调速。。。
还有什么自锁/点动。 断电通电后接通还是断开还是记忆什么的都可以设置。扩展性相当强大!
更多好玩儿的,大家一起探讨吧
有sonoff开关的朋友们都试试吧

评分

参与人数 2金钱 +8 收起 理由
jyz_0501 + 2
27hh + 6 感谢指正!

查看全部评分

回复

使用道具 举报

32

主题

986

帖子

4233

积分

论坛元老

Rank: 8Rank: 8

积分
4233
金钱
3207
HASS币
110

教程狂人论坛风云人物

 楼主| 发表于 2017-9-9 23:37:47 | 显示全部楼层
倾微qiwe 发表于 2017-9-9 23:28
感谢楼主分享。
事实上tasmota固件可以玩的还远不止这些!
指正一下:接了人体之后还可以再接物理开关哈。 ...

真的?我马上就去试试!
回复

使用道具 举报

32

主题

986

帖子

4233

积分

论坛元老

Rank: 8Rank: 8

积分
4233
金钱
3207
HASS币
110

教程狂人论坛风云人物

 楼主| 发表于 2017-9-9 23:56:44 | 显示全部楼层
本帖最后由 27hh 于 2017-9-27 19:39 编辑

实测可用,感谢分享
回复

使用道具 举报

2

主题

129

帖子

1924

积分

金牌会员

Rank: 6Rank: 6

积分
1924
金钱
1794
HASS币
0
发表于 2017-9-10 00:58:16 | 显示全部楼层
小白前来学习
回复

使用道具 举报

2

主题

136

帖子

502

积分

高级会员

Rank: 4

积分
502
金钱
366
HASS币
0
发表于 2017-9-10 09:56:40 | 显示全部楼层
新手来学习下 感谢大神分享
回复

使用道具 举报

2

主题

302

帖子

1675

积分

金牌会员

Rank: 6Rank: 6

积分
1675
金钱
1372
HASS币
0
发表于 2017-9-10 11:36:39 | 显示全部楼层
感谢分享
回复

使用道具 举报

9

主题

256

帖子

2794

积分

金牌会员

Rank: 6Rank: 6

积分
2794
金钱
2528
HASS币
60
发表于 2017-9-10 13:07:37 来自手机 | 显示全部楼层
感谢分享
回复

使用道具 举报

32

主题

986

帖子

4233

积分

论坛元老

Rank: 8Rank: 8

积分
4233
金钱
3207
HASS币
110

教程狂人论坛风云人物

 楼主| 发表于 2017-9-15 22:09:36 | 显示全部楼层
自顶
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-24 18:02 , Processed in 0.068830 second(s), 36 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表