搭建个人智能家居 6 -SGP30 CO₂与TVOC测量

2024-06-15 10:28

本文主要是介绍搭建个人智能家居 6 -SGP30 CO₂与TVOC测量,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

搭建个人智能家居 6 -SGP30 CO₂与TVOC测量

  • 前言
  • 说明
  • ESPHome
  • HomeAssistant

前言

上一篇文章我们给这个智能家居系统添加了第三个外设,温湿度传感器。今天添加第四个外设,用于测量环境中CO₂与TVOC的传感器“SGP30”。
前问回顾:
搭建个人智能家居 开篇(搭建Home Assistant)
搭建个人智能家居 2 -安装ESPHome
搭建个人智能家居 3 -第一个设备“点灯”
搭建个人智能家居 4 -WS2812B-RGB灯
搭建个人智能家居 5 -DHT11温湿度测量

在这里插入图片描述

说明

本次添加外设会接着前面文章创建的Demo,在yaml文件里继续添加SGP30测量CO₂与TVOC相应的驱动代码。需要用到一个SGP30传感器模块和5v电源。
本次依然分成两步:
第一步是ESPHome编写yaml文件并烧录到ESP32开发板
第二步是HomeAssistant添加控制组件

ESPHome

打开前文创建的工程,找到工程的存放位置,然后在存放工程的文件夹打开“命令提示符”输入启动esphome的指令(可参考“搭建个人智能家居 2 -安装ESPHome”):

esphome dashboard xxx/

“命令提示符”提示打开ESPHome控制台的本地域名后在浏览器输入域名打开

http://localhost:6052/ 
/*或者*/
http://0.0.0.0:6052/

在这里插入图片描述
接着原来的工程,点击“BIN_LED”这个工程左下角的编辑按钮,进入yaml文件的编辑。
由于SGP30是I2C器件,而我们的这个工程里前几篇文章添加的外设都没有I2C器件,所以我们需要在工程里定义、配置I2C总线。
在yaml文件的第一个外设上面添加I2C的配置(个人习惯,把总线配置放在开头,后面继续添加I2C设备好维护)

#I2C总线定义
i2c:- id: bus_a  		#多个I2C总线时用与区分,只有一个I2C总线可以不用sda: GPIO12		#SDA引脚定义(可自行更改)scl: GPIO13		#SCL引脚定义(可自行更改)scan: true		

定义、配置完I2C总线后,在yaml文件的最后添加SGP30的驱动代码

#SGP30- platform: sgp30			#SGP30传感器平头i2c_id: bus_a			#使用I2C总线a,前面I2C总线定义时的IDaddress: 0x58			#传感器I2C地址eco2:					#传感器功能信息name: "Roome CO2"			#传感器测量功能名称accuracy_decimals: 1		#小数点位数tvoc:					#传感器功能信息name: "Roome TVOC"	#传感器测量功能名称accuracy_decimals: 1	#小数点位数store_baseline: yes		#计算基线,用于校准传感器update_interval: 1s		#间隔5S读取一次数据

工程完整代码:

captive_portal:#I2C总线定义
i2c:- id: bus_a sda: GPIO12scl: GPIO13scan: true#Bin_LED    
light:- platform: binaryname: "led"output: bin_led#WS2812_RGB- platform: neopixelbustype: GRBvariant: WS2812pin: GPIO4num_leds: 25name: "RGB_LED"output:- id: bin_ledplatform: gpiopin: GPIO2 #DHT11
sensor:- platform: dhtpin: GPIO5temperature:name: "Current temperature"humidity:name: "Current humidity"model: DHT11update_interval: 10s#SGP30- platform: sgp30i2c_id: bus_aaddress: 0x58eco2:name: "Roome eCO2"accuracy_decimals: 1tvoc:name: "Roome TVOC"accuracy_decimals: 1store_baseline: yesupdate_interval: 1s

输入上面SGP30的驱动代码后点击保存和编译生成bin文件。
在这里插入图片描述
用flash download tools把编译生成的.bin文件烧录到esp32开发板中
在这里插入图片描述
烧录完成后把SGP30模块连接到ESP32开发板上,给开发板复位等待开发板连接上WIFI。

HomeAssistant

启动HomeAssistant,(可参考“搭建个人智能家居 开篇(搭建Home Assistant)”)
在这里插入图片描述
在HomeAssistant启动完成后,打开浏览器输入HomeAssistant控制面板的连接进入控制页面,由于前面文章已经在HomeAssistant里面添加了这个ESPhome设备,这里只是添加一个实体,所以不需要重新添加设备,HomeAssistant会自动刷出来。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
SGP30 环境CO₂与TVOC传感器添加完成。

这篇关于搭建个人智能家居 6 -SGP30 CO₂与TVOC测量的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1063185

相关文章

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

pytest+allure环境搭建+自动化实践过程

《pytest+allure环境搭建+自动化实践过程》:本文主要介绍pytest+allure环境搭建+自动化实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、pytest下载安装1.1、安装pytest1.2、检测是否安装成功二、allure下载安装2.

使用vscode搭建pywebview集成vue项目实践

《使用vscode搭建pywebview集成vue项目实践》:本文主要介绍使用vscode搭建pywebview集成vue项目实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录环境准备项目源码下载项目说明调试与生成可执行文件核心代码说明总结本节我们使用pythonpywebv

Windows Server 2025 搭建NPS-Radius服务器的步骤

《WindowsServer2025搭建NPS-Radius服务器的步骤》本文主要介绍了通过微软的NPS角色实现一个Radius服务器,身份验证和证书使用微软ADCS、ADDS,具有一定的参考价... 目录简介示意图什么是 802.1X?核心作用802.1X的组成角色工作流程简述802.1X常见应用802.

Spring Cloud GateWay搭建全过程

《SpringCloudGateWay搭建全过程》:本文主要介绍SpringCloudGateWay搭建全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录Spring Cloud GateWay搭建1.搭建注册中心1.1添加依赖1.2 配置文件及启动类1.3 测

SpringBoot快速搭建TCP服务端和客户端全过程

《SpringBoot快速搭建TCP服务端和客户端全过程》:本文主要介绍SpringBoot快速搭建TCP服务端和客户端全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录TCPServerTCPClient总结由于工作需要,研究了SpringBoot搭建TCP通信的过程

Gradle下如何搭建SpringCloud分布式环境

《Gradle下如何搭建SpringCloud分布式环境》:本文主要介绍Gradle下如何搭建SpringCloud分布式环境问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录Gradle下搭建SpringCloud分布式环境1.idea配置好gradle2.创建一个空的gr

Linux搭建单机MySQL8.0.26版本的操作方法

《Linux搭建单机MySQL8.0.26版本的操作方法》:本文主要介绍Linux搭建单机MySQL8.0.26版本的操作方法,本文通过图文并茂的形式给大家讲解的非常详细,感兴趣的朋友一起看看吧... 目录概述环境信息数据库服务安装步骤下载前置依赖服务下载方式一:进入官网下载,并上传到宿主机中,适合离线环境

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析