基于YEELINK平台的烟雾宝盒(网络版)

2015-02-024.1万
精华项目
AI 快速预览详细 收起
基于YEELINK平台的烟雾宝盒(网络版)是一个使用DFRduino UNO R3、MQ2传感器等硬件的烟雾报警装置。该项目通过远程监控房间烟雾值,并在烟雾值超过设定极限时通过微博提醒用户。主要硬件包括DFRduino UNO R3、MQ2传感器、Ethernet W5100、数字LED发光模块和数字蜂鸣器模块。通过注册并登录YEELINK平台,添加新设备和传感器,设置相关参数后,即可实现远程监控和提醒功能。
一、项目介绍:    上个月我们制作的“烟雾宝盒”存在一个明显“滞后性”。使用者必须呆在或者近距离观察烟雾宝盒才能知道获知烟雾情况,实际上此时人们已经受到了烟雾的侵扰,那么能否提前得知房间是否出现烟雾呢?我们将本项目中跟大家介绍基于YEELINK平台的烟雾报警装置。可以让大家通过网络或者手机客户端,了解房间的烟雾值。更重要的是当烟雾达到设定的极限值,可以通过发送微博方式提醒您。

二、图片介绍
基于YEELINK平台的烟雾宝盒(网络版)图1设备完整效果图。

效果演示视频。
http://www.tudou.com/programs/view/3WeJAvFsBoA/

为了加快实验现象,我们使用打火机的气体。
三、硬件列表
    本次项目中为了让东西做出来更“整洁完美”些,我们在上次实验器材的基础上做了一些改动。具体器材列表如下:
     


序号
名称(数量)
商城地址
1
DFRduino  UNO R3(*1)
https://www.dfrobot.com.cn/goods-521.html
2
  
IO  传感器扩展板 V7.1(*1)
  
https://www.dfrobot.com.cn/goods-791.html
3
Ethernet  W5100(Arduino兼容)(*1)
https://www.dfrobot.com.cn/goods-160.html
4
  
模拟一氧化碳气体传感器 -MQ2 (*1)
  
https://www.dfrobot.com.cn/goods-539.html
5
数字LED发光模块(*3种颜色)
https://www.dfrobot.com.cn/goods-72.html
6
数字蜂鸣器模块(*1)
https://www.dfrobot.com.cn/goods-86.html
7
盒子(*1)
自己找吧(尺寸和UNO尺寸大致相当即可)

四、制作步骤及数据连线。
(1)主控板安装:
将UNO R3放置在盒子内部,对应孔位,用微钻打孔,用螺丝将其固定在盒子底部。
(2)传感器安装
将W5100安装在UNO上,再将IO 传感器扩展板 V7.1叠加在W5100上。如下所示
基于YEELINK平台的烟雾宝盒(网络版)图2
(3)指示灯安装
将红、黄、蓝三色LED发光模块,安装在盒子的侧面,对应孔位先用微转打孔,用螺丝固定模块。如下图所示。由于该模块是数字型号,所以分别将其三根线插在传感器拓展板的数字口(扩展板上标有大写字母D的插口)6、7、8上(绿色数字口,红色VCC,黑色GND)。其中红色LED对应数字口6,绿色LED对应数字口7,蓝色LED对应数字口8。
基于YEELINK平台的烟雾宝盒(网络版)图3
(4)蜂鸣器安装
将数字蜂鸣器模块安装在盒子的另一侧面,将其三根线插在传感器拓展板的数字口4上(绿色数字口,红色VCC,黑色GND)
(5)安装传感器,

模拟气体传感器 (MQ2),接在传感器扩展板的模拟口2上(扩展板上标有大写字母A的插口)(蓝色对应模拟口,红色对应VCC,黑色对应GND)。使用DF烟雾传感器内的螺丝将传感器固定在盒子顶部。

至此我们已经完成了本地硬件部分的器材安装与数据连线。
(6)注册并登录平台
进入yeelink平台注册个用户(这里不再介绍),以注册用户身份登录平台,进入用户中心。登录后点击用户头像可以进入“用户中心”。
   (7)添加新设备

进入用户中心后,在页面左侧导航栏选择“我的设备”——“增加新设备”如下图所示。同时右侧出现“增加新设备” 页面。依次完成设备来源、设备名、标签 TAGS、描述、地理位置名称、地理位置数据等项目的设置。其中设备来源选择为自选设备、设备名为物联网测试项目、标签TAGS为烟雾、描述为烟雾、地理位置名称为你所在省市地区名称、地理位置数据请从地图放置一个标记以表示设备所在的位置,坐标会被自动记录。当以上设置完成后,点击保存按钮完成新设备的添加。
基于YEELINK平台的烟雾宝盒(网络版)图4
   (8)添加传感器

点击Yeelink页面导航栏“我的设备”——“管理设备”即可看到之前添加的设备,选择需要添加传感器的设备如我们刚才添加的“物联网测试项目”,进入该设备的界面,在页面左下方传感器栏目下,点击“增加一个传感器”即可为烟雾监测添加一个传感器。
基于YEELINK平台的烟雾宝盒(网络版)图5

   (9)设置传感器
    点击添加传感器后,进入传感器设置界面。依次设置传感器名为烟雾传感器,类型为:数值型传感器,完成以上设置后点击“保存”按钮。这样我们就建立了一个名为“物联网测测试项目”的设备,同时该设备拥有了一个名为“烟雾传感器”的数值型传感器。
