




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、摘 要本文针对Arduino能通过各种传感器感知环境的功能,对现有的物联网技术进行了分析和研究,详细介绍了Arduino平台下植物状态监测系统的设计与实现。文章首先分析了物联网技术的背景和意义。然后在第一章和第二章简单介绍了单片机和Arduino的相关信息,第三章介绍了本次设计所需要的器材,从第四章到第六章中详细描述了关键的数据上传和实时监控局部,包括:如何采集数据,如何进行数据上传,将从传感器上获取的数据上传到后台WEB,以及上传之后处理数据,设置预警等。最后本文还分析了在数据上传和处理数据时遇到的一些问题和解决方案,展望了一些扩展功能。【关键词】 物联网 Arduino 植物状态 监测Ab
2、stractAccording to the Arduino through a variety of sensors to perceive the environment function, the existing networking technology for analysis and research, introduces the design and implementation of plant condition monitoring system based on Arduino platform.This paper analyzes the background a
3、nd significance of the technology of IOT firstly. And then, from the fourth chapter to the sixth chapter, the key data upload and real-time monitoring parts are described in detail, including: How to upload data, upload the data from the sensor to the background WEB, and processing data, set the ala
4、rm, etc. Finally, this paper also analyzes some problems in data processing and data upload and solutions.【Key Words】 IOT Arduino plant condition monitoring目 录摘要IAbstractII目录III前言11单片机为核心器件Arduino222222 Arduino的根本组成32.1 Arduino定义32.2 Arduino的诞生32.3 Arduino语言32.3.1 关键字42 语法符号42 运算符42.3.4 数据类型52 常 量52
5、.3.6 结 构62.3.7 功 能63 本次设计所需的硬件与软件73.1 Arduino UNO73.1.1 Arduino uno根本概要83.1.2 通信接口83.1.3 下载程序93.1.4 注意要点93.2 DHT11传感器和LY-6993.3 开发环境114 植物生长状态监测系统介绍124.1 设计思路12131313131313135植物生长状态监测系统概要设计1313156植物生长状态监测系统详细设计16161616171919207运行环境与结论2424242424存在的问题和缺乏28总结29致谢30参考文献31前 言物联网是新一代信息技术的重要组成局部,也是信息化时代的重要
6、开展阶段。其中Arduino是一款便捷灵活、方便上手的开源电子原型平台,包含硬件各种型号的Arduino板和软件Arduino IDE)。它是一个基于开放原始码的软硬件平台,构建于开放原始码simple I/O介面版,并且具有使用类似Java、C语言的Processing/Wiring开发环境。Arduino包含两个主要的局部:硬件局部是可以用来做电路连接的Arduino电路板;另外一个那么 是Arduino IDE,你的计算机中的程序开发环境。你只要在IDE中编写程序代码,将程序上传到Arduino电路板后,程序便会告诉Arduino电路板要做些什么了。随着社会的开展,生产技术的更新,物联网
7、理念如今已经逐渐深入人心,并随着传感器技术、通信技术和物联网技术的开展逐渐触及社会的每一个角落。不管在农业生产与个人生活中都可以用物联网技术让其变得更好。在农业生产和个人生活中,当某些植物的养殖价值昂贵时,对其的实时监控就变得十分必要,而土壤湿度是植物生长状态的一项重要指标。例如郁金香的生长期适温为5-20,最正确温度为15-18,植株的生育温度应保持在0-25。郁金香根系的生长温度宜在5以上,14以下,尤为10左右最正确。花芽分化的适温为17-23,超过35时,花芽分化会受到抑制。另外,郁金香有极强的耐寒性,冬季可耐-35的低温,当温度保持在8以上时开始生长。本系统主要是完成了对土壤湿度的实
8、时监测,并根据所需RH范围与实际RH比拟,出现异常情况及时的提醒用户以及记录。其中对于系统来说最重要的就是数据的实时上传和与用户的交互。1单片机为核心器件ArduinoDefinition 2.1 MCUThe microcontroller, monolithic microcomputer (English: Single-ChipMicrocomputer), also known as micro controller (Microcontroller), is the central processor, memory, timer / counter (Timer/Counter)
9、, all the input and output interface are integrated in a micro computer on an integrated circuit chip.单片机,单片微型计算机英语:单片机,也被称为微控制器单片机,是中央处理器,存储器,定时器/计数器定时器/计数器,所有的输入和输出接口都集成在集成电路芯片上的微型计算机。The similarities and differences between the 2.2 microcontroller and personal computerA computer that works to hav
10、e the following parts: the central processing unit CPU (operation, control) and random access memory RAM (data storage), read-only memory (ROM memory), input / output devices I/O (serial and parallel output port etc.). In the personal computer (PC) these parts are divided into several chips, mounted
11、 on a printed circuit board called on the motherboard. In SCM, these are all part of a piece of integrated circuit chip, therefore is called monolithic (single chip microcomputer) machine, and some in addition to the above part, is also integrated with other parts such as analog / digital conversion
12、 (A/D) and analog / digital conversion (D/A) etc. The application of computer in the high-end, in the low-end microcontroller applications, the two have their own living space, at least in the short term there will be one to replace another kind of situation.计算机工程有以下几局部组成:中央处理单元CPU运行,控制和随机存取存储器RAM数据
13、存储,只读存储器ROM,输入/输出设备I/O串行和并行输出端口等。在个人电脑PC这些局部被分成几片,安装在印刷电路板称为主板上。在供给链管理中,这些都是一块集成电路芯片的一局部,所以称为单片机单片机,和一些除了以上局部,还结合其他部位如模拟/数字转换A/D和模拟/数字转换A/D等。计算机在高端应用,中低端单片机的应用,两者都有各自的生活空间,至少在短期内会有一个替代的另一种情况。2.3 MCU functionIn the actual work where the computer is not any need for a high performance computer, a comp
14、uter can control the refrigerator temperature for core processor? The key is to see whether enough, whether there is a good cost performance ratio. If a refrigerator are needed to deal with core temperature control, the price is the price. MCU control, commonly used in industrial production and life
15、 related procedures and controls (such as: electronic organ, refrigerators, air conditioners and other intelligence).在计算机不需要任何高性能计算机的实际工作中,计算机可以控制为核心处理器的冰箱的温度?关键是看是否足够,是否有良好的性能价格比。如果冰箱需要处理核心的温度控制,价格价格。单片机控制,常用于工业生产和生活有关的程序和控制如:电子琴,冰箱,空调和其他情报。2.4 single view1.4单视图This is an Atmega328P-PU microcontrol
16、ler, 8 bit processor, AVR instruction set based on the frequency of 20MHz, memory of 32KB.这是一个atmega328p PU微控制器,8位处理器,基于20MHz频率AVR指令集,内存32KB。图1-1 Atmega328P-PU单片机2 Arduino的根本组成2.1 Arduino定义Arduino,是一个开放源代码的计算机控制器,基于开放源代码软件的硬件和软件平台,基于开放源代码的简单接口的I / O版本,并有一个类似的Java,C语言的开发环境,处理/接线。2.2 Arduino的诞生2005冬,马
17、西莫Banzi和戴维Cuartielles讨论学生抱怨微控制器问题缺乏是廉价和容易使用,讨论决定设计自己的电路板,电路板通过班齐戴维Mellis.设计学生的编程语言。两天后,戴维Mellis.写代码。三天以后,董事会是完整的。电路板被命名为Arduino。随后Banzi,Cuartielles,和Mellis把原理图在线。保持开源理念的设计,因为著作权法律监督是开源软件,但它是很难使用的硬件,他们决定采用创作共用许可证。在Creative Commons许可,任何人不得生产电路板的复制品,但也重新设计,甚至原设计销售文案。你不需要支付使用费,甚至不允许获得Arduino团队。只保存名称Ardu
18、ino。它是作为商标注册。2.3 Arduino语言Arduino语言是建立在C / C + +的根底,也是基于C语言。2.3.1 关键字 if · if.else · for · switch case · while · do. while · break · continue · return · goto 2.3.2 语法符号 · ; · · / · /* */ 2.3.3 运算符 · = · + · - · *
19、183; / · % · = · < · > · <= · >= · && · | · ! · + · - · += · -= · *= · /= 2.3.4 数据类型 · boolean 布尔类型 · char 字符类型 · byte 字节类型 · int 整数类型 · unsigned int 无符号整型 · long 长整型 · u
20、nsigned long 无符号长整型 · float 实数类型 · double · string · array · void 2.3.5 常 量 · HIGH | LOW 表示数字IO 口的电平,HIGH 表示高电平1,LOW 表示低电平0。 · INPUT | OUTPUT 表示数字IO口的方向,INPUT 表示输入高阻态,OUTPUT 表示输出AVR能提供 5V电压 40mA 电流。 · true | false true 表示真1,false表示假0。 以上为根底C语言的关键字和符号,大家可以了解,具体
21、使用可以结合实验的程序。2.3.6 结 构· void setup() 初始化发量,管脚模式,调用库函数等 · void loop() 连续执行函数内的语句 2.3.7 功 能数字 I/O· pinMode(pin, mode) 数字IO口输入输出模式定义函数,pin表示为013,mode表示为INPUT或OUTPUT。· digitalWrite(pin, value) 数字IO口辒出电平定义函数,pin表示为013,value表示为HIGH或LOW。比方定义HIGH可以驱动LED。· int digitalRead(pin) 数字IO口读输
22、入电平函数,pin表示为013,value表示为HIGH或LOW。比方可以读数字传感器。模拟I/Oint analogRead(pin) 模拟IO口读函数,pin表示为05Arduino Diecimila 为 05Arduino nano为07。比方,可以读模拟传感器10位AD,05V表示为01023。 · analogWrite(pin, value)-PWM 数字IO口PWM输出函数,Arduino数字IO口标注了PWM的IO口可使用该函数。pin表示3,5,6,9,10,11,value 表示为0255。比方,可用于电机PWM调速或音乐播放。 时间函数 · dela
23、y(ms) 延时函数单位ms。 · delayMicroseconds(us) 延时函数单位 us。数学函数 · min(x,y) 求最小值 · max(x,y) 求最大值 · abs(x) 计算绝对值 · constrain(x,a,b) 约束函数,下限a,上限b,x必须在ab之间才能返回。 · map(value,fromLow,fromHigh,toLow,toHigh) 约束函数,value必须在fromLow与toLow之间和fromHigh与toHigh之间。 · pow(base,exponent) 开方函数,
24、base的exponent次方。 · sq(x) 平方 · sqrt(x) 开根号3 本次设计所需的硬件与软件实验器件数量Arduino uno1块EthernetW5100扩展板1块土壤湿度传感器1个DHT11温湿度传感器1个导线假设干表3-13.1 Arduino UNOArduino Uno是Arduino接口USB系列的最新版本,如Arduino平台参考标准模板。乌诺处理器核心是ATmega328,14个数字输入/输出包括6路PWM输出,6个模拟输入,一个16MHz晶体振荡器,一个USB端口,一个电源插座,一个扩展报头和复位按钮。联合国已经发布了第三版,与前两版相比
25、具有以下新的特点:In the AREF two pin SDA and SCL increase, increase IOREF and support the I2C interface; a reserved pin, future expansion should be compatible with 5V and 3.3V core board. This improves the reset circuit design, USB interface chip by ATmega16U2 instead of ATmega8U2. Figure 4-1 improved Ardui
26、no UNO.在任命两引脚SDA和SCL的增加,增加Ioref支持I2C接口;预留针,未来的开展应该与5V和3.3V的核心板兼容。这提高了复位电路的设计,USB接口芯片的atmega16u2代替atmega8u2。图3-1改良Arduino Uno。图3-1 Arduino UNO3.1.1 Arduino uno根本概要l 处理器 ATmega328 l 工作电压 5V l 输入电压推荐 7-12V l 输入电压范围 6-20V l 数字IO脚 14 (其中6路作为PWM输出 l 模拟输入脚 6 l IO脚直流电流 40 mA l 脚直流电流 50 mA l Flash Memory 32
27、KB ATmega328,其中0.5 KB用于bootloader l SRAM 2 KB ATmega328 l EEPROM 1 KB ATmega328 l 工作时钟 16 MHz 3.1.2 通信接口串口:ATmega328内置的UART可以通过数字口0RX和1TX与外部实现串口通信;ATmega16U2可以访问数字口实现USB上的虚拟串口。 TWI兼容I2C接口。SPI 接口。3.1.3 下载程序Arduino UNO上的ATmega328已经预置了bootloader程序,因此可以通过Arduino软件直接下载程序到UNO中。 也可以直接通过UNO上ICSP header直接下载程
28、序到ATmega328。 ATmega16U2的Firmware固件也可以通过DFU工具升级。 3.1.4 注意要点Arduino UNO上USB口附近有一个自恢复的保险丝,对电路起到保护作用。当电流超过500mA时会断开USB连接。 Arduino UNO提供了自动复位设计,可以通过PC主机复位。这样通过Arduino软件下在程序到UNO中,软件可以自动复位,不需要手动复位按钮。在印制板上丝印“RESET EN处可以使能和禁止该功能。3.2 DHT11传感器和LY-69DHT11数字温湿度传感器是一款含有已校准熟悉信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保
29、产品具有极高的可靠性和卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在即为精确的湿度校验室中进行校准。校准系数以程序的形式存在OTP内存中,传感器内部在检测型号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为给类应用甚至最为苛刻的应用场合的最正确选择。产品为4针单排引脚封装,连接方便。 技术参数 供电电压: 3.35.5V DC 输 出: 单总线数字信号 测量范围: 湿度
30、20-90%RH, 温度050 测量精度: 湿度+-5%RH, 温度+-2 分 辨 率: 湿度1%RH, 温度1 互 换 性: 可完全互换 , 长期稳定性: <±1%RH/年 图3-2 DHT11LY-69土壤湿度传感器外表采用镀镍处理,有加宽的感应面积,可以提高导电性能,防止接触土壤容易生锈的问题,延长使用寿命;产品可以宽范围控制土壤的湿度,通过电位器调节控制相应阀值,湿度低于设定值时,DO输出高电平,高于设定值时,DO输出低电平;比拟器采用LM393芯片,工作稳定,工作电压3.3V-5V,设有固定螺栓孔,方便安装,PCB尺寸:3.2cm * 1.4m。 图3-3 LY-69
31、/FC-283.3 开发环境本次设计使用的软件为Arduino开发环境Arduino,如图3-4所示。图3-4 开发环境4 植物生长状态监测系统介绍 设计思路对于植物养殖最重要的就是植物的养殖环境,环境的整体情况直接影响植物的生长。环境的整体情况可以从一些具体的数据表达,例如空气的温度,相对湿度,土壤的温度,相对湿度。我们可以用不同的传感器可以分别检测到这些数据。采集到数据后是最重要的分析数据,我们先把数据通过Arduino UNO和W5100扩展板上传到后台WEB平台,然后再WEB平台内设置相应的温度,湿度正常值,最正确值和低于标准或高于标准的值。将他们和上传的数值相较,如果不正常的话做出相
32、应的反响,例如低于或高于标准值的时候,发送短信、邮件和微博提醒。后台WEB平台设置相应的命令可以让我们在微信中使用,使用相应命令可以随时查看植物生长情况。设计步骤设置上传数据需要的网络环境。利用DHT11和LY-69两个传感器分别检测出空气和土壤的温度和相对湿度。以Arduino板连接传感器获取检测出的数据。将获取的不同数据,以不同的资源进行处理,根据数据做出对当时植物生长环境的判断。将数据记录下来,随着时间推移形成曲线图。将温度、相对湿度数值的不同范围分别设置为正常、良好、非正常。与用户交互用户可以通过微信随时查看植物生长环境情况,监测系统也会定时发送监测情况到相应微博,相应数值不正常时会通
33、过短信、邮件提醒用户。5植物生长状态监测系统概要设计工作原理用户将系统成品连接网线电源,放置于想要监控的植物旁,将土壤湿度传感器插入土壤就可以开始监控其生长环境。1) DHT11会采集空气中的温度和相对湿度,LY-69会采集土壤中的相对湿度。2) 通过W5100扩展板,会将采集的数据上传到后台WEB端。3) WEB端会记录接收到的数据,绘制曲线图;在特定的时间将监测到的情况以微博、邮件的形式记录下来。如某时刻接受到的数据部在标准内,会发送短信提醒用户。用户可以通过微信随时查看监测到的情况。图51 监测系统工作图工作流程图图 52 监测系统工作流程图6植物生长状态监测系统详细设计设计目的当前很多
34、人都有养殖一些花草类植物的爱好,在经过一些查找资料后会知道怎么去养好一种植物,但是大多数人的工作都是很繁忙的,他们没有太多时间去管理自己所养的植物,而又不想自己养的植物出现不良的生长状况。对于植物的实时监控就能解决这个问题。本设计题目为Arduino平台下植物状态监测,其用途就是用来对植物生长的环境进行监测,进而得到植物的状况。将得到的植物状况定时发送给用户,用户也可以随时查看监测到的植物状况。功能模块设计本次设计采用的是Arduino物联网的技术,网络连接是必须的。经过查找资料后发现有很多连接网络的方法,有Arduino+以太网,蓝牙等方法,最后选择的是Arduino+w5100扩展板连接网
35、络。将Aduino UNO 3与配套的Ethernet W5100扩展板连接到一起,以Aruidno UNO 3 来控制程序,Ethernet W5100扩展板连接网线通过路由器上网。以笔记本作为Router,网线一端直接连接到笔记本,另一端连接Ethernet W5100扩展板。笔记本需要将类似Router的功能翻开,将正在使用的网络适配器翻开,设置Internet协议版本4TCP/IPv6设置DNS和主机的IP地址,子网掩码。再去Arduino 1.5.5-r2设置IPAddress ip,IPAddress mydns,IPAddress gw,IPAddress subnet。将网络的
36、属性翻开,共享属性里面勾选允许其他网络用户通过此计算机的INTERNET来连接,设置允许使用WEB效劳器HTTP80端口。图6-1获取数据设计思路首先测试连接成功与否,成功那么测试获取数据成功与否,成功输出到串口监视器,不成功那么请检查针脚。1) 获取DHT11的数据:设置数据接受引脚为3,将Arduino UNO3扩展板W5100上的电源5V和GND线连接到面包板上,将DHT11按照对应引脚连接到面包板,将DHT11在面包板上对应的数据引脚连接到Arduino UNO3扩展板W5100上3号引脚。设置好相应的数据接口名字。2) 获取LY-69的数据:将LY-69连接到控制板,控制板上有ACC
37、、GND、DATA线,分别按照方法1的连接方法连接到面包板,将Arduino UNO3扩展板W5100上数据引脚3号连接到面包板,再把LY-69控制板的DATA线连接到面包板对应的引脚中。设置好相应的数据接口名字。核心代码1图6-22图6-3系统调试编译程序点击编译按钮,编译按钮会发成黄色,下面出现正在编译sketch.,这表示软件正在对你所写的程序进行编译,如图6-4所示。图6-4 编译程序 等待一会,会看到编译按钮恢复原来的状态,下面出现编译完成,这说明,程序编译成功,并且没有语法上的错误。如图6-5所示。图6-5 编译完成上传程序上传程序前先将板子型号和com口选好。点击工具->板
38、选择开发板型号,如图6-6所示。图6-6 选择板型查看串口,然后选择正确的串口,选择过后串口前面会打钩,如图6-7所示。图6-7选择串口点击上传按钮,同时板子上标有TX和RX的灯会亮,如图6-8所示。图6-8 上传程序查看串口,连接成功如图6-9所示。图6-9 串口查看7运行环境与结论处理器:Intel(R) Core(TM) i3 CPU M370内存RAM:4GB操作系统:Windows 7 professional (Service Pack1)系统类型:64位操作系统编程语言:arduino/c开发工具:运行环境软件要求:Windows XP须安装Microsoft .NET Fram
39、ework SDK,Windows 7Microsoft .NET Framework SDK,Linux须安装Mono硬件要求:CPU :Intel Pentium IV或更高内存:512MB或更高运行结果经过屡次的测试,该程序能够准确的采集数据并在串口显示,能够实现任务书要求的功能,根本满足植物状态监测的整体要求,运行结果如图。图7-1 运行结果图1图7-2 运行结果图2图7-3 运行结果图3图7-4 运行结果图4图7-5 实物图存在的问题和缺乏在设计之初需求分析做的太简单,对于很多问题没有考虑到。遇到的问题其实很多,就不一一举例,简单说几个遇到的问题。面包板的选择问题,开始用的买Adui
40、no uno送的面包板并不是很好用,经常出现断开的情况,后来又专门买了一款开发用的面包板解决了问题。在连接网络的时候也出现了问题,开始觉得应该只要能上网的网络应该都能连接上,能够实现数据上传,结果并不是如此,有些网络对于后台WEB端根本就连接不上,导致的数据上传失败,例如铁通网络在上传到乐联网的时候就无法上传,铁通能够登陆乐联网,但是不能上传。通过查找资料,发现乐联网所用的是阿里云BGP数据中心,是电信网通双线接入,并没有铁通的,铁通网络不能对其上传数据。最后是换成了电信宽带才成功上传。在写代码的过程中,开始对于几个传感器是分开写的,没有整合在一起,虽然分开的时候每个传感器都没有问题,可以实现采集与上传,但是整合在一起后发现Arduino中格式化输出也不能随便写,会导致连接问题,这个问题困扰了很久,最后控制了格式后,才能成功将几个传感器的采集数值
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 七年级生物上册 2.3.2《生物生存的家园-生物圈》教学实录2 (新版)苏科版
- 40式杨氏太极拳竞赛套路教材
- n个数全排列算法c语言
- matlab 可调增益 带通滤波器
- Unit 11 Chinese festivals(period 1)(教学设计)-2023-2024学年沪教牛津版(深圳用)英语五年级下册
- 电商客服对本岗位的理解
- 急救案例讨论与经验交流计划
- 2024年六年级品社下册《天有不测风云》教学实录1 苏教版
- 社会责任与公益活动安排计划
- 品牌推广中的看板使用技巧计划
- 新大象版三年级下册科学第二单元《电与我们的生活》全部课件(共5课时)
- 混床计算书(新)
- 4、10KV电力架空线路施工技术交底
- 水工建筑物水闸的讲义
- Unit1-英语专业-综合教程4-何兆熊主编-学习课件
- Unit 9 Lesson 3 Epidemics Explained 说课课件-2022-2023学年高中英语北师大版(2019)选择性必修第三册
- 2023年06月上海市浦东新区临港新片区文员招考聘用历年试题(常考点甄选)含答案带详解
- 测树学实验指导(重点)
- 全套环境工程概预算管理讲义全
- 欧丽娟文学史笔记版
- 食品销售操作流程图
评论
0/150
提交评论