ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:180.64KB ,
资源ID:3719363      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3719363.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于yeelink的温度远程采集系统实训报告学位论文.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于yeelink的温度远程采集系统实训报告学位论文.docx

1、基于yeelink的温度远程采集系统实训报告学位论文信息工程学院实训报告题目:Yeelink物联网温度远程采集系统学生姓名: 许淄豪 牛敏学 号:1167106121 1167106124专 业: 信息工程学院自动化班 级: 自20111班指导教师: 贾玉瑛、李琦实训任务书一、实训目的掌握MCS-51串行口工作方式及其通信程序设计方法。掌握RS-232串行总线通信原理及单片机与PC机通信方法。(3)掌握LED数码管电路(LCD显示模块)的软硬件设计方法。(4)掌握单总线数字温度传感器驱动软件设计。(5)掌握Yeelink物联网数据上传方法。二、实训内容单片机通过单总线采集18B20温度数据;将

2、采集到的数据显示在4位LED数码管或LCD液晶显示器上;(3)注册Yeelink物联网账号,获取key,下载串口转发软件;(4)通过串口将采集到的温度数据发送到串口转发软件,由后者发布到互联网。三、yeelink物联网介绍网址:步骤:1、 在yeelink官网注册账号,详见:2、 注册成功后在“账户-我的账户设置”中获取APIKEY3、 在“我的设备”添加一个新设备4、 在“管理设备”添加一个传感器”5、 在 相关链接下载yeelink串口工具,掌握其用法。摘 要 随着网络的迅猛发展,许多新兴产业随之产生并蓬勃兴起,正是在这种浪潮下Yeelink物联网平台应运而生。Yeelink是一个开放的通

3、用物联网平台,主要提供传感器数据的接入、存储和展现服务,为所有的开源软硬件爱好者、制造型企业,提供一个物联网项目的平台。使得硬件和制造业者能够在不关心服务器实现细节和运维的情况下,拥有交付物联网化的电子产品的能力。Yeelink平台的最大特点,在于不仅仅能够提供数据的上行功能,还能够实现对家庭电器的控制功能,快要到家前想洗个热水澡,还是要提前把空调打开?很简单,用手机的智能App,这些就是举手之劳。简单地说,就是可以把你采集到的数据提交到Yeelink,同时Yeelink会以一定的形式展现出来。比如我们采集温度数据,然后提交上去,这样,无论你人在何方,只要能接入互联网,你就可以实时地在线监测温

4、度值。本次实训内容便是通过数字温度传感器将实时采集的温度显示在数码管上,并通过串口将其发送到PC机,PC机通过yeelink串口转发工具发布到互联网。关键词:温度、传感器、yeelink、物联网、远程采集AbstractWith the rapid development of the Internet,many new industriesemerged andflourished, it is in thiswave of Internet of things platformemerge as the times require Yeelink. Yeelink is the unive

5、rsalsubstancean open networkplatform,mainly to providesensor dataaccess, storageand display services,open sourcesoftware and hardwareenthusiasts,all manufacturing enterprises, to provide aIOTprojectplatform.Thehardware andthe manufacturercannotcare about server implementation details andoperation, c

6、apability of electronicproducts have aIOTofdelivery.The biggest characteristicof Yeelink platform,isnot only to provideuplinkdata,also can realize the control functionof household electrical appliances,want to washa hot bathcomesbefore,or to turn on the air conditionerin advance?Very simple, intelli

7、gentmobile phone App,theseare tolift a finger. Say simply,is that we can put yourcollected data submitted to the Yeelink,and the Yeelink will be displayed ina certain form.For example,wecollect temperature data,and thensubmitted to go up,so, whether youarein where,as long as you canaccess the Intern

8、et,you can monitor real-time temperature value.This training contentsis throughdigital temperature sensorwill be real-time collection of temperaturein the digital tube display,and send it toPC through theserial port,PCposted to the Internet through Yeelinkserial port forwardingtool.Keys: Temperature