基于YEELINK平台的烟雾宝盒(网络版)图6

五、程序代码
  1. <div align="left">.#include <Ethernet.h></div><div align="left">#include <WiFi.h></div><div align="left">#include <SPI.h></div><div align="left">#include <yl_data_point.h></div><div align="left">#include <yl_device.h></div><div align="left">#include <yl_w5100_client.h></div><div align="left">#include <yl_wifi_client.h></div><div align="left">#include <yl_messenger.h></div><div align="left">#include <yl_sensor.h></div><div align="left">#include <yl_value_data_point.h></div><div align="left">#include <yl_sensor.h></div><div align="left">//this example reads data from a lm35dz sensor, convert value todegree Celsius</div><div align="left">//and then post it to yeelink.net</div><div align="left">//replace 2633 3539 with ur device id and sensor id</div><div align="left">yl_device ardu(17617);  //此处替换为你的设备编号</div><div align="left">//yl_sensor therm(26154, &ardu);//此处替换为你的传感器编号</div><div align="left">yl_sensor yw(30621, &ardu);</div><div align="left">//replace first param value with ur u-apikey</div><div align="left">yl_w5100_client client;</div><div align="left">yl_messenger messenger(&client,"e1613c569602335b3d76c77cb5e29884","api.yeelink.net");   //此处替换为你自己的API KEY</div><div align="left">const int YW_PIN=A2;//烟雾</div><div align="left">float yw_convertor(int analog_num2)</div><div align="left">{</div><div align="left">       return analog_num2 *(5.0 / 1024.0 * 100);</div><div align="left">}</div><div align="left">void setup()</div><div align="left">{</div><div align="left">    Serial.begin(9600); //for output information</div><div align="left">      pinMode(6,OUTPUT);</div><div align="left">      pinMode(7,OUTPUT);</div><div align="left">      pinMode(8,OUTPUT);</div><div align="left">      pinMode(4,OUTPUT);</div><div align="left">      byte mac[] = {0xDE,0xAD, 0xBE, 0xEF, 0xFE, 0xAA};</div><div align="left">      Ethernet.begin(mac);</div><div align="left">}</div><div align="left">void loop()</div><div align="left">{</div><div align="left">  yl_sensor yw(30621,&ardu);//此处替换为你的传感器编号(烟雾)</div><div align="left">  int y = analogRead(YW_PIN);</div><div align="left">  Serial.println(y);</div><div align="left">       if (y>900)   {</div><div align="left">    digitalWrite(6,HIGH);   </div><div align="left">    digitalWrite(7, LOW); </div><div align="left">    digitalWrite(8, LOW); </div><div align="left">    tone(4,100);          //发出指定频响  </div><div align="left">    pinMode(4,INPUT);  //关闭4号口输出,没有想到其他好办法所以将状态改为输入</div><div align="left">      }</div><div align="left">else {   </div><div align="left">  if (y>500) {</div><div align="left">    digitalWrite(7,HIGH);  </div><div align="left">    digitalWrite(6, LOW); </div><div align="left">    digitalWrite(8, LOW);  </div><div align="left">  }</div><div align="left">    else </div><div align="left">    {digitalWrite(8, HIGH); </div><div align="left">    digitalWrite(6, LOW); </div><div align="left">    digitalWrite(7, LOW); </div><div align="left">    }</div>
  2. <div align="left"> }</div><div align="left">  yl_value_data_pointdp2(yw_convertor(y));</div><div align="left">  yw.single_post(messenger,dp2);</div><div align="left">  delay(1000);</div>
  3. <div align="left">}</div>
复制代码


六、实验效果
       当烟雾值超过设置的极值时,网络端、手机客户端、微博客户端相关节目如下:
基于YEELINK平台的烟雾宝盒(网络版)图7

基于YEELINK平台的烟雾宝盒(网络版)图8基于YEELINK平台的烟雾宝盒(网络版)图9


创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(7)
zerotwox
zerotwox
很赞的说
a51125784
a51125784
您好 按照您的例子 我把程序修改完了 器件也连接好了 电脑上串口能够检测到MQ-2传感器的数据 可是yeelink那就是检测不到啊 没有数据 而且显示传感器异常
hnyzcj
hnyzcj
作者
回复a51125784
PM2.5是占用串口的
hnyzcj
hnyzcj
作者
回复a51125784
确保YEELINK当时没有挂 ma?
共5条回复,已加载2条,点击查看更多共5条回复,已加载全部
x795x
x795x
那个一氧化碳传感器能换成一个pm2.5传感器,然后就变成一个pm2.5检测仪吗?
hnyzcj
hnyzcj
作者
回复x795x
x795x
x795x回复hnyzcj
等于说所需要的元件基本不变,只换个传感器即可?那个yeelink的程序该怎么办呢?
共12条回复,已加载2条,点击查看更多共12条回复,已加载全部
sling555
sling555
好有创意啊!
qq815076543322
qq815076543322
结合上一个 算不算家庭智能设计啦
luna
luna
表白~~表白~~\(^o^)/~
hnyzcj
hnyzcj
作者
回复luna
表白什么?
xilzheng
xilzheng
好贴,赞一个,沙发
- 没有更多了 -