返回 登录
0

用 Arduino 传感器开发简易物联网项目三部曲

阅读4172

原文: The Three-Step Process to Building With Arduino Sensors
作者: Francesco Azzola
寻求 IoT 报道或投稿、给文章纠错,请发送邮件至tumin@csdn.net。微信联系 jiaweidi1214,备注“姓名+公司+职位”(以便更快审核通过),加入“CSDN 物联网技术交流群”,与作者及更多专家、技术同行进行 IoT 技术交流。


将传感器及警报装置融入到所开发的 IoT 项目中并非难事。那么既然如此,一个 Arduino、一些传感器和一个警报工具就可以减少天然气泄漏带来的安全威胁。

本文将分享如何使用 Arduino 传感器创建一个简单的物联网项目。该项目应用旨在使用 Arduino 传感器监测室内天然气,倘若天然气泄漏超标后会发出警报。通过以下几个步骤的学习,我们可以搭建一个简单的天然气监控系统。但这些的前提是需要你对 IoT 项目有一定的了解,如 IoT 含义、以及它将如何影响我们的未来。

接下来,创建一个 IoT Arduino 传感器项目需要准备:

  • MQ-4 天然气传感器
  • 带网络屏蔽的 Arduino Uno
  • 跳线

Arduino 传感器电路

作为天然气传感器,我们使用 MQ-4 传感器。MQ-4 天然气传感器是一个速度快且可靠的传感器,对天然气和甲烷的灵明度高,对丙烷、丁烷也有较好的灵敏度。这种天然气传感器寿命长、成本低,广泛应用于气体泄漏检测。同时在项目中使用两种 LED 灯来显示气体浓度:

  • 绿灯:天然气浓度在临界值以下。
  • 红灯:警报!天然气浓度已超出临界值。

MQ-4 Arduino 传感器有四个引脚:

  • 电源正 Vcc(+5V)
  • 电源地 GND
  • 数字输出
  • 模拟输出

我们使用模拟输出检查气体浓度。示意图如下所示:

注意:示意图仅用于参考,其中的连接天然气传感器只是模拟图而非真实连接。

当刚刚启动天然气传感器时,它可能会感应到一些天然气。这是正常现象,不用担心。在示意图中,有两个电阻连接到 Arduino 数字引脚和 LED 上。阻值为 220 Ohm。了解完以上内容,那么现在就可以准备开发监控 Arduino 传感器大致框架。

开发 Arduino 概要

以下为实现天然气监控系统的大致框架:

int pinRedLed = 11;
int pinGreenLed = 8;
int pinSensor = A5;
int THRESHOLD = 250;
void setup() {
    pinMode(pinRedLed, OUTPUT);
    pinMode(pinGreenLed, OUTPUT);
    pinMode(pinSensor, INPUT);
    Serial.begin(9600);
}
void loop() {
    int analogValue = analogRead(pinSensor);
    Serial.println("Val: " + analogValue);
    digitalWrite(pinGreenLed, HIGH);
    if (analogValue >= THRESHOLD) {
        digitalWrite(pinGreenLed, LOW);
        digitalWrite(pinRedLed, HIGH);
    }
    else {
        digitalWrite(pinRedLed, LOW);
    }
    delay(5000);
}

代码很简单。开始时,声明我们所需连接到传感器和 LED 灯的引脚。然后除非天然气浓度超过临界值时红色 LED 灯亮,否则绿色 LED 灯一直亮。

实现通知

最后一个步骤,我们将实现通知系统,目的是在天然气浓度超标时,我们可以收到邮件通知。因此,Arduino 传感器项目中使用 IFTTT(if this then that)。这是一个强大的系统,其宗旨是“Put the internet to work for you”(让互联网为你服务),可以帮助我们连接无数的服务,如社会服务。如果你是第一次使用这个服务,那么第一步需要注册一个账号。

有了账号后,点击顶部的搜索框来查找“Maker”服务。这个服务是为想要集成 Arduino 外部服务或类似服务的制造商提供:

现在可以运行 Applet 和创建一个新的 Applet。点击加号添加服务。也可以在之前创建的 Applet 中添加“Maker”服务。点击接收 web 请求并配置触发器。这是一个触发通知的过程,换句话说,一旦 IFTTT 接收到 web 请求,它就会发送一封邮件。

创建触发器。当触发器触发时,服务开始执行。再次点击加号并添加邮件服务。

添加电子邮件内容并确认。最后在 IFTTT 中你会收到服务配置。

现在来触发这个事件,我们必须在服务配置中调用 URL。同时更改 Arduino 草图配置,当模拟值超过临界值时,调用 URL。

总结

最终,通过以上三个步骤就可以实现一个简单的 IoT 项目了。整合在线服务及 Arduino,你也可以扩展你的 Arduino ,并添加几行代码来创建一些有趣有用的 IoT 项目。


SDCC 2017·上海站将于2017年3月17-19日登陆申城,三大技术峰会和24位嘉宾,汇聚国内知名的互联网公司CTO、架构师、技术总监,畅谈运维、数据库和架构的热门话题和技术热点,遇见精益运维发起人&优维科技CEO王津银、MongoDB大中华区首席架构师唐建法和华为软件API开放平台架构师李林锋等大牛。截止3月5日前门票八折优惠中,5人以上团购立减400元,详情点击注册参会

评论