9、 Sensor Yeelink Fetishism Remote monitoring目录 实训任务书 I摘 要 IIAbstract III1.1 硬件电路 21.1.1 背景知识 21.1.2 课题介绍 21.1.3 主要原理 21.1.3.1 主控制器 21.1.3.2 显示电路 21.1.3.3 温度传感器 21.1.3.4 DS18B20温度传感器与单片机的接口电路 71.1.3.5 ZLG7290芯片 71.1.3.5.1 ZLG7290作用及其功能介绍 71.1.3.5.2 ZLG7290使用说明 71.1.3.6 ZLG7290工作原理 81.1.4 系统构成框图 81.1.5

10、 系统原理介绍 81.1.6 软件流程图 91.2 软件程序 101.2.1 程序清单及注释 101.3 实验小结 231.4 主要参考文献 23一.1 硬件电路 一.1.1 背景知识 在日常生活及工农业生产中,经常要用到温度的检测及控制,传统的测温元件有热电偶和热电阻。而热电偶和热电阻测出的一般都是电压,再转换成相对应的温度,需要比较多的外部硬件支持。其缺点如下:1. 硬件电路复杂;2. 软件调试复杂;3. 制作成本高。 本数字温度计设计采用美国DALLAS半导体公司继DS1820之后推出的一种改进型智能温度传感器DS18B20作为检测元件,测温范围为-55125,最高分辨率可达0.0625

11、。 DS18B20可以直接读出被测温度值,而且采用三线制与单片机相连,减少了外部的硬件电路,具有低成本易使用的特点。 按照系统功能设计的要求,确定系统有三个模块组成:主控制器,测温电路和显示电路。一.1.2 课题介绍 温度传感器实验主要应用到了ZLG-7290芯片和总线,同时主要应用到了18B20芯片。温度传感器要求让它们能够实现外用键盘能够调试,更改和控制的功能。一.1.3 主要原理 系统整体硬件电路包括,传感器采集电路,温度显示电路,单片机主板电路等。一.1.1.1 主控制器一.1.1.2 显示电路显示电路采用3位共阳LED数码管,从P3口RXD,TXD串口输出段码。一.1.1.3 温度传

12、感器DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现位的数字值读数方式。DS18B20的性能特点如下:独特的单线接口仅需要一个端口引脚进行通信;多个DS18B20可以并联在惟一的三线上,实现多点组网功能;无须外部器件;可通过数据线供电,电压范围为3.05.5;零待机功耗;温度以或位数字;用户可定义报警设置;报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作; DS18B20采用脚PR35封

13、装或脚SOIC封装,其内部结构框图如图2所示。 图2 DS18B20内部结构64位ROM的结构开始位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后位是前面56位的CRC检验码,这也是多个DS18B20可以采用一线进行通信的原因。温度报警触发器和,可通过软件写入户报警上下限。DS18B20温度传感器的内部存储器还包括一个高速暂存和一个非易失性的可电擦除的EERAM。高速暂存RAM的结构为字节的存储器,结构如图3所示。头个字节包含测得的温度信息,第和第字节和的拷贝,是易失的,每次上电复位时被刷新。第个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时寄

14、存器中的分辨率转换为相应精度的温度数值。该字节各位的定义如图3所示。低位一直为,是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设置为,用户要去改动,R1和0决定温度转换的精度位数,来设置分辨率。温度 LSB温度 MSBTH用户字节1TL用户字节2配置寄存器保留保留保留CRC图3 DS18B20字节定义由表1可见,DS18B20温度转换的时间比较长,而且分辨率越高,所需要的温度数据转换时间越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。高速暂存的第、字节保留未用,表现为全逻辑。第字节读出前面所有字节的CRC码,可用来检验数据,从而保证通信数据的正确

15、性。当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第、字节。单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625LSB形式表示。当符号位时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。表2是一部分温度值对应的二进制温度数据。表1 DS18B20温度转换时间表 DS18B20完成温度转换后,就把测得的温度值与RAM中的TH、T字节内容作比较。若TH或TTL,则将该器件内的报警标志位置位,并对主机发出

