本帖最后由 太阳雨 于 2013-7-25 00:48 编辑
基于乐联网的温湿度(DHT11)监控应用 本文是参加乐联网的LEWEI50 E-KIT活动针对题目1所做的。 题目1:介绍乐联网添加网关;添加传感器相关操作;完成传感器数据上传;通过平台查看实时上传数据;查看历史曲线;完成数据导出;通过微信查询数据。 我把实现数字温湿度传感器DHT11数据上传和查看的操作以Step by Step的形式介绍一下。 一、注册/登陆乐联网 登陆乐联网网站http://www.lewei50.com,打开如下乐联网页面,在右上角有登陆/注册。
要注册用户点击“注册”,进入如下注册/登陆页面,即可进行注册。已注册用户也可以在该界面进行登陆。 二、添加网关 登陆后就会进入如下页面。在左侧的“管理菜单”中的第一项是“我的物联设备”,要添加网关,点击其中的“我的网关”。 可以选择编辑已有的默认网关或者选择添加新网关,比如选择“添加新网关”,在下图中填写相关信息及根据需要勾选相关选项后,点击保存就完成网关的添加了。 相关参数解释如下: 标识:网关的标识。系统自动分配,按01,02,……,这么向下自动排序。 类型:根据网关设备采取的不同硬件,网关被分为Arduino,ART,其它和lw-board四种类型。说明如下: Ø Arduino:电子爱好者熟知的一款电子原型平台硬件 Ø ART:RT-Thread公司开发的一款国内开源平台硬件 Ø 其它:其它类型的网络功能硬件 Ø Lw-board:乐为物联公司自己开发的网络功能模块硬件 名称:该网关的名称 是否可控:如果该网关下有可反向控制设备,则勾选“是”,然后需要输入API地址。 网关介绍:网关的简单文字介绍 是否公开:如果公开你的网关,则别的用户能在乐联网公开设备地图上看到你的网关信息(网关名称及网关介绍)。 地理位置:在地图上选择你网关所在的地理位置。 对已有的网关的修改在“我的网关列表”中选择要修改的网关,点击对应行中的“编辑”即可,修改界面和添加新网关界面一样。 我的网关设置如下图,标识是“01”;类型是“Arduino”;名称是“2560”;是否可控未勾选;网关介绍:通过Arduino2560控制并显示串口信息;是否公开选择“是”;地理位置在地图上点击自己城市街道的位置即可。 三、添加设备 添加网关之后,需要添加网关下面的设备。点击“添加设备”,可以添加的设备有测量设备、控制设备和摄像头三种类型。 点击“我的设备”,选择如下“测量设备”页面。 然后点击“新建”,出现下图。 相关参数解释如下: 缩写:测量设备的缩写,为字母和数字的组合,如“T1”; 类型:可以在下拉菜单选择不同的测量设备类型,区别是不同类型的数值单位不一样,如温度是C,浓度是%等等; 单位:与类型相关联,如果“类型”中选择“其他类型”,则需要这里手动输入单位; 选择网关:从下列菜单选择该测量设备连接的网关; 名称:测量设备名称; 数值转换:可以校准你的设备,最终的保存数值=上传数值*系数+偏移,如果你的测量设备没有系数和偏移值,则可以留空,主要应用于仪器仪表类测量设备; 照片:可以上传你测量设备的照片,公开后在乐联网公开设备地图可以看到; 是否公开:是否公开你的测量设备,只有当网关和网关连接的测量设备同时公开,你才可以看到测量设备的信息和数据; 正常值范围:设置数据的正常值范围; 超过范围告警:勾选,则测量数值不在正常值范围会自动短信告警; 发送频率:当前设备的最小保存时间,发送频率仅作为判断测量设备在线的衡量标准,如果服务器在发送频率设置的时间内没有收到数据,则显示该设备不在线; 备注:测量的设备的备注信息; 发送超时报警:设备超时(超过发送频率设置的时间)不发送数据有短信告警; 自动发微博:可以绑定新浪微博,自动推送微博。 我是将DHT11作为温度测量和湿度测量2个测量设备分别进行添加的。 温度测量设备设置如下。标识是“T1”;类型选择“温度监控”;单位是“C”;选择网关“2560”;名称是“2560-H1”数值转换留空;照片从电脑上选择图片上传即可;是否公开选择“是”;其他没有改动。最后保存就完成温度传感器的添加。 湿度测量设备设置与温度测量设备设置类似,如下图。 四、传感器数据上传 1、Arduino控制系统 (1)Arduino控制系统电路图 (2)DHT11引脚描述 按照以上电路图连接电路。 (3)编写程序并下载到Arduino中 程序代码如下: #define DHT11_PIN 1 //DHT11连接在Arduino UNO 模拟端口PIN 1 int led=13; //定义led为13引脚 byte read_dht11_dat() //“读取DHT11的温湿度值”子函数 { byte i = 0; byte result = 0; for(i=0;i<8;i++) { while(!(PINC&_BV(DHT11_PIN)));//延时 delayMicroseconds(30); if(PINC&_BV(DHT11_PIN)) result|=(1<<(7-i)); while((PINC&_BV(DHT11_PIN))); } return result; } //初始化 void setup() { DDRC|=_BV(DHT11_PIN); PORTC|=_BV(DHT11_PIN); pinMode(led,OUTPUT); Serial.begin(19200);//串口通讯启动,波特率收发两端设置一致即可 } //主程序 void loop() { byte dht11_dat[5];//存储从DHT11传感器采样的温湿度值的数组 byte i; PORTC &= ~_BV(DHT11_PIN);//启动采样需要将该引脚拉低18ms delay(18); PORTC|=_BV(DHT11_PIN);//延时 delayMicroseconds(40); DDRC &= ~_BV(DHT11_PIN);//延时 delayMicroseconds(200); // 读取来自DHT11传感器的5个字节温湿度值 //第一个字节是湿度值整数部分,dht11_dat[0] //第二个字节是湿度值小数部分,dht11_dat[1] //第三个字节是温度值整数部分,dht11_dat[2] //第四个字节是温度值小数部分,dht11_dat[3] //第五个字节是校验值,可以判断数据传送是否正确 for(i=0;i<5;i++) dht11_dat=read_dht11_dat(); DDRC|=_BV(DHT11_PIN); PORTC|=_BV(DHT11_PIN); // byte dht11_check_sum = dht11_dat[0]+dht11_dat[1]+dht11_dat[2]+dht11_dat[3]; //检测校验值,判断是否采样出错。由于实验中没有出错,故没有采用检测校验值。 /* if(dht11_dat[4]!= dht11_check_sum) { Serial.println("DHT11 checksum error"); }*/ //把湿度值和湿度值按照格式要求上传上位机,格式要求见乐为物联串口数据上传工具界面 Serial.print("H1: "); Serial.print(dht11_dat[0],DEC); Serial.print("."); Serial.print(dht11_dat[1],DEC); Serial.println(";"); Serial.print("T1: "); Serial.print(dht11_dat[2],DEC); Serial.print("."); Serial.print(dht11_dat[3],DEC); Serial.println(";"); //led闪烁说明数据采集正常 digitalWrite(led, HIGH); delay(2000);//延时 digitalWrite(led, LOW); delay(2000);//延时 } (4)检查采集数据是否正确 利用Arduino自带的串口监视器或其他串口调试软件查看串口输出数据是否正确。根据自己的具体情况选择正确的COM口及波特率,如下图所示。如果串口接收数据显示正确,关闭串口监视器或其他串口调试软件,进行下一步数据上传。 2、上传数据 在乐联网首页的相关下载页面找到乐为物联串口数据上传工具并下载,打开从乐联网下载的乐为物联串口数据上传工具,填写自己的网关序号,将COM口和波特率正确设置。 Userkey在自己登陆到乐联网后,点击管理菜单下的我的账户,再点击设置个人信息就能够看到自己的用户key。将其复制到Userkey后面的框中。在普通串口数据页面点击开始上传即可上传数据。 将数据发布到乐联网上以后,就可以在任何地方登陆乐联网查看数据了。 五、乐联网平台数据的查询及分析 1、数据查询 我们进行数据查询有2种情况:一是在乐联网首页的公开设备页面查看自己或他人上传且公开在乐联网的数据。一是在登陆自己乐联网账户后查看自己上传的数据(无论公开与否)。 (1)查看公开设备 在下图中可以看到一个搜索框,在搜索框中输入网关或测量设备名称即可搜索到匹配的测量设备。然后点击要查看的网关就可以看到该网关下的所有测量设备的上传数据;点击要查看的测量设备只显示该测量设备的上传数据。 在搜索框下面有地图模式、列表模式和推荐网关三个页面。提供了较为方便的搜索上传数据的方式,这里就不多说了。 上个图吧。 (2)账户数据查询 登陆自己的乐联网账户后,在我的物联设备子菜单点击实时数据,可以选择自己的测量设备查看实时数据。 还可以在统计分析及报表子菜单,点击历史走势分析可以查看指定时间范围的历史走势图;点击历史数据查询可查询指定数值范围和时间范围的历史数据。 2、数据导出 在统计分析及报表子菜单,点击数据导出,根据测量设备类型、缩写、名称来查询测量设备。 点击选定的测量设备后面导出当前数据,即可根据需要打开或保存数据。 六、手机查询数据 在手机上查询数据的方法有两种:一是通过微信可以查询指定用户上传的公开数据。二是通过乐联网的APP客户端程序,登陆自己的乐联网账户,进行上传数据的查询。 1、微信查询数据 在微信的登陆界面依次点击通讯录、公众帐号,在搜索栏输入lewei50查找并关注乐联网的公众帐号。打开乐联网消息界面,发送 “u 用户名”即可查询该用户的公开的最新上传数据。 2、乐联网APP客户端查询 在乐联网首页相关下载页面下载并安装手机APP程序,登陆乐联网账户后,在我的物联网界面,点击传感器列表,可以看到自己的网关下的各种测量设备,点击选定的测量设备即可查询其上传数据。 不要说在手机上通过浏览器也可以像在电脑上一样可以查询数据啊!呵呵! 啰嗦完了,有兴趣的自己做一下好了。有问题可以加乐联网技术支持群(59162154)进行交流。
使用LEWEI50 E-KIT套件做的实验另写了一篇,见下面的链接:
http://www.geek-workshop.com/thread-5435-1-1.html |