搭建个人智能家居 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传感器添加完成。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/27493.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自然语言处理:第三十五章Embedding 测评榜单MTEB

文章链接: [2210.07316] MTEB: Massive Text Embedding Benchmark (arxiv.org) 项目地址: mteb:MTEB: Massive Text Embedding Benchmark - GitCode github地址: FlagEmbedding/C_MTEB at master FlagOpen/FlagEmbedding (github.com) Hugging Face Leadboard: MTEB Leader…

移动端超超超详细知识点总结(Part3)

flex布局体验 1. 传统布局与flex布局 传统布局: 兼容性好布局繁琐局限性,不能再移动端很好的布局flex 弹性布局: 操作方便,布局极为简单,移动端应用很广泛PC 端浏览器支持情况较差IE 11或更低版本,不支持…

Android开发AndroidStudio中创建Activity两种方法

本文讲解Android Studio中如何创建Activity。 目录 一、手动创建 二、自动创建 创建Activity分为手动和自动创建两种方法。 一、手动创建 创建步骤 1、在Layout目录下创建XML文件 Layout-New-Layout Resource file 打开对话框,编辑布局文件的名字&#xff0c…

JavaScript 进阶 - 第1天

文章目录 前言一、作用域1. 局部作用域1.1 函数作用域1.2 块作用域 2. 全局作用域3. 作用域链4. 闭包5. 变量提升 二、函数1. 函数提升2. 函数参数2.1 默认值2.2 动态参数2.3 剩余参数 3. 箭头函数 三、解构赋值1. 数组解构2. 对象解构 四、综合案例1. forEach遍历数组2. filte…

Capto2024软件怎么下载安装? 【详细安装图文教程】

Capto 2024是一款专为Mac用户设计的屏幕录制编辑软件。无论是想要制作教育视频、工作演示、游戏录制,还是进行简单的屏幕捕捉,Capto 2024都能满足您的需求。接下来,我将详细介绍其主要功能、特点以及使用场景,并为您评价这款软件。…

安装multisim14.0

前言 文件准备 软件安装 1、 2、 3、 4、 5、 6、 7、 8、 9、 10、 11、 12、 13、 14、汉化 15、在软件安装路径下打开”stringfiles“文件夹, Circuit Design Suite 14.0\stringfiles 16、 17、 18、 19、 20、运行multisim14.0

try-with-resources 工作原理

概述 try-with-resources 是 Java 7 引入的一种语法糖,用于简化资源管理,确保在使用资源后自动关闭它们。它是 try 语句的增强形式,可以在资源使用完毕后自动调用它们的 close() 方法,从而避免资源泄漏。 但这有个前提&#xff1…

Java多线程面试重点-2

16.Synchronized关键字加在静态方法和实例方法的区别? 修饰静态方法,是对类进行加锁(Class对象),如果该类中有methodA和methodB都是被Synch修饰的静态方法,此时有两个线程T1、T2分别调用methodA()和methodB()&#x…

对于千兆变压器(Gigabit Transformer)的设计

对于千兆变压器(Gigabit Transformer)的设计,以下是一些关键方面的详细说明: 1. **频率特性:** 千兆变压器需要能够在高频率下工作,通常在1 GHz以上。为了确保良好的性能,设计中需要选择合适的…

热门开源项目推荐:智谱GLM-4-9B和ChatGLM3-6B

目录 热门开源项目推荐:智谱GLM-4-9B和ChatGLM3-6B 1.引言 1.1 开源文化简介 1.2 开源项目的重要性 1.3 博客目的和读者价值 2.什么是开源项目? 2.1 开源定义 2.2 开源许可证类型 2.3 开源社区的作用 3.为什么程序员应该关注开源项目&#xff…

如何在Ubuntu 22.04中还原默认终端:解决无法打开终端的问题

我之前安装了xterm和新的Python,无法打开ubuntu自带的gnome-terminalle 。 终端应用崩溃: 试着通过其他方式打开终端,例如按下 CtrlAltT。 尝试使用其他终端模拟器,例如 xterm、konsole 或 gnome-terminal。可以通过 AltF2 然后…

IDM究竟有哪些优势?一探究竟,揭开下载利器的神秘面纱

在当今互联网信息爆炸的时代,下载工具已经成为我们日常生活中不可或缺的一部分。Internet Download Manager(IDM)以其强大的功能和高效的性能,赢得了广大用户的青睐。那么,IDM究竟有哪些优势使其在众多下载工具中脱颖而…

整蛊软件/插件使用方法与配置步骤~

今天出一期整蛊软件的使用方法与配置步骤 很多人在使用整蛊软件的时候 想自己添加更多的玩法内容 但是还不知道如何去配置 这期给大家出一下图文教程步骤 基本上也是软件的功能介绍使用方式~ 案例可扫码查看 第一步:打开软件输入卡密登录: 卡密费用&…

最经济实惠的通配符SSL证书是哪款?

网络安全已成为企业和个人网站运营者关注的焦点。SSL证书作为确保数据传输安全的关键工具,其重要性不言而喻。特别是通配符SSL证书,因其能够为一个主域名及其所有子域名提供统一的安全保护,而受到广泛欢迎。但面对市场上众多的SSL证书品牌和价…

[大模型]Qwen2-7B-Instruct 接入 LangChain 搭建知识库助手

环境准备 在 autodl 平台中租赁一个 3090 等 24G 显存的显卡机器,如下图所示镜像选择 PyTorch–>2.1.0–>3.10(ubuntu20.04)–>12.1 接下来打开刚刚租用服务器的 JupyterLab,并且打开其中的终端开始环境配置、模型下载和运行 demo。 pip 换源…

mysql中社区版如何杀死锁

在MySQL中,特别是社区版,当遇到锁问题时,你可能需要杀死锁定资源的进程来解决问题。以下是一些步骤和相关信息,用于在MySQL中杀死锁定的进程: 查看当前进程: 首先,你需要查看当前MySQL中的所有…

One能聊天接入百度千帆AppBuilder

One能聊天介绍:基于ChatGPT实现的微信小程序,适配H5和WEB端。包含前后端,支持打字效果输出流式输出,支持AI聊天次数限制,支持分享增加次数等功能One能聊天开源地址:https://github.com/oldinaction/ChatGPT-MPOne能聊天演示环境:可关注【阿壹族】公众号,并回复【One能聊…

MySQL复制机制详解:主从复制与GTID复制的配置与管理

引言: MySQL复制是MySQL数据库的一项重要功能,它允许数据从一个MySQL数据库服务器(被称为主服务器)复制到一个或多个MySQL数据库服务器(被称为从服务器)。主要目的是为了实现数据冗余和备份,提高数据的可用性和读取性能。 主从复制(Master-Slave Replication)是最常…

12_YouOnlyLookOnce(YOLOv3)新一代实时目标检测技术

1.1 回顾V1和V2 V1:05_YouOnlyLookOnce(YOLOV1)目标检测领域的革命性突破-CSDN博客 V2:07_YouOnlyLookOnce(YOLOv2)Better,Faster,Stronger-CSDN博客 1.2 简介 YOLOv3(You Only Look Once version 3)是…

spring boot jwt 实现用户登录完整java

spring boot jwt 实现用户登录完整java 登录校验逻辑 用户登录的校验逻辑分为三个主要步骤,分别是校验验证码,校验用户状态和校验密码,具体逻辑如下 前端发送username、password、captchaKey、captchaCode请求登录。判断captchaCode是否为…