基于yeelink平台与Arduino的远程信号监测系统

(整期优先)网络出版时间:2018-06-16
/ 2

基于yeelink平台与Arduino的远程信号监测系统

李锐苟译丹王艺臻姚思远钱云霞

(徐州医科大学)

摘要:介绍基于yeelink平台与Arduino的远程信号监测系统的设计思路,利用yeelink平台,Arduino板的信号采集、处理、传输技术,实现对室内各种环境指标如:温度、湿度、PM2.5(可入肺颗粒)浓度、co(一氧化碳)浓度的实时测量与显示。对室内可能存在的环境问题进行预警。

关键词:yeelink平台;arduino;传感器;远程监测

基于yeelink平台与Arduino的远程信号监测系统是一种新型的软件形式,是逐渐提高的生活水平所要求的新的生活需求。已存在的此类远程信号采集监测系统往往成本较高,操作复杂,使用局限性较大,往往适用于工业或者农业,无法达到民用的目的。而生活水平的提高使得民众对于自己的生活环境也有了较高的要求。

为了缓解这种日益增大的矛盾,本文设计了一种成本低、可靠性高、可实时、远程对所在地进行温湿度、co浓度、PM2.5浓度、紫外线强度监测的方案。该方案基于ArduinoUNO硬件平台,这是一种目前应用广泛的基本Arduino硬件电路,可扩展性强。传感器选用DHT11、MQ-5、CJMCU-GUVA-S12SD、GP2Y1010,都是目前常用的,价格便宜,可靠性和精确度高。在软件方面,Arduino有自己的IDE开发环境,可与Flash或Processing等软件配合开发。后端使用了国内的物联网平台yeelink作为数据站点,极大的降低了数据存储与实时显示的难度。

1监测系统

1.1系统原理

置于监测环境中的温湿度传感器DHT11、气体传感器MQ-5、紫外线强度传感器CJMCU-GUVA-S12SD、灰尘传感器GP2Y1010分别将采取到的数据传给Arduino板。Arduino板将接收到各传感器的信号进行处理、存储和传输。由于所使用的为ArduinoUNO基本板无网络数据传输功能,需要加入W5100网络扩展板,对需要上传网络数据按照以太网数据传输的格式和规则进行编码。在yeelink平台对系统API配置完成后,即可通过网络在yeelink网站或者手机app上远程、实时地查看传感器数据,对环境状态进行监测。

1.2硬件设计

1.2.1Arduino控制板及W5100网络扩展板。控制板采用Arduino平台,它构建于开放原始码simpleI/O介面版,并且具有使用类似Java、C语言的Processing/Wiring开发环境,是一个开源软硬件平台。近年来发展迅速,应用广泛,在各种基于传感器的系统原型设计方面得到了广泛应用。同时UNO预置了Bootloader程序,不需要其他外部焼写器,可直接通过USB下载程序[1]。

W5100是一款多功能的单片网络接口芯片,内部集成有10/100Mbps以太网控制器,主要应用于高集成、高稳定、高性能和低成本的嵌入式系统中。使用W5100可以实现没有操作系统的Internet连接。W5100与IEEE802.310BASE-T和802.3u100BASE-TX兼容。共提供3种接口:直接并行总线,间接并行总线和SPI总线。W5100与MCU接口非常简单,可以像访问外部存储器一样轻松进行网络数据传输[2]。

1.2.2温湿度传感器DHT11。DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。

1.2.3气体传感器MQ-5。MQ-5气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。当传感器所处环境中存在可燃气体时,传感器的电导率随空气中可燃气体浓度的增加而增大。可将电导率的变化转换为与该气体浓度相对应的输出信号。此系统中主要用于co浓度的检测。

1.2.4紫外线强度传感器CJMCU-GUVA-S12SD。紫外线传感器CJMCU-GUVA-S12SD是尺寸11mm×27mm,检测范围宽在240nm-370nm间,供电电压2.5V~5V,工作电流为微安级,大角度为130度,是利用光敏元件将紫外线信号转换为电信号的传感器。

所用为光导模式,光导模式是指需要串联一个电池工作,传感器相当于一个电阻,电阻值随光的强度变化而变化,这种传感器具有线性好、灵敏度高、高稳定性。所含肖特基种类的光敏二极管,适用于光电模式。

1.2.5灰尘传感器GP2Y1010。平行光入射到被测颗粒场时,会受到颗粒周围散射和吸收的影响,光强将被衰减。GP2Y1010可求得入射光通过待测浓度场的相对衰减率。而相对衰减率的大小基本上能线性反应待测场灰尘的相对浓度。

GP2Y1010可以感知烟草产生的烟气和花粉,房屋粉尘等1μm以上的微小粒子,体积小,重量轻,便于安装。5V的输入电路,便于信号处理,内藏气流发生器,可以自行吸引外部大气。

1.3软件设计

1.3.1Arduino数据采集。Arduino使用的程序有固定的规范与流程,每个程序中只有一个setup()和一个loop()函数,setup()函数中的代码在程序烧录完毕后只执行一次,一般为初始化或全局变量描述等。当setup()函数中的代码执行完毕后将循环loop()函数内的代码。

Setup函数里完成USB的初始化,loop函数中通过USB接收从传感器获取的环境数据。整个软件通过Arduino的集成开发环境可完成调试、下载。

1.3.2yeelink云端配置。完成Arduino与yeelink对接并进行数据传输需在源程序与yeelink平台上对传感器的数目及ID进行配置,以及APIkey申请。APIkey用来授权对设备、传感器、数据等的操作,APIkey可在yeelink平台“我的账户设置”中找到,APIkey可重复申请,不需担心过期问题[3]。传感器与yeelink平台配置源程序如下:

yl_deviceardu(4136);

yl_sensortherm(5895,&ardu);

yl_w5100_clientclient;

yl_messengermessenger(&client,"dc7d1c98898fa2e45xxxxxxx","api.yeelink.net");

2系统运行及测试

该系统自2016年8月16日起在yeelink平台运行,传感器置于工作室内,图2-5分别展示了温度、湿度、co浓度、灰尘浓度,一周内的数据折线图。当鼠标定位在其中某个点(数据采集点)出,将显示该时刻的标准时间和数据值。

结语

本系统将各类传感器与Arduino板相连,连接网线即可进行数据上传,通过yeelink平台实现了远距离、实时对环境进行监测的目的。Arduino板可以重复烧录,使其可以通过增加新的传感器来实现更多功能。低成本、使用简单是这套系统突出的两大优点,它迎合了市场和普通民众的需要,将极大地提高国人的生活质量。

参考文献

[1]蔡睿妍.Arduino的原理及应用[J].电子设计工程,2012,16:155-157.

[2]王计元.单片网络接口芯片W5100的原理与应用[J].上海电力学院学报,2011,02:153-159.

[3]杜一腾,迟宗涛.基于Arduino与yeelink平台的实时环境监测系统[J].单片机与嵌入式系统应用,2014,10:26-29.http://wenku.baidu.com/