查看: 6897|回复: 23

矿工帽——wido物联网利器

[复制链接]
本帖最后由 hnyzcj 于 2015-2-11 20:18 编辑

【作品介绍】
      物联网是新一代信息技术的重要组成部分,也是“信息化”时代的重要发展阶段。其英文名称是:“Internet of things”。顾名思义,物联网就是物物相连的互联网。这有两层意思:其一,物联网的核心和基础仍然是互联网,是在互联网基础上的延伸和扩展的网络;其二,其用户端延伸和扩展到了任何物品与物品之间,进行信息交换和通信,也就是物物相息。物联网通过智能感知、识别技术与普适计算等通信感知技术,广泛应用于网络的融合中,也因此被称为继计算机、互联网之后世界信息产业发展的第三次浪潮。物联网是互联网的应用拓展,与其说物联网是网络,不如说物联网是业务和应用。因此,应用创新是物联网发展的核心,以用户体验为核心的创新2.0是物联网发展的灵魂。
活点定义:利用局部网络或互联网等通信技术把传感器、控制器、机器、人员和物等通过新的方式联在一起,形成人与物、物与物相联,实现信息化、远程管理控制和智能化的网络。物联网是互联网的延伸,它包括互联网及互联网上所有的资源,兼容互联网所有的应用,但物联网中所有的元素(所有的设备、资源及通信等)都是个性化和私有化。
以上内容来自百度百科
那么今天的作品矿工帽,是借助物联网来实现对矿井下有毒气体的实时监测。具体要实现这样一个矿工帽,要借助什么样的工具呢?其实我在上次作品烟雾宝盒中已经实现了这样的功能,但当时是使用的W5100(有线)。所以这次我们使用无线WIFI方式,总不能下井还拖根网线。哈哈。那么这次使用的WIDO绝对是为我等小白,提供了一把“屠龙刀”。
【作品展示】
成品.jpg
【作品器材】
  
序号
  
名称
地址
1
WiDo WiFi物联网主控器 集成CC3000内核
http://www.dfrobot.com.cn/goods-997.html
2
模拟烟雾传感器 (MQ2)
http://www.dfrobot.com.cn/goods-539.html
3
10W 高亮LED灯珠 暖白 120度角
http://www.dfrobot.com.cn/goods-1001.html
4
帽子
1
【制作步骤】

1. 焊接LED引脚延长其正负接线(LED供电是单独走一路点,与控制电路无关)
焊接 .jpg
2.  将LED安装在帽子上,用螺丝固定
LED 安装.jpg
3.  为烟雾传感器在帽子打孔,安装。
打孔.jpg 安装.jpg 背面.jpg
4.  连线,由于此次没有使用传感器拓展版,所以对传感器各线进行延长为了保证连线稳定性,我们对接头用黑胶布包裹。红色接主控板5V,黑色接主控GND,蓝色接主控A0.
线头处理.jpg 帽内布线.jpg
5.DF物联网内置在DF创客社区中,登陆您的用户账号(QQ/weibo也都支持)后,点击您的头像进入个人专区,选择选项卡中的物联网,即可进入IoT功能模块

6.在数据采集模式,点击添加,系统会自动生成一个数据记录选型。您可以自定义这个数据记录模组的名字。
添加数据采集令牌.png 令牌数据.png
记录添加的令牌名称,以备后面程序中使用。
【程序代码】
#include <Adafruit_CC3000.h>
#include <ccspi.h>
#include <SPI.h>
#include <string.h>
#include "utility/debug.h"
#define WiDo_IRQ   7
#define WiDo_VBAT  5
#define WiDo_CS    10
Adafruit_CC3000 WiDo = Adafruit_CC3000(WiDo_CS, WiDo_IRQ,WiDo_VBAT,
SPI_CLOCK_DIVIDER); // you can change this clock speed
#define WLAN_SSID      "XXXXXX"         // 你的无线账号
#define WLAN_PASS      "XXXXXX"     // 你的无线的密码
#define TOKEN          "cffb2538ef6d46c3c4401dfwl" //修改为上面你添加的令牌名
// To get the full feature of CC3000 library from Adafruit,please comment the define command below
// #define CC3000_TINY_DRIVER   // saving the flash memory space for leonardo
#define TIMEOUT_MS     2000
void setup(){
  Serial.begin(115200);
Serial.println(F("Hello, Wido!\n"));
  /* Initialise themodule and test the hardware connection */
Serial.println(F("\nInitialising the CC3000 ..."));
  if (!WiDo.begin())
  {
   Serial.println(F("Unable to initialise the CC3000! Check yourwiring?"));
    while(1);
  }
  /* NOTE: Secureconnections are not available in 'Tiny' mode!
   By default connectToAPwill retry indefinitely, however you can pass an
   optional maximum numberof retries (greater than zero) as the fourth parameter.
   */
  if(!WiDo.connectToAP(WLAN_SSID,WLAN_PASS,WLAN_SECURITY)) {
   Serial.println(F("Failed!"));
    while(1);
  }
Serial.println(F("Connected!"));
  /* Wait for DHCP tocomplete */
  Serial.println(F("RequestDHCP"));
  while(!WiDo.checkDHCP())
  {
    delay(100); // ToDo:Insert a DHCP timeout!
  }  
}
void loop(){
  staticAdafruit_CC3000_Client IoTclient;
if(IoTclient.connected()){
    //Convert LM35 sensorreading to degrees
    int sensValue =analogRead(0) ;
   
    charclientString[50];
   sprintf(clientString,"%s%s%s%d%s","GET/data?token=",TOKEN,"¶m=",sensValue,"HTTP/1.1");
   Serial.println(clientString);
   
    // attach the tokento the IOT Server and Upload the sensor dataIoTclient
   IoTclient.fastrprintln(clientString);
   
   IoTclient.fastrprint(F("\r\n"));
   IoTclient.fastrprint(F("\r\n"));
   
    Serial.println();
//   Serial.println("Upload data to the IoT Server");
/* Read data until eitherthe connection is closed, or the idle timeout is reached. */
    unsigned longlastRead = millis();
    while(IoTclient.connected() && (millis() - lastRead < TIMEOUT_MS)) {
      while(IoTclient.available()) {
        char c =IoTclient.read();
        Serial.print(c);
        lastRead =millis();
      }
    }
    IoTclient.close();
  }
  else{
    // Config the Host IPand DFRobot community IoT service port
    // Data Uploadservice PORT:  8124
    // Real timecontroling service PORT: 9120
    uint32_t ip =WiDo.IP2U32(182,254,130,180);
    IoTclient =WiDo.connectTCP(ip,8124);
   Serial.println("Connecting IoT Server...");
  }
  
  delay(5000);
}
【测试】

