以DHT11、ESP8266为例介绍ESPHome在Home Assistant中的应用

这篇具有很好参考价值的文章主要介绍了以DHT11、ESP8266为例介绍ESPHome在Home Assistant中的应用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

ESPHome是一个旨在使管理ESP板尽可能简单的工具,我们不用编程仅通过简单而强大的配置文件就可以控制ESP8266/ESP32系统,并可通过Home Assistant对它们进行远程控制。ESPHome支持ESP8266、ESP32、RP2040等开发平台,支持上百种传感器、控制组件,可帮助我们快速DIY智能家居系统。

ESPHome的工作原理:ESPHome读入YAML配置文件并创建自定义固件,安装到ESP设备上,ESPHome配置中添加的设备或传感器将自动显示在Home Assistant的界面中。

一、器件准备

    1、ESP8266模块(ESP-01S)

以DHT11、ESP8266为例介绍ESPHome在Home Assistant中的应用以DHT11、ESP8266为例介绍ESPHome在Home Assistant中的应用

      2、DHT11温湿度传感器模块

以DHT11、ESP8266为例介绍ESPHome在Home Assistant中的应用

     3、USB转TTL-CH340模块

以DHT11、ESP8266为例介绍ESPHome在Home Assistant中的应用以DHT11、ESP8266为例介绍ESPHome在Home Assistant中的应用

  

二、器件连接

CH340

ESP8266
烧写模式

ESP8266
工作模式

DHT11

3.3V

3.3V

3.3V

VCC

RX

TX

TX

RX

GND

GPIO0

GND

GND

GND

GND

GPIO2

DATA

三、在Home Assistant安装ESPHome

在侧边栏点击“配置”菜单,选择“加载项”进入加载项管理页面,点击屏幕右下角“加载项商店”,搜索或直接选择“ESPHome”。

以DHT11、ESP8266为例介绍ESPHome在Home Assistant中的应用

 进入ESPHome安装页面后点击“安装”按钮。等安装完成后,按上图打开那四个选项,然后点击启动(原来安装的按键位置)。

以DHT11、ESP8266为例介绍ESPHome在Home Assistant中的应用

 此时Home Assistan的侧边栏就会出现esphome的图标,点击就会打开esphome的配置页面。

以DHT11、ESP8266为例介绍ESPHome在Home Assistant中的应用

四、在ESPHome添加Esp设备

点击屏幕右下角“+ NEW DEVICE”以DHT11、ESP8266为例介绍ESPHome在Home Assistant中的应用,选择“CONTURE”,

 以DHT11、ESP8266为例介绍ESPHome在Home Assistant中的应用

 输入要创建的设备名称,点击“NEXT”

以DHT11、ESP8266为例介绍ESPHome在Home Assistant中的应用

 选择要烧写的ESP模块型号,我这里选择ESP8266,点击“NEXT”

以DHT11、ESP8266为例介绍ESPHome在Home Assistant中的应用

 这里会为每个ESPHome设备生成一个唯一的加密密钥(可直接保存,也可后期通过配置文件调阅),后期需要此密钥才能将设备添加到Home Assistant中。选择“INSTALL”。

以DHT11、ESP8266为例介绍ESPHome在Home Assistant中的应用

 这时桌面会出现以下图标

以DHT11、ESP8266为例介绍ESPHome在Home Assistant中的应用

 并出现以下界面

以DHT11、ESP8266为例介绍ESPHome在Home Assistant中的应用

五、给ESP设备刷新固件

上述界面分别提示了4种刷固件方式:

第一种,已经成功刷机后,通过wifi自动升级方式刷固件;

第二种,设备连接到本机USB,通过直连方式刷固件;

第三种,设备连接到服务器(如:树莓派)USB,在ESPHome仪表盘进行操作的方式刷固件;

第四种,通过手工下载固件,通过ESPHome的web方式刷固件。

建议先使用第三种方式下载和刷新固件,然后通过第二种方式进行远程升级刷固件。

