问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

使用MQTT协议接入DHT22温湿度传感器到HomeAssistant

创作时间:
作者:
@小白创作中心

使用MQTT协议接入DHT22温湿度传感器到HomeAssistant

引用
1
来源
1.
https://www.ncnynl.com/archives/202209/5465.html

本教程将详细介绍如何使用MQTT协议将DHT22温湿度传感器接入HomeAssistant,实现家庭自动化。通过ESP8266模块和MQTT协议,我们可以更灵活地管理和监控温湿度数据。

环境准备

  • 硬件准备

  • 显示屏

  • 树莓派4B

  • DHT22温湿度传感器

  • ESP8266串口WiFi模块(NodeMCU V3)

  • 软件环境

  • esphome

  • MQTT Broker

  • HomeAssistant

硬件连接

按照以下方式连接ESP8266和DHT22传感器:

ESP8266
DHT22
D1
DATA
3V3
VCC
GND
GND

确保ESP8266通过USB线连接到树莓派4B。

启动esphome

  1. 在树莓派上安装esphome(具体安装步骤参考相关文档)。

  2. 启动esphome服务:

    cd ~
    esphome config/ dashboard
    
  3. 使用浏览器访问esphome的Web界面:http://192.168.0.xxx:6052/

添加设备

  1. 点击右下角的 "+ NEW DEVICE",填写配置文件名称为: esp8266-t94
  2. 选择ESP8266板子类型,进入下一步配置。

配置ESP8266

~/config/目录下生成一个名为esp8266-t94.yaml的配置文件,内容如下:

esphome:
  name: esp8266-t94
esp8266:
  board: nodemcuv2
logger:
mqtt:
  broker: 192.168.0.44
ota:
  password: ""
wifi:
  ssid: "xxxxx"
  password: "xxxxx"
  ap:
    ssid: "Esp8266-t94 Fallback Hotspot"
    password: "VQyWziLnZOXD"
  manual_ip:
    static_ip: 192.168.0.94
    gateway: 192.168.0.1
    subnet: 255.255.255.0
captive_portal:
web_server:
  port: 80
sensor:
- platform: dht
    pin: D1
    temperature:
      name: "Temperature"
    humidity:
      name: "Humidity"
    update_interval: 60s
    model: "DHT22"

刷写固件

  1. 选择第三种刷机方法(通过USB线连接到树莓派4B)进行固件刷写。
  2. 等待刷写完成,查看日志确认刷写成功。

整合到HomeAssistant

  1. 在HomeAssistant中添加MQTT集成:
  • 配置方式一:通过图形界面添加MQTT集成

  • 配置方式二:修改configuration.yaml文件,添加MQTT配置:

    mqtt:
      broker: 192.168.0.44
      port: 1883
      discovery: true
      discovery_prefix: homeassistant
    
  1. 启动HomeAssistant服务:

    cd ~/hass-new
    source bin/activate
    hass
    
  2. 在HomeAssistant界面中,系统会自动提示发现新设备。点击配置并提交后,即可在仪表盘中查看温湿度数据。

参考资料

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号