16、的报警搜索命令作出响应。因此,可用多只DS18B20同时测量温度并进行报警搜索。在64位ROM的最高有效字节中存储有循环冗余检验码(CRC)。主机ROM的前56位来计算CRC值,并和存入DS18B20的CRC值作比较,以判断主机收到的ROM数据是否正确。DS18B20的测温原理是这这样的,器件中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器;高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器的脉冲输入。器件中还有一个计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数进而完成温度测量。计数门的开启时间由高温度系

17、数振荡器来决定,每次测量前,首先将55所对应的一个基数分别置入减法计数器、温度寄存器中,计数器和温度寄存器被预置在55所对应的一个基数值。减法计数器对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器的预置值减到时,温度寄存器的值将加,减法计数器的预置将重新被装入,减法计数器重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器计数到时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。其输出用于修正减法计数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存器值大致被测温度值。表2一部分温度对应值表温度/二进制表示十六进制表示+1250000 0111

18、1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00000191H+10.1250000 0000 1010 000100A2H+0.50000 0000 0000 00100008H00000 0000 0000 10000000H-0.51111 1111 1111 0000FFF8H-10.1251111 1111 0101 1110FF5EH-25.06251111 1110 0110 1111FE6FH-551111 1100 1001 0000FC90H另外,由于DS18B20单线通信功能是分时完成的,

19、它有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作按协议进行。操作协议为:初使化DS18B20(发复位脉冲)发ROM功能命令发存储器操作命令处理数据。图4 DS18B20与单片机的接口电路一.1.1.4 DS18B20温度传感器与单片机的接口电路DS18B20可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。另一种是寄生电源供电方式,如图4 所示单片机端口接单线总线,为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个MOSFET管来完成对总线的上拉。当DS18B20处于写存储器操作和温度A/D转换操作时,总线

20、上必须有强的上拉,上拉开启时间最大为10us。采用寄生电源供电方式时VDD端接地。由于单线制只有一根线,因此发送接口必须是三态的。一.1.1.5 ZLG7290芯片一.1.1.5.1 ZLG7290作用及其功能介绍ZLG7290能够直接驱动8 位共阴式数码管(或64 只独立的LED),同时还可以扫描管理多达64 只按键。其中有8 只按键还可以作为功能键使用,就像电脑键盘上的Ctrl、Shift、Alt 键一样。另外ZLG7290B 内部还设置有连击计数器,能够使某键按下后不松手而连续有效。采用I2C 总线方式,与微控制器的接口仅需两根信号线。可控扫描位数,可控任一数码管闪烁。 引脚说明如下图:

21、一.1.1.5.2 ZLG7290使用说明ZLG7290B是基于I2C总线接口的芯片。主控单片机ADUC831作为主器件时,内部没有I2C总线功能,因此需用SPI总线的引脚来模拟I2C总线。具体连接如下: ZLG7290B ADUC831 GND DGND SDA MOSI SCL SCLOCK /INT INT0 VCC DVDD 但是,这种连接不是唯一的,只是在所写的软件里需要这样连接。其实中断可以根据自己所选的中断而定。地(GND)和电源(VCC)也可以另外从电源上接过来。所用电源为5V。 编译软件使用的是WSD,这个软件主要是用于AD系列芯片的。只要下载扩展名为HEX的文件即可。 一.

22、1.1.6 ZLG7290工作原理ZLG7290的核心是一块ZLG7290B芯片,它采用I2C接口,能直接驱动8位共阴式数码管,同时可扫描管理多达64只按键,实现人机对话的功能资源十分丰富。除具有自动消除抖动功能外,它还具有段闪烁、段点亮、段熄灭、功能键、连击键计数等强大功能,并可提供10种数字和21种字母的译码显示功能,用户可以直接向显示缓存写入显示数据,而且无需外接元件即可直接驱动数码管,还可扩展驱动电压和电流。此外,ZLG7290B的电路简单,使用也很方便。 用户按下某个键时,ZLG7290的INT引脚会产生一个低电平的中断请求信号,读取键值后,中断信号就会自动撤销。正常情况下,微控制器

