搭建个人智能家居 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

相关文章

vite搭建vue3项目的搭建步骤

《vite搭建vue3项目的搭建步骤》本文主要介绍了vite搭建vue3项目的搭建步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1.确保Nodejs环境2.使用vite-cli工具3.进入项目安装依赖1.确保Nodejs环境

Nginx搭建前端本地预览环境的完整步骤教学

《Nginx搭建前端本地预览环境的完整步骤教学》这篇文章主要为大家详细介绍了Nginx搭建前端本地预览环境的完整步骤教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录项目目录结构核心配置文件:nginx.conf脚本化操作:nginx.shnpm 脚本集成总结:对前端的意义很多

idea+spring boot创建项目的搭建全过程

《idea+springboot创建项目的搭建全过程》SpringBoot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目,:本文主要介绍idea+springb... 目录一.idea四种搭建方式1.Javaidea命名规范2JavaWebTomcat的安装一.明确tomcat

k8s搭建nfs共享存储实践

《k8s搭建nfs共享存储实践》本文介绍NFS服务端搭建与客户端配置,涵盖安装工具、目录设置及服务启动,随后讲解K8S中NFS动态存储部署,包括创建命名空间、ServiceAccount、RBAC权限... 目录1. NFS搭建1.1 部署NFS服务端1.1.1 下载nfs-utils和rpcbind1.1

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

Linux搭建ftp服务器的步骤

《Linux搭建ftp服务器的步骤》本文给大家分享Linux搭建ftp服务器的步骤,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录ftp搭建1:下载vsftpd工具2:下载客户端工具3:进入配置文件目录vsftpd.conf配置文件4:

Java 与 LibreOffice 集成开发指南(环境搭建及代码示例)

《Java与LibreOffice集成开发指南(环境搭建及代码示例)》本文介绍Java与LibreOffice的集成方法,涵盖环境配置、API调用、文档转换、UNO桥接及REST接口等技术,提供... 目录1. 引言2. 环境搭建2.1 安装 LibreOffice2.2 配置 Java 开发环境2.3 配

Python极速搭建局域网文件共享服务器完整指南

《Python极速搭建局域网文件共享服务器完整指南》在办公室或家庭局域网中快速共享文件时,许多人会选择第三方工具或云存储服务,但这些方案往往存在隐私泄露风险或需要复杂配置,下面我们就来看看如何使用Py... 目录一、android基础版:HTTP文件共享的魔法命令1. 一行代码启动HTTP服务器2. 关键参

如何使用Haporxy搭建Web群集

《如何使用Haporxy搭建Web群集》Haproxy是目前比较流行的一种群集调度工具,同类群集调度工具有很多如LVS和Nginx,本案例介绍使用Haproxy及Nginx搭建一套Web群集,感兴趣的... 目录一、案例分析1.案例概述2.案例前置知识点2.1 HTTP请求2.2 负载均衡常用调度算法 2.

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

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