亲,“电路城”已合并升级到更全、更大、更强的「新与非网」。点击查看「新与非网」

本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页

基于 ESP32 的二氧化碳浓度检测系统

发布时间:2021-10-04
分享到:

基于 ESP32 的二氧化碳浓度检测系统

发布时间:2021-10-04
分享到:

本方案用于检测门的开闭和二氧化碳浓度的系统,使室内空气舒适。

在受疫情影响的当下,许多人可能正在远程工作。这样做时,如果房间被关闭,二氧化碳水平会在您不知不觉中上升,您将无法正确集中注意力。我的项目是一个系统,以AWSIoT EduKit的M5Stack Core2为核心,配合AWS检测CO2传感器读数和门开/关状态,并通过语音提醒用户。

先决条件

  • AWS 账户
  • 亚马逊开发者服务账户

要使用此系统,您将需要上述两个帐户,因为您将使用 AWS Lambda 和 Alexa Skills。

如何使用
将 CO2 传感器与 AWSIoT EduKit 的 M5Stack Core2 的 Port.C 连接。用于 AWSIoT EduKit 的 M5Stack Core2 的 C。之后,打开电源并打开显示“MQTT OFF”的开关以开始与 AWS 通信。

当 CO2 传感器读数超过 1500ppm 时开始警告。当门被打开时,警告将停止,当低于1000ppm时,它会通知您可以安全关闭门的信息。

如何安装
1. Amazon Echo 和 SwitchBot 接触式传感器和集线器 Mini

将它们连接到您的网络并将其设置为与 Alexa 配合使用。

2. Alexa 应用程序(iOS 或 Android)

使用以下设置创建两个例程。

(1)打开例程

  • 名称:SwitchBot 接触传感器打开
  • WHEN:门磁打开
  • ALEXA, : 自定义→“打开技能<<SkillNameForDoorOpen>> ”

来自:您的 Echo 设备
(2) 关闭例程

  • 名称:SwitchBot 接触式传感器关闭
  • WHEN:门磁关闭
  • ALEXA, : 自定义→“打开技能<<SkillNameForDoorClose>> ”
  • 来自:您的 Echo 设备

注意:

<<SkillNameForDoorOpen>>和<<SkillNameForDoorClose>>在其中输入稍后将设置的调用调用。

3. Alexa 技能包

3.1. 创造两个流程(开门和关门)

创建门打开和关闭时调用的两个技能。端点将是 Lambda 函数的 ARN。对于终端节点,指定接下来要创建的 AWS Lambda 的 ARN。

(1) 流程名称: 开门(和关门)

(2) 主要语言环境:英语(美国)

(3) 选择一个模型来增加你的技能:自定义

(4) 选择一种方法来托管您的技能的后端资源:Alexa-hosted (Python)

(5) 点击“创建流程”

(6) 选择一个模板来添加到您的流程中:从头开始

3.2. 流程设置

(1) 调用

注意:您不能使用 open 或 close 作为呼叫名称。另外,不允许与其他技能重叠的名称,因此我选择了以下两个名称。

例子:

  • <<SkillNameForDoorOpen>>: takao's door sensor first
  • <<SkillNameForDoorClose>>: takao's door sensor second

(2) 端点

Skill ID 会被复制到Lambda 函数中以便稍后设置,因此请记下它。此外,将您刚刚设置的 Lambda 函数的 ARN 设置为终端节点。

3.3. 构建模型

设置 Alexa Skills 后,您可以构建这两种技能中的每一种。

4.AWS 拉姆达

4.1. 创建两个函数

在 AWS Lambda 上创建两个函数。使用以下无服务器应用程序存储库作为基础创建它们。应用名称

创建两个应用程序时,在末尾添加-open 和-close 以避免名称重复并创建两个应用程序。

(1) AWS Lambda 仪表板 -> 创建函数

(2) 选择「Browse serverless app Repository」 -> serverlessrepo-alexa-akills-kit-python36-factskill

(3) 应用设置

  • 应用名称:switchbot-contact-sensor-open(和-close)
  • SkillFunctionName:switchbot-contact-sensor-open(和-close)

4.2. 环境

为这两个功能设置相同的设置。(但请注意,打开和关闭的值不同。

(1) 添加触发器

通过指定由 AlexaSkillsKit 创建的 ARN,删除自动创建的触发器并添加 AlexaSkillsKit 触发器。

(2) 附加策略 (AWSIoTDataAccess)

将策略附加到 Lambda 函数的角色。

4.3. 更改代码

请参考注释并修改代码

如果您对此项目有任何想法、意见或问题,请在下方留言。

加入微信技术交流群

技术交流,职业进阶

关注与非网服务号

获取电子工程师福利

加入电路城 QQ 交流群

与技术大牛交朋友

讨论