ESPhome扩展EDP32 开发板的物联网功能

xc
xc
2025-07-08 / 0 评论 / 2 阅读 / 正在检测是否收录...

概述

ESP开发板在传感器的采集和系统元件控制上,有很多优势,数模转换可以规避一些纯电气的干扰,更何况那么小巧,还自带局域网功能,以前学的是把数据显示在一块很小的屏幕上,当然利用它的局域网功能,利用Arduino IDE编写一个很简单的网站,也是完全没问题的。

最近一直在想,如果我需要一个更加丰富展示数据这块的网站,有大量的动画或Js图表,依靠ESP单片机可能就吃不消的,那么我就只用它来负责上传或下传数据,依靠电脑或服务器 来做网站搭建和渲染,各自发挥自己的长处,那就完美了。

通过一番搜索,大概了解到home assistant就是干这个事情的,和ESP开发板连接,就需要安装一个独立的模块:ESPhome,如果是树莓派,那就可以直接在home assistant中安装,就想我是DOCKER的环境,那就需要单独安装,也没啥关系,就多个端口而已。
ESPhome界面

ESPhome我理解的就是厂家自己开发的平台,只是集成到了home assistant,,它也有自己的简易网页,对数据进行参考或开关的控制,只是想表达的更丰富,增加一些联动控制功能,那就需要home assistant进行整合了。

正文

ESPhome基础

安装好ESPhome容器,打开后,首先要添加ESP开发板,首次添加,需要数据线进行连接。等把ESPhome的程序刷进ESP开发板后,后期更新就可以愉快的使用wifi更新了。
网页上有说明:
添加设备

添加好设备后,会自动生成一个yaml文件,也就是配置文件。如果这里和Arduino IDE进行对比的话,你会发现yaml文件要简单明了,更高效,不再像Arduino IDE那么繁琐。

ESP32-S3 引脚

以下是我配置的一份,供参考,基本把ESP32-S3发挥到了极致,该用的协议都用到了,而且这些功能我都是测试过的,可以正常使用,我们先看引脚定义:

协议 / 功能实例 (Instance)角色 (Role)分配的GPIO引脚选用原因 / 备注
继电器控制Relay 1Digital OutGPIO1通用GPIO,干净无冲突。
Relay 2Digital OutGPIO2通用GPIO,干净无冲突。
数字量输入 GPI40
数字量输入 GPI41有人存在检测
ADCADC 1Analog InGPIO4 (ADC1_CH3)ADC1通道,通用GPIO。
ADC 2Analog InGPIO5 (ADC1_CH4)ADC1通道,通用GPIO。
I2CI2C_0 (默认)SDAGPIO8Arduino框架下的默认SDA引脚。
SCLGPIO9Arduino框架下的默认SCL引脚。
PWMPWM1Analog OutGPIO6通用GPIO,干净无冲突。
PWM2Analog OutGPIO7通用GPIO,干净无冲突。
SPI (共享总线)SPI_BusMOSI--->SDIGPIO11共用,默认FSPI总线引脚。
MISO--->SDOGPIO13共用,默认FSPI总线引脚。
SCK--->CLKGPIO12共用,默认FSPI总线引脚。
SPI_Device_1CS 1--->CEGPIO10独立,用作设备1的片选。
SPI_Device_2CS 2--->CEGPIO21独立,用作设备2的片选。
UARTUART_1-485TXGPIO17默认的UART1发送引脚。
RXGPIO18默认的UART1接收引脚。
UART_2-ttlTXGPIO15通用GPIO,干净无冲突。
RXGPIO16通用GPIO,干净无冲突。

说明,其中UART_1 我是通过TTL转RS485 连接MODBUS的通讯设备。

YAML文件代码:

安装模块

写好YAML后,就需要进行安装,由于我们前面已经将ESP32和ESPhome进行了连接,现在就可以通过wifi进行安装了,另外需要注意的,需要配置https,才可以在线安装,如果是http,那可能需要保存到本机,然后通过数据线进行安装。
安装模块

由于安装的时候,需要远程下载一些必须的模块应用,需要外网,国内下载速度超级慢或无法下载,可以通过VSCODE+插件PlatformIO IDE,在本地配置下载好,毕竟win系统要灵活一些,然后把C:\Users\你的用户名.platformio下的packages和platforms文件夹复制到docker的映射文件夹:esphome(我的映射文件夹).esphome\platformio下面,最好也带上cache文件夹一起复制。
上图提示需要:
platformio/framework-arduinoespressif32 @~3.20005.0

如果你不能外网,就算采用VSCODE+插件PlatformIO IDE也是很难配置的,漫长的等待我是经历过的,所以,ESP32-S3和ESP8266-D1mini所需的文件,我可以通过网盘分享出来,给需要的兄弟们。
这是ESP32打来网页功能,自带的网页监控画面,目前我没有连接传感器,所以,没数值。
ESP32-S3网页监控

home assistant整合

整合到home assistant中比较简单,添加设备,就可以找到你目前配置好的ESP32,在home assistant中,可以完成数据的曲线表达,逻辑控制功能,这里网上的教程比较多,我就不做更多介绍了

home assistant的ESP设备页面

附件:

platformio.zip

0

评论 (0)

取消
使用 Typecho 建站,并搭配 joe 主题(有修改)
蜀ICP备2022005623号-2 川公网安备 51012202001212号
本站已运行 00000000
Copyright © 1970 ~ Xcshare All rights reserved.