23、只需要判断INT引脚就可以得到键盘输入的信息。微控制器可通过两种方式得到用户的键盘输入信息。其一是中断方式,该方式的优点是抗干扰能力强,缺点是要占用微控制器的一个外部中断源。其二是查询方式,即通过不断查询INT引脚来判断是否有键按下,该方式可以节省微控制器的一根IO口线,但是代价是I2C总线处于频繁的活动状态,消耗电流多并且不利于抗干扰。一.1.4 系统构成框图一.1.5 系统原理介绍数字温度计系统构成框图中DS18B20温度传感器主要用于采集温度;ZLG-7290按键电路用于控制和调节时间,数码管用于时间显示便于读数,蜂鸣器用于报警闹铃。一.1.6 软件流程图 主程序的主要功能是负责温度的实

24、时显示、读出并处理DS18B20的测量的当前温度值,温度测量每1s进行一次。这样可以在一秒之内测量一次被测温度,其程序流程见图 主程序流程图 读温度流程图 一.2 软件程序一.2.1 程序清单及注释#include #include #define zlg7290 0x70 /*ZLG7290的IIC地址*/#define uchar unsigned char /*宏定义*/#define uint unsigned int#define _Nop() _nop_() /*定义空指令*/ uchar disp_buf8=0,0,0,0,0,0,0,0; /*显示缓冲区*/uchar temp

25、er2;/*存放温度的数组*/ uchar code sampling=0,20,29,38,47,56; /*端口位定义*/sbit SDA=P17; /*模拟I2C数据传送位*/sbit SCL=P16; /*模拟I2C时钟控制位*/sbit DQ =P33; /*18B20数据线引脚*/sbit KEY_INT=P32;sbit BEEP=P35;bit ack; /*应答标志位*/uchar g;uchar t1;uchar t2;uchar cn1=1;uchar KEY;uchar change_disp=0;/*-IIC开始-*/* 起动IIC总线函数 */void Start_

26、I2c() SDA=1; /*发送起始条件的数据信号*/ _Nop(); SCL=1; _Nop(); /*起始条件建立时间大于4.7us,延时*/ _Nop(); _Nop(); _Nop(); _Nop(); SDA=0; /*发送起始信号*/ _Nop(); /* 起始条件锁定时间大于4s*/ _Nop(); _Nop(); _Nop(); _Nop(); SCL=0; /*钳住I2C总线,准备发送或接收数据 */ _Nop(); _Nop();/* 结束IIC总线函数 */void Stop_I2c() SDA=0; /*发送结束条件的数据信号*/ _Nop(); /*发送结束条件的时

27、钟信号*/ SCL=1; /*结束条件建立时间大于4s*/ _Nop(); _Nop(); _Nop(); _Nop(); _Nop(); SDA=1; /*发送I2C总线结束信号*/ _Nop(); _Nop(); _Nop(); _Nop();/* 字节数据传送函数 */void SendByte(uchar c) uchar BitCnt; for(BitCnt=0;BitCnt8;BitCnt+) /*要传送的数据长度为8位*/ if(cBitCnt)&0x80)SDA=1; /*判断发送位*/ else SDA=0; _Nop(); SCL=1; /*置时钟线为高,通知被控器开始接收数据位*/ _Nop(); _Nop(); /*保证时钟高电平周期大于4s*/ _Nop(); _Nop(); _Nop(); SCL=0; _Nop(); _Nop(); SDA=1; /*8位发送完后释放数据线,准备接收应答位*/ _Nop(); _Nop(); SCL=1; _Nop(); _Nop(); _Nop(); if(SDA=1)ack=0; else ack=1; /*判断是否接收到应答信号*/ SCL=0; _Nop(); _Nop();/* 字节数据传送函数 */ uchar RcvByte() uch

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1