刷入以上代码,打开串口监视器如下图所示
串口.png
观察网络客户端数据
烟雾数据.png
【总结】

本次作品,我采用了最简单的监测数据。没有添加任何的反馈处理。如果大家有兴趣的话,可以自行添加相关的功能。


数据.png

大连林海  初级技神

发表于 2015-2-11 20:26:08

来占个沙发
回复 支持 反对

使用道具 举报

Phoebe  管理员

发表于 2015-2-12 10:16:57

教程很详细,不过就怕舒适度不够
回复 支持 反对

使用道具 举报

Ricky  NPC

发表于 2015-2-12 15:38:48

话说这个前面的灯是干嘛用的?
回复 支持 反对

使用道具 举报

hnyzcj  超级版主
 楼主|

发表于 2015-2-12 16:52:54

Ricky 发表于 2015-2-12 15:38
话说这个前面的灯是干嘛用的?

话说这前面的灯装饰用的
回复 支持 反对

使用道具 举报

hnyzcj  超级版主
 楼主|

发表于 2015-2-12 16:52:55

Ricky 发表于 2015-2-12 15:38
话说这个前面的灯是干嘛用的?

话说这前面的灯装饰用的
回复 支持 反对

使用道具 举报

Rockets  NPC

发表于 2015-2-12 17:11:02

对于程序我不发表意见。
对于在安全帽上开孔的这个方法我持保留意见。
对于传感器安装的位置我也持保留意见。
但是我对整个项目的想法持赞赏意见。
理由如下:
由于安全帽的功能是通过结构和材料的组合来防止重物撞击,用来保护头部不受冲击的。
因此在安全帽上开孔会降低结构强度。破坏安全帽的强度。
我一般会建议对于这种情况,可以采用双面胶、绑带等情况来进行安装。不建议开孔固定的方式。
传感器安装的位置为正中心,正好在安全帽结构的顶端,还是从安全上来说会是一个破坏。另外在最顶端即最高处,在一般常识里有毒气体大多比重较高,即往下走的居多,如硫化氢气体,因此放在顶部是否会有探测效果。我表示保留意见。一般我会建议放置于头盔前部迎风面,以便最有效的获得当前数据。
这个项目我很赞赏是因为,想法非常大胆,而且很接地气。虽然作者没有在教程里写到他对高危人群的关怀,但从整个项目的立意来看,还是很有情怀的。
整个项目的实现也非常的简洁,非常适合一步一步动手完成。
相信经过一定时间的酝酿,这会是一个很有故事的作品。
建议作者将安全帽未来可实现的功能做下整理,以便后续人跟进完成。
回复 支持 反对

使用道具 举报

hnyzcj  超级版主
 楼主|

发表于 2015-2-12 20:58:34

Rockets 发表于 2015-2-12 17:11
对于程序我不发表意见。
对于在安全帽上开孔的这个方法我持保留意见。
对于传感器安装的位置我也持保留意见 ...

哈哈,说的非常有道理。希望后面的弟兄跟上。
回复 支持 反对

使用道具 举报

Youyou  初级技匠

发表于 2015-2-14 19:57:30

Rockets 发表于 2015-2-12 17:11
对于程序我不发表意见。
对于在安全帽上开孔的这个方法我持保留意见。
对于传感器安装的位置我也持保留意见 ...

神评论,非常注重了细节!
回复 支持 反对

