# Arduino Cloud 构建气体检测系统

{% tabs %}
{% tab title="关键词" %}
Arduino cloud | 气体检测 | PlatformIO | 传感器
{% endtab %}

{% tab title="梗概" %}
### 材料

**A板** 是一款紧凑而强大的基于 ESP8266 的物联网开发板，旨在简化创建网络连接项目的过程。 这款小型但多功能的板提供 32 位 ESP8266 处理器、集成 Wi-Fi 连接和各种输入/输出外设，所有这些都采用紧凑的外形。 **A板** 具有 11 个数字 I/O 引脚和一个模拟端口，可让您轻松连接传感器、执行器和其他设备，以创建定制的交互式设计。 其易用性以及与 Arduino IDE 和 PlatformIO 的兼容性使该板成为希望通过可靠且易于访问的设备探索物联网 (IoT) 潜力的电子爱好者和开发人员的理想选择。

**B板** 用于简化微控制器中“深度睡眠”的管理，主要针对 Wemos D1 Mini 和基于 ESP8266 的克隆。 “深度睡眠”是一种低功耗状态，用于延长电池供电设备的电池寿命。 当传感器检测到气体水平高于预先设定的阈值时，**B板** 会将微控制器从“深度睡眠”状态唤醒，从而允许立即将数据传输到 Arduino 云。 这种智能方法有效地平衡了环境监测与保存电池电量的需求，使 **B板** 成为需要高效电源管理的物联网项目的多功能解决方案。

**C传感器** 是属于气体传感器系列的电子元件。 广泛用于各类气体，特别是有毒气体和空气污染物的检测和定量。 该传感器是需要在家庭、工业或室外环境中进行空气质量监测的项目的热门选择。它可以检测气体如：氨、硫化物、液化石油气、丙烷、甲烷、氢气、酒精、烟雾和一氧化碳等有害气体。虽然它可以检测此类气体，但无法区分它们之间的差异。

**C传感器** 的工作原理是根据空气中某些气体的存在而改变电阻。 传感器的核心是一个由有机半导体薄膜制成的敏感元件，它会与其接触的气体发生化学反应。 为了获得最佳检测结果，气体传感器必须预热。 传感器的最佳预热时间为48小时以上。

### 构建

传感器封装在两层薄不锈钢网内，称为防爆网。 因此，它可以安全地检测易燃物质。 同样，它为传感器提供保护并过滤悬浮颗粒。 这样，只有气体可以通过检测室内部。 该模块具有集成的 LM393 比较器芯片，可将读数转换为数字和模拟信号。

### Arduino Cloud

Arduino Cloud 是一个强大的在线平台，旨在简化和集中管理基于 Arduino 的项目和物联网设备。 Arduino Cloud 提供广泛的功能，使开发人员能够有效地远程监控和控制他们的设备。 该平台提供直观的用户界面，使您可以轻松配置设备、仪表板和组件之间的连接。 Arduino Cloud 的独特之处之一是可以创建定制仪表板，实时查看来自传感器的数据。 此外，该平台还提供远程控制机制，允许用户远程激活或停用设备。 Arduino Cloud 能够存储历史数据并提供实时通知，非常适合环境监测项目，例如拟议的气体检测系统。 其灵活性和可扩展性使其成为各种应用的理想选择，提供可靠、安全的环境来高效、直观地管理物联网项目。

**用法示例**

配置设备：首先导航到 Arduino Cloud - 设备。在这里您可以查看所有设备并配置新设备。

* 点击“添加设备”
* 选择“第三方设备”
* 从列表中选择您的主板
* 命名板子
* 保存您的设备 ID 和密钥。这将用于连接到 Arduino Cloud。

自动生成的sketch现在可供编辑。该sketch包含连接到云的所有必需品，并为每个读/写变量生成一个回调函数。下面是为名为 test 的单个布尔变量生成的sketch。我们对其进行了修改，以便在测试布尔为真时打开/关闭电路板的内置 LED。

片段：

```arduino
#include "thingProperties.h"
​
void setup() {
  pinMode(LED_BUILTIN, OUTPUT);  
​
  Serial.begin(9600);
  delay(1500); 
​
  initProperties();
​
  ArduinoCloud.begin(ArduinoIoTPreferredConnection);
  
  setDebugMessageLevel(2);
  ArduinoCloud.printDebugInfo();
}
​
void loop() {
  ArduinoCloud.update();
}
​
void onTestChange()  {
  if(test){
    digitalWrite(LED_BUILTIN, HIGH);
  }
  else{
    digitalWrite(LED_BUILTIN, LOW);
  }
}
```

#### 原理图

#### PlatformIO项目

#### 代码释义

\

{% endtab %}

{% tab title="关联链接" %}
{% embed url="https://viadean.notion.site/Arduino-Cloud-a93f84f0fcaa4204b2b9aff4aa0735d2?pvs=4" %}
{% endtab %}
{% endtabs %}

{% content-ref url="../zhi-dian-mi-jin-brief" %}
[zhi-dian-mi-jin-brief](../zhi-dian-mi-jin-brief)
{% endcontent-ref %}