在这里先选择“CANCEL”退出,进入ESPHome仪表盘后选择“EDIT”进行配置。

 以DHT11、ESP8266为例介绍ESPHome在Home Assistant中的应用

 原始配置如下:

esphome:
  name: esp8266-zl3

esp8266:
  board: esp01_1m

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "vVWZozV8A08B3kNuFd0LYMb6tJkRdULCdghfgtDF="

ota:
  password: "9fde296283bdad02a4d781c63k8ad154"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Esp8266-Zl2 Fallback Hotspot"
    password: "Ds4EAp1uGOgs"

captive_portal:

在这里需要新增设置固定IP、WEB控制和添加传感器等配置代码,同时按实际情况设置WIFI网络和密码,如下:

esphome:
  name: esp8266-zl2

esp8266:
  board: esp01_1m

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "vVWZozV8A08B3kNuFd0LYMb6tJkRdULCdghfgtDF="

ota:
  password: "9fde296283bdad02a4d781c63k8ad154"

wifi:  #wifi和密码
  ssid: "MyWIFI"
  password: "pass123456"

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Esp8266-Zl2 Fallback Hotspot"
    password: "UtFLBHz8SAui"

  manual_ip:                #设置固定IP
    static_ip: 192.168.0.251
    gateway: 192.168.0.1
    subnet: 255.255.255.0

captive_portal:

web_server:  ## web控制,添加了这2行,就可以在网页端打开设备ip;
  port: 80

sensor:                      #设置dht11传感器
  - platform: dht
    pin: GPIO1
    temperature:
      name: "Temperature"
    humidity:
      name: "Humidity"
    update_interval: 60s    # 数据每60s监测一次
    model: "DHT11"  

配置完成后选择右上角“SAVE”保存配置,然后即可点击“INSTALL”进行安装。这时需将之前连接好的ESP8266和DHT11传感器插入Home Assistant服务器USB接口。系统会再次进入刷固件方式界面,请选择方式三。

以DHT11、ESP8266为例介绍ESPHome在Home Assistant中的应用

选择服务器USB接口后,系统就开始刷新固件。第一次需要下载安装编译链,因此所需时间较长,以后就比较快了。

当屏幕出现以下提示,表示固件已经刷新。