使用道具 举报

老刘  初级技师

发表于 2015-2-15 23:54:52

Rockets 发表于 2015-2-12 17:11
对于程序我不发表意见。
对于在安全帽上开孔的这个方法我持保留意见。
对于传感器安装的位置我也持保留意见 ...

矿井下面是潮湿的,这个要发表意见
回复 支持 反对

使用道具 举报

a920496044  见习技师

发表于 2015-2-16 20:04:48

本帖最后由 a920496044 于 2015-2-16 20:07 编辑
Rockets 发表于 2015-2-12 17:11
对于程序我不发表意见。
对于在安全帽上开孔的这个方法我持保留意见。
对于传感器安装的位置我也持保留意见 ...

其实也可以做成【绑脚】+【蓝牙】 ,酱紫好吗
因为一些对人体有害的气体是沉积在底部,脚部有反应的话就能马上知道不要下去了,酱紫会不会安全一点呢  
回复 支持 反对

使用道具 举报

老刘  初级技师

发表于 2015-2-20 00:38:39

a920496044 发表于 2015-2-16 20:04
其实也可以做成【绑脚】+【蓝牙】 ,酱紫好吗
因为一些对人体有害的气体是沉积在底部,脚部有反应的话就 ...

为何不做成固定的安装在矿井中?
回复 支持 反对

使用道具 举报

Rockets  NPC

发表于 2015-2-25 11:04:37

老刘 发表于 2015-2-20 00:38
为何不做成固定的安装在矿井中?

我的考虑是,布设的成本可能会比较高。当然如果可以固定布设,就可以形成网络,然后通过软件进行有效的分析来进行预警和干预。
有在新建的停车场看到非常奢侈的布设,每个车位用摄像头对准车位,在电梯口可以通过触屏来输入车牌号码,直接搜索车位及给出路径。
我相信对于有钱的大户人家,这种布设是可以的。但对于矿井这种情况, 是否会有人砸那么多钱进去做这个事情,我是存疑的。
回复 支持 反对

使用道具 举报

老刘  初级技师

发表于 2015-2-26 19:23:11

Rockets 发表于 2015-2-25 11:04
我的考虑是,布设的成本可能会比较高。当然如果可以固定布设,就可以形成网络,然后通过软件进行有效的分 ...

我考虑的就是可以中央控制,如果采用无线方式,wifi信号的穿透能力不强势必会导致连接的不稳定,特别是在井下这种复杂的环境,这个就要通过增加接入点的方法去克服了,算下来成本也不小。如果是单单对工人做预警用,倒不需要这么复杂。

你说的停车场是立体自动车库么?这个是高大上。话说我之前看了一个自动仓储的视频,看得心潮澎湃。
回复 支持 反对

使用道具 举报

hnyzcj  超级版主
 楼主|

发表于 2015-2-26 20:50:31

Rockets 发表于 2015-2-25 11:04
我的考虑是,布设的成本可能会比较高。当然如果可以固定布设,就可以形成网络,然后通过软件进行有效的分 ...

这个投钱,就要矿主了
回复 支持 反对

使用道具 举报

hnyzcj  超级版主
 楼主|

发表于 2015-2-26 20:52:09

Rockets 发表于 2015-2-25 11:04
我的考虑是,布设的成本可能会比较高。当然如果可以固定布设,就可以形成网络,然后通过软件进行有效的分 ...

视觉识别码,车牌识别。话说安徽理工大学门岗采用的就是这种方式,对校内车辆输入系统,进门自动识别,在也不要保安按遥控器了。
回复 支持 反对

使用道具 举报

老刘  初级技师

发表于 2015-3-2 21:47:39

hnyzcj 发表于 2015-2-26 20:52
视觉识别码,车牌识别。话说安徽理工大学门岗采用的就是这种方式,对校内车辆输入系统,进门自动识别,在 ...

科技的进步呀。
回复 支持 反对

使用道具 举报

CranberryYam  见习技师

发表于 2015-3-13 15:25:54

大神请问一下板子只有第一次循环中才能连接上 sever,即Wido.connectTCP操作成功,后面都不成功,是为什么?
回复 支持 反对

使用道具 举报

hnyzcj  超级版主
 楼主|

发表于 2015-3-13 21:01:19

地址改成自己的WIFI信号吗
回复 支持 反对

使用道具 举报

hnyzcj  超级版主
 楼主|

发表于 2015-3-13 21:15:06

CranberryYam 发表于 2015-3-13 15:25
大神请问一下板子只有第一次循环中才能连接上 sever,即Wido.connectTCP操作成功,后面都不成功,是为什么 ...

想起来了,我也遇到过的,如果你是操作是正确的话,可能是他们网站响应的问题吧。
回复 支持 反对

使用道具 举报

huangsw  学徒

发表于 2015-6-10 17:10:16

老刘 发表于 2015-2-20 00:38
为何不做成固定的安装在矿井中?

应该装在煤老板的心里。
回复 支持 反对

使用道具 举报

12下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
wifi气象站

硬件清单

btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2016 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail