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

news2025/2/24 4:48:58

搭建个人智能家居 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总线定义时的ID
    address: 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: GPIO12
    scl: GPIO13
    scan: true
    


#Bin_LED    
light:
  - platform: binary
    name: "led"
    output: bin_led



#WS2812_RGB
  - platform: neopixelbus
    type: GRB
    variant: WS2812
    pin: GPIO4
    num_leds: 25
    name: "RGB_LED"




output:
  - id: bin_led
    platform: gpio
    pin: GPIO2 


#DHT11
sensor:
  - platform: dht
    pin: GPIO5
    temperature:
      name: "Current temperature"
    humidity:
      name: "Current humidity"
    model: DHT11
    update_interval: 10s


#SGP30
  - platform: sgp30
    i2c_id: bus_a
    address: 0x58
    eco2:
      name: "Roome eCO2"
      accuracy_decimals: 1
    tvoc:
      name: "Roome TVOC"
      accuracy_decimals: 1
    store_baseline: yes
    update_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.coloradmin.cn/o/1824370.html

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

相关文章

(游戏:挑一张牌)编写程序,模拟从一副 52 张的牌中选择一张牌。

(游戏:挑一张牌)编写程序,模拟从一副 52 张的牌中选择一张牌。程序应该显示牌的 大小(Ace、2、3、4、5、6、7、8、9、10、Jack、Queen、King)以及牌的花色(Clubs (黑梅花)、Diamonds(红方块)、Hearts(红心)、Spades(黑桃))。下面是这个程序的 运行示例: The card yo…

QT漂亮QSS样式模仿流行VUE Element UI ,QSS漂亮大方美观样式 QSS样式 QTableWidget 漂亮样式QSS 快速开发QSS漂亮界面

在现代应用程序开发中,用户界面(UI)的设计与用户体验(UX)占据了至关重要的位置。Vue.js框架因其灵活性和丰富的生态系统而广受欢迎,其中Element UI作为一套为Vue设计的桌面端组件库,以其清晰的视…

24年河北自考报名流程详细教程汇总

2024年河北自考本科报名马上就要开始了,想要参加考试报名的同学,提前看一下,了解一下报名流程,准备一些报名材料。 报名时间:2024年1月5日—10日8:00—22:00 考试时间:2024年4月13日—14日 报名照要求&…

贪心+思维,CF1615C - Menorah

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 1615C - Menorah 二、解题报告 1、思路分析 两次连续操作相当于交换两位奇数次操作, 改变了01频数01频数是否能一样 -> -1 否则就是调整到该在的位置的最小操作次数 不一样的位置一定是偶数个,否则01频数…

视频号怎么保存视频到手机?推荐4种方法!

短视频已经成为了网友们的新宠,那么对于我们这些普通人来说,如何能够轻松提取视频号上的视频呢?今天,就让我们一起来探讨一下视频号视频提取各种方法和工具! 虽然视频号视频的保存方式多种多样,但为了照顾那…

byzer 笔记总结

1.总览(简单了解) 1.1 数据挖掘的定义 基于大数据技术,针对有价值是业务场景,对数据中台沉淀的大量数据进行探索,分析。寻找数据与数据之间潜藏的关系,转化为自动化的算法模型,从而获取有价值的…

python数据分析---ch10 数据图形绘制与可视化

python数据分析--- ch10 python数据图形绘制与可视化 1. Ch10--python 数据图形绘制与可视化1.1 模块导入1.2 数据导入 2. 绘制直方图2.1 添加图表题2.2 添加坐标轴标签 3. 绘制散点图4. 绘制气泡图5. 绘制箱线图5.1 单特征的箱线图5.2 多特征的箱线图 6. 绘制饼图7. 绘制条形图…

网络编程(四)

一、使用wireshark抓包分析协议头 &#xff08;一&#xff09;wireshark常用的过滤语句 tcp.port <想要查看的端口号> ip.src <想要查看的源IP地址> ip.dest <想要查看的目的IP地址> ip.addr <想要查看的IP地址>&#xff08;二&#xff09;抓包分…

【linux】应用程序访问百度时,操作系统内核网络接口日志

代码合入&#xff1a; 登录 - Gitee.comhttps://gitee.com/r77683962/linux-6.9.0/commit/c639573cc7c4984913d4a89884347e5a30a51eac 启动操作系统运行dmesg的日志像这样&#xff1a; dmesg_log/2024_06_14_00_40_54.txt r77683962/linux-6.9.0 - Gitee.com 注意&#xf…