INFO Reading configuration /config/esphome/esp8266-zl2.yaml...
INFO Generating C++ source...
INFO Compiling app...
Processing esp8266-zl2 (board: esp01_1m; framework: arduino; platform: platformio/espressif8266 @ 3.2.0)
--------------------------------------------------------------------------------
HARDWARE: ESP8266 80MHz, 80KB RAM, 1MB Flash
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
Dependency Graph
|-- ESPAsyncTCP-esphome @ 1.2.3
|-- ESPAsyncWebServer-esphome @ 2.1.0
|   |-- ESPAsyncTCP-esphome @ 1.2.3
|   |-- Hash @ 1.0
|   |-- ESP8266WiFi @ 1.0
|-- DNSServer @ 1.1.1
|-- ESP8266WiFi @ 1.0
|-- ESP8266mDNS @ 1.2
|-- noise-c @ 0.1.4
|   |-- libsodium @ 1.10018.1
|-- ArduinoJson @ 6.18.5
RAM:   [====      ]  42.3% (used 34636 bytes from 81920 bytes)
Flash: [=====     ]  49.4% (used 506025 bytes from 1023984 bytes)
========================= [SUCCESS] Took 8.06 seconds =========================
INFO Successfully compiled program.
esptool.py v4.4
Serial port /dev/ttyUSB0
Connecting....
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: 5c:cf:7f:8f:26:99
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
Configuring flash size...
Auto-detected Flash size: 1MB
Flash will be erased from 0x00000000 to 0x0007cfff...
Compressed 510176 bytes to 357416...
Wrote 510176 bytes (357416 compressed) at 0x00000000 in 8.3 seconds (effective 492.3 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...
INFO Successfully uploaded program.
INFO Starting log output from /dev/ttyUSB0 with baud rate 115200

 选择“STOP”退出,完成固件刷新。

这以后,就可以选择方式一通过WIFI进行固件刷新了(注意:方式一刷机仅需给ESP8266加上3.3V电源,不用接RX、TX串口线,也不用IO0接地)。

以DHT11、ESP8266为例介绍ESPHome在Home Assistant中的应用

INFO Reading configuration /config/esphome/esp8266-zl2.yaml...
INFO Generating C++ source...
INFO Compiling app...
Processing esp8266-zl2 (board: esp01_1m; framework: arduino; platform: platformio/espressif8266 @ 3.2.0)
--------------------------------------------------------------------------------
HARDWARE: ESP8266 80MHz, 80KB RAM, 1MB Flash
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
Dependency Graph
|-- ESPAsyncTCP-esphome @ 1.2.3
|-- ESPAsyncWebServer-esphome @ 2.1.0
|   |-- ESPAsyncTCP-esphome @ 1.2.3
|   |-- Hash @ 1.0
|   |-- ESP8266WiFi @ 1.0
|-- DNSServer @ 1.1.1
|-- ESP8266WiFi @ 1.0
|-- ESP8266mDNS @ 1.2
|-- noise-c @ 0.1.4
|   |-- libsodium @ 1.10018.1
|-- ArduinoJson @ 6.18.5
RAM:   [====      ]  42.3% (used 34636 bytes from 81920 bytes)
Flash: [=====     ]  49.4% (used 506025 bytes from 1023984 bytes)
========================= [SUCCESS] Took 8.07 seconds =========================
INFO Successfully compiled program.
INFO Connecting to 192.168.0.251
INFO Uploading /data/esp8266-zl2/.pioenvs/esp8266-zl2/firmware.bin (510176 bytes)
INFO Compressed to 357428 bytes
Uploading: [============================================================] 100% Done...

INFO Waiting for result...
INFO OTA successful
INFO Successfully uploaded program.
INFO Starting log output from 192.168.0.251 using esphome API
WARNING Can't connect to ESPHome API for 192.168.0.251: Timeout while connecting to ('192.168.0.251', 6053)
INFO Trying to reconnect to 192.168.0.251 in the background
INFO Successfully connected to 192.168.0.251
[22:03:58][I][app:102]: ESPHome version 2022.12.8 compiled on Feb 15 2023, 21:59:45
[22:03:58][C][wifi:504]: WiFi:
[22:03:58][C][wifi:362]:   Local MAC: 5C:CF:7F:8F:26:99
[22:03:58][C][wifi:363]:   SSID: 'YUYU'[redacted]
[22:03:58][C][wifi:364]:   IP Address: 192.168.0.251
[22:03:58][C][wifi:365]:   BSSID: B0:73:5D:6D:64:4C[redacted]
[22:03:58][C][wifi:367]:   Hostname: 'esp8266-zl2'
[22:03:58][C][wifi:369]:   Signal strength: -58 dB ▂▄▆█
[22:03:58][C][wifi:373]:   Channel: 1
[22:03:58][C][wifi:374]:   Subnet: 255.255.255.0
[22:03:58][C][wifi:375]:   Gateway: 192.168.0.1
[22:03:58][C][wifi:376]:   DNS1: 0.0.0.0
[22:03:58][C][wifi:377]:   DNS2: 0.0.0.0
[22:03:58][C][logger:293]: Logger:
[22:03:58][C][logger:294]:   Level: DEBUG
[22:03:58][C][logger:295]:   Log Baud Rate: 115200
[22:03:58][C][logger:296]:   Hardware UART: UART0
[22:03:58][C][dht:017]: DHT:
[22:03:58][C][dht:018]:   Pin: GPIO1
[22:03:58][C][dht:022]:   Model: DHT11
[22:03:58][C][dht:027]:   Update Interval: 60.0s
[22:03:58][C][dht:029]:   Temperature 'Temperature'
[22:03:58][C][dht:029]:     Device Class: 'temperature'
[22:03:58][C][dht:029]:     State Class: 'measurement'
[22:03:58][C][dht:029]:     Unit of Measurement: '°C'
[22:03:58][C][dht:029]:     Accuracy Decimals: 1
[22:03:58][C][dht:030]:   Humidity 'Humidity'
[22:03:58][C][dht:030]:     Device Class: 'humidity'
[22:03:58][C][dht:030]:     State Class: 'measurement'
[22:03:58][C][dht:030]:     Unit of Measurement: '%'
[22:03:58][C][dht:030]:     Accuracy Decimals: 0
[22:03:58][C][captive_portal:088]: Captive Portal:
[22:03:58][C][web_server:125]: Web Server:
[22:03:58][C][web_server:126]:   Address: 192.168.0.251:80
[22:03:58][C][mdns:103]: mDNS:
[22:03:58][C][mdns:104]:   Hostname: esp8266-zl2
[22:03:58][C][ota:093]: Over-The-Air Updates:
[22:03:58][C][ota:094]:   Address: 192.168.0.251:8266
[22:03:58][C][ota:097]:   Using Password.
[22:03:58][C][api:138]: API Server:
[22:03:58][C][api:139]:   Address: 192.168.0.251:6053
[22:03:58][C][api:141]:   Using noise encryption: YES
[22:04:31][D][dht:048]: Got Temperature=15.0°C Humidity=60.0%
[22:04:31][D][sensor:126]: 'Temperature': Sending state 15.00000 °C with 1 decimals of accuracy
[22:04:31][D][sensor:126]: 'Humidity': Sending state 60.00000 % with 0 decimals of accuracy

完成固件刷新后,重新给ESP8266加上3.3V电源(不用接RX、TX串口线,也不用IO0接地),ESPHome仪表盘上该设备已显示为“ONLINE”。

以DHT11、ESP8266为例介绍ESPHome在Home Assistant中的应用

六、将ESP设备集成到Home Assistant

重新启动Home Assistant,进入界面之后,会自动提示发现设备。

以DHT11、ESP8266为例介绍ESPHome在Home Assistant中的应用

 点击“配置”,选择“提交”。

以DHT11、ESP8266为例介绍ESPHome在Home Assistant中的应用

 按提示输入ESP8266设备的加密密钥(查看配置文件里面encryption—key值),提交后就成功在Home Assistant创建了ESP8266设备。

以DHT11、ESP8266为例介绍ESPHome在Home Assistant中的应用

 在“配置”——》“设备”中可看到该设备集成,包括“1个设备”和“2个实体”。

以DHT11、ESP8266为例介绍ESPHome在Home Assistant中的应用

 点击“1个设备”,可以查看设备数据。

以DHT11、ESP8266为例介绍ESPHome在Home Assistant中的应用

 选择“添加到仪表盘”可以将该设备实体添加到“概览”中。

以DHT11、ESP8266为例介绍ESPHome在Home Assistant中的应用文章来源地址https://www.toymoban.com/news/detail-450319.html

到了这里,关于以DHT11、ESP8266为例介绍ESPHome在Home Assistant中的应用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • STM32+ESP8266+DHT11通过MQTT协议连接新版ONENET云平台上传数据

    项目讲解视频 新版 云平台搭建视频演示 单片机代码修改演示视频 APP参数修改 实物演示 前段时间ONENET云平台进行了升级更新,此前平台的多协议接入(包含旧版MQTT、HTTP、EDP、Modbus、TCP透传等)接口已经隐藏,后续应该会下架,为了能够后续继续使用ONENET云平台,就需要学

    2024年02月09日
    浏览(44)
  • 应用ESP8266(Tasmota固件)、PZEM-004T、DHT11构建家庭智能电表实践(一)

          前一篇文章介绍了ESPHome的应用方法,Tasmota和ESPHome一样都是免编程的ESP固件,可帮助我们快速搭建智能家居系统。Tasmota是基于ESP设备的开源固件,不用编程即可进行快速设置和功能更新,Tasmota使用MQTT、Web UI、HTTP或串行进行控制,支持应用计时器、规则或脚本实现自动

    2024年02月07日
    浏览(48)
  • STM32+ESP8266+QT客户端上位机显示DHT11温湿度与点灯

    目录 1、简介 2、硬件连接 3、上位机源码 3.1 widget.h 3.2 widget.c  3.3 显示图  4、下位机源码 4.1 cubemax配置  4.2 keil源码 本文使用STM32F103C8T6单片机使用单片机通过ESP8266WIFI模块与QT设计的上位机进行通讯,ESP8266设置AP模式。实现DHT11传感器温湿度的显示与远程控制LED小灯的亮灭

    2024年02月06日
    浏览(55)
  • STM32F103C8T6+ESP8266WIFI+DHT11模块连接巴法云

    1.MCU:STM32F103C8T6 2.ESP8266:正点原子WIFI模块 3.串口模块:正点原子串口模块 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客: ESP8266固件刷写 我用的是安信可的固件,可以在官网上下载。正点

    2023年04月27日
    浏览(70)
  • 使用arduino IDE开发ESP8266NodeMCU连接DHT11实现温湿度检测并上传onenet官网

            本篇博客记录一下以arduino IDE来开发一下ESP8266NodeMCU,实现用DHT11进行温湿度检测,并且上传新版的onenet官网;我在实现这个小项目的时候,发现网上资料有关onenet的资料都是旧版的,这就有点难受了,本着开源的精神,这篇博客就来弥补一下这方面资料的缺失。  

    2024年02月09日
    浏览(66)
  • 嵌入式硬件介绍(一)|ESP8266 Wi-Fi 模块介绍(以ESP8266 -12F为例)

          本文主要讲解安信可ESP8266 WiFi模块的类型及功能,安信可ESP8266 WiFi模块是一款基于乐鑫ESP8266EX的超低功耗UART-WiFi模块。这类模块集成了业界领先的Tensilica L106超低功耗32位微型MCU,带有16位精简模式,主频支持80MHz和160MHz,支持RTOS,板载天线等。支持标准的 IEEE802.11 b/g

    2024年04月11日
    浏览(45)
  • 【STM32HAL库(智能家居)+DHT11传感器+ESP8266+Things Cloud云平台+手机APP】

     哔哩哔哩视频效果链接:http://【毕业设计——STM32温湿度采集系统】 https://www.bilibili.com/video/BV1Hy421i7sk/?share_source=copy_webvd_source=d711fa8bef565aeec8a4d279df8b85aa ~~大家可以给个关注,记得一键三连哦~~ 设计是一种基于STM32的无线温湿度检测系统以智能化、自动化、高效化为出发点,

    2024年04月09日
    浏览(53)
  • 单片机设计_室内环境智能监测系统(STM32 OLED ESP8266 DHT11 MQ-2 加湿器)

    想要更多项目私wo!!! 室内环境智能监测系统 主要功能:         1.检测空气温湿度         2.检测光照强度         3.检测烟雾浓度         4.数据显示在手机端和设备OLED屏幕上         5.当空气温度高于设定的阈值时,风扇开启         6.当空气湿度低于

    2024年02月09日
    浏览(69)
  • STM32系列(HAL库)——使用ESP8266-01S物联网模块连接Onenet云平台上报DHT11温湿度

    本篇主要讲解如何使用ESP8266-01S物联网模块连接Onenet云平台,并上报DHT11模块的温湿度数据。本文单片机主控采用STM32F405RGT6,使用其他主控的话基本要求有2个串口,一个串口用于调试使用,另一个用于ESP模块通讯。 1.软件 CubeMX Keil5 串口调试助手 Onenet云平台账户 2.硬件 STM32开

    2024年02月02日
    浏览(81)
  • 从零开始,我的第一个物联网平台搭建好了,ESP8266+DHT11+阿里云平台+IOT StudioWEB应用开发,实现网页实时查看设备上报的信息,控制开关

        记录下自己做的第一个物联网项目,真正从零开始,断断续续花了2个月时间看各种视频,网站学习有关物联网的知识,期间碰到过好多问题,没有人指导,都得靠自己慢慢研究,有时会很迷茫,没有方向,但还得坚持下去,当经过自己的努力解决一个个问题时,会很兴奋

    2024年01月19日
    浏览(94)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包