利用MongoDB构建现代支付系统|附《利用AI在支付领域的优势》报告下载

MongoDB 支付 通过实时整合和分析任何格式的数据 来丰富支付体验 为消费者提供增值服务和功能 丰富的支付体验 接受并丰富任何支付数据类型 使用灵活的文档数据模型实时整合和处理任何支付数据类型。JSON 文档&#xff08;与 MongoDB 使用的数据格式相同&#xff09;是支…

AI 一键换脸,背景替换,ioDraw让图片更有趣

还在为繁琐的图片处理而烦恼吗&#xff1f;快来试试ioDraw的AI图片工具&#xff01; 它集图像识别、图像生成、智能换脸、背景替换、图像融合、肖像风格化、空间风格化、智能扩图、智能抠图、画质提升、美颜、拉伸修复、透视校正等功能于一身&#xff0c;为你提供前所未有的图…

ssm162基于SSM的药房药品采购集中管理系统的设计与实现+vue

药房药品采购集中管理系统的设计与实现 摘 要 互联网发展至今&#xff0c;无论是其理论还是技术都已经成熟&#xff0c;而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播&#xff0c;搭配信息管理工具可以很好地为人们提供服务。针对药房药品采购信息管理混乱&…

使用Unsloth微调Llama3-Chinese-8B-Instruct中文开源大模型

微调Llama3-Chinese-8B-Instruct 微调是指在大规模预训练的基础模型上,使用特定领域或任务数据集进行少量迭代训练,以调整模型参数,提升其在特定任务上的表现。这种方法可以充分利用预训练模型的广泛知识,同时针对特定应用进行优化,达到更精准高效的效果。 Llama-3-Chinese-8B-…

【imagenet数据集下载】OpenxLab 数据集下载

最近在找Imagenet-1K的数据集&#xff0c;但是好多帖子上都说要到官网或网盘下载&#xff0c;但是下载慢&#xff0c;于是在OpenxLab中找到了Imagenet-1K数据集&#xff0c;只需要登陆就可以下载。 有两种方式下载&#xff1a; 1.页面下载 2.脚本下载 下载完成后会有ImageNe…

判断QT程序是否重复运行

打开exe&#xff0c;再次打开进行提示。 main.cpp添加&#xff1a; #include "QtFilePreview.h" #include <QtWidgets/QApplication> #include <windows.h> #include <qmessagebox.h> #pragma execution_character_set("utf-8")bool Ch…

Java GUI编程

引言 图形用户界面&#xff08;GUI&#xff09;编程是使应用程序与用户进行交互的重要部分。Java提供了多种用于GUI开发的工具和库&#xff0c;最常用的是Swing和AWT。本文将详细介绍Java GUI编程的基础知识&#xff0c;包括Swing和AWT框架、事件处理以及高级GUI组件的使用&…

利用74HC165实现8路并行输入口的扩展

代码&#xff1a; #include <mega16.h>// Declare your global variables here #define hc165_clk PORTB.0 #define hc165_lp PORTB.1 #define hc165_out PINB.2unsigned char read_hc165(void) {unsigned char data0,i,temp0x80;hc165_lp0;hc165_lp1; for(i0;i<7;i)…

活动回顾|盘古信息中小企业数转案例鉴赏活动(电子制造专场)圆满落幕

6月13日&#xff0c;由盘古信息主办的中小企业数转案例鉴赏活动&#xff08;电子制造专场&#xff09;成功举行&#xff0c;此次活动汇聚了多家东莞市制造企业相关代表&#xff0c;通过解读中小企业数字化转型政策动向、探讨行业趋势、参观数字化展厅并实地走访了广东毅达医疗科…

【Kafka】Kafka生产者-04

【Kafka】Kafka生产者-04 1. 生产者发送消息流程1.1 发送原理 2. 相关文档 1. 生产者发送消息流程 1.1 发送原理 在消息发送的过程中&#xff0c;涉及到了两个线程——main 线程和 Sender 线程。 在 main 线程中创建了一个双端队列 RecordAccumulator。 main 线程将消息发送给…

0. 云原生之基于乌班图远程开发

云原生专栏大纲 文章目录 安装乌班图配置静态IP重置root密码开启root远程登录开启远程SSH访问安装docker安装docker-compose安装Edge浏览器安装搜狗输入法安装TeamViewer安装虚拟显示器安装JDK安装maven安装vscodevscode插件安装VSCode配置maven、git、jdk、自动报错vscode快捷…