智慧农业大棚.docx

上传人:小飞机 文档编号:5333066 上传时间:2023-06-27 格式:DOCX 页数:23 大小:394.15KB
返回 下载 相关 举报
智慧农业大棚.docx_第1页
第1页 / 共23页
智慧农业大棚.docx_第2页
第2页 / 共23页
智慧农业大棚.docx_第3页
第3页 / 共23页
智慧农业大棚.docx_第4页
第4页 / 共23页
智慧农业大棚.docx_第5页
第5页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《智慧农业大棚.docx》由会员分享,可在线阅读,更多相关《智慧农业大棚.docx(23页珍藏版)》请在三一办公上搜索。

1、课程设计说明书课程名称:课程设计题目:专 业:班级:姓 名:学号:2016年7月22日目录1需求分析说明11.1设计背景11.2组成部分11.3功能需求12概要设计说明22.1各模块功能描述22.2模块调用图22.3系统执行流程图33详细设计说明53.1温湿亮度检测模块53.2棚顶异物检测模块63.3危险区域保护模块63.4防盗监控模块73.5蓄水罐液面高度监测模块83.6火灾监控模块83.7串口控制模块93.8灯光控制模块103.9遮阳网控制模块143.10灌溉模块154调试分析174.1终端节点与协调器之间通信测试174.2协调器与开发板之间通信测试185用户使用说明196课程设计总结19

2、1需求分析说明1.1设计背景智能化控制系统应用到大棚种植上,利用最先进的生物模拟技术,模拟出 最适合棚内植物生长的环境,采用温度、湿度、CO2、光照度传感器等感知大 棚的各项环境指标,并通过微机进行数据分析,由微机对棚内的水帘、风机、 遮阳板等设施实施监控,从而改变大棚内部的生物生长环境。智能大棚是自动化控制程序用于在温室大棚智能控制的结果:比较人工的控制来说, 智能控制最大的好处就是能够相对恒定的控制大棚内部的环境,对于环境要 求比较高的植物来说,更能避免因为人为因素而造成生产损失。相对生产来说,将智能化控制系统应用到大棚生产以后,产量与质量比人工控制的大 棚都有极大的提高,对于不同的种植品

3、种而言,提高产量与质量相对不同, 对于档次较高的经济作物来说,生产效率可以提高30%以上。相对运行成本 来的核算,对于有一定规模的种植企业来说,极大的降低了劳动力成本,设 备的投入与运行,可以完全由节约下来的劳动力成本中核算出来,使用时间 越长,光节约的劳动力成本就是一笔巨大的利润。1.2组成部分现代化经济的迅速发展,促使了人们对机械智能化的强烈认知。现代化智 能温 室也称作自动化温室,是指配备了由计算机控制的可移动天窗、遮阳系 统、保温、湿窗帘/风扇降温系统、喷滴灌系统或滴灌系统、移动苗床等自动 化设施,基于农业温室环境的高科技“智能”温室。智能温室的控制一般由 信号采集系统、中心计算机、控

4、制系统三大部分组成。1.3功能需求(1)对大棚内温度、湿度、光照情况等基本信息的采集并显示。(2)实现灌溉远程化、自动化,大大节省人力成本。(3)对大棚整体结构情况的监测、火灾等突发事件的检测并发出警报。(4)实现大棚内灯等基本电器的远程化、自动化控制,使系统更加智能, 用户体验感更好。(5)实现遮阳网等蔬菜保护机制的远程化、自动化控制。(6)对于监测到的大棚内的各种信息输出到客户端的显示屏上。2概要设计说明2.1各模块功能描述(1)主函数模块:初始化系统界面,调用各个模块实现各种功能。(2)协调器模块:接收各个节点发送的数据并通过串口进行转发到客户端, 通过串口接收客户端发送的指令并转发给各

5、个节点。(3)温、湿、亮度监测模块:使用温湿度光电传感模块对智慧农业大棚内的 温度、湿度、亮度进行监测并实时显示到控制系统界面上。(4)棚顶异物监测模块:使用震动传感器模块对智慧农业大棚的棚顶进行实 时监测并实时显示到控制系统界面上。(5)危险区域保护模块:使用触摸传感器模块对存放药品等危险区域、仓库 进行监测,一旦监测到有人触摸门把手,立刻在控制系统界面上给出警报。(6)防盗监控模块:使用红外热释电传感器模块对智慧农业大棚内进行实时 监测,有人进入,控制系统界面立刻显示警报。(7)蓄水罐液面高度监测模块:使用超声波测距模块对智慧农业大棚的蓄水 罐中水的剩余量进行监测,实时显示在控制系统界面上

6、。(8)火灾监控模块:使用烟雾传感器模块对智慧农业大棚内进行实时监测, 一旦检测到烟雾,控制系统界面上立刻给出警报。(9)串口控制模块:控制COM 1串口的开启和关闭。(10)遮阳网控制模块:使用电机控制模块实现智慧农业大棚遮阳网的收起、 放下、紧急停止功能。(11)灌溉模块:使用继电器控制模块实现开始智慧农业大棚的开始灌溉和 停止灌溉功能。(12)灯光控制模块:使用电机控制模块的灯光部分实现对智慧农业大棚A、 B、C、D四个区的灯光控制。2.2模块调用图3详细设计说明3.1温湿亮度检测模块/*mainwindow.c*/void MainWindow:updateTempHumiLig()/

7、温湿亮度(ui-lcd_temp-display(temp_humi_light-getTemperature();ui-lcd_humi-display(temp_humi_light-getHumidity();ui-lcd_lig-display(QString:number(temp_humi_light-getLight(), f, 1);void MainWindow:processMsgFromSerial(QByteArray msg)/协调器消息解析(if(msg.length() setValue(msg);updateTempHumiLig();/*temp_humi_l

8、ight*/void Temp_Humi_Light:setValue(QByteArray& byte)(unsigned char adc_value2;temperature = (byte5 8) + byte6;humidity = (byte7 2;light = (adc_value1*256 + adc_value0) * 3.3 / 8192;light = light / 4;light = light * 913;使用温湿度光电传感模块对智慧农业大棚内的温度、湿度、亮度进行实时 监测,温湿度光电传感模块把监测的信息发送给协调器,协调器把信息通过 串口发送到运行着智慧农业大

9、棚监控系统的开发板,监控系统void MainWindow:processMsgFromSerial(QByteArray msg)对接收到的信息进行 解析并实时显示在监控系统的界面上。3.2棚顶异物检测模块/*mainwindow.c*/振动事件else if(msg3 = 0x03 & msg4 = 0x01)(if(msg5 = 0x01)(shake-setState(1);ui-label_shake-setPalette(pe_red);ui-label_shake-setText( 棚顶有异物);else if(msg5 = 0x00)(shake-setState(0);ui-

10、label_shake-setPalette(pe_black);ui-label_shake-setText( 棚顶安全);使用震动传感模快对智慧农业大棚的棚顶进行异物检测,震动传感模块不 断向协调器发送消息,协调器通过串口向运行着智慧农业大棚监控系统的开 发板发送消息,监控系统对消息进行解析。未检测到震动,在监控系统界面 上显示棚顶安全;检测到震动,在监控系统界面上显示棚顶有异物。3.3危险区域保护模块/*mainwindow.c*/触摸模块else if(msg3 = 0x07 & msg4 = 0x01)(if(msg5 = 0x01)(touch-setState(1);ui-lab

11、el_touch-setPalette(pe_red);ui-label_touch-setText( 有人进入危险区域);else if(msg5 = 0x00)(touch-setState(0);ui-label_touch-setPalette(pe_black);ui-label_touch-setText( 无人进入危险区域);使用触摸传感模块对存放药品等危险房间进行保护,触摸模块可安装在房 间门把手上。一旦有人触碰该模块,监控系统会立刻从协调器发送的消息中 解析出,并显示“有人进入危险区域”在监控系统的界面上;没有人触碰该 模块,监控系统界面上显示“无人进入危险区域”。3.4防盗

12、监控模块/*mainwindow.c*/热释红外传感模块else if(msg3 = 0x05 & msg4 = 0x01)(if(msg5 = 0x01)(infray-setState(1);ui-label_inf_ray-setPalette(pe_red);ui-label_inf_ray-setText( 违法者进入);else if(msg5 = 0x00)(infray-setState(0);ui-label_inf_ray-setPalette(pe_black);ui-label_inf_ray-setText( 安全);使用热释红外传感模块对智慧农业大棚进行防盗监控,热

13、释红外传感模块 通过协调器不断向智慧农业大棚监控系统发送消息,当监测到有人进入大棚 时,监控系统界面上显示“违法者进入”;没有检测到周围有人时,监控系 统界面上显示“安全”。3.5蓄水罐液面高度监测模块/*mainwindow.c*/超声波测距模块else if(msg3 = 0x08 & msg4 = 0x01)(int len = 1000 - msg5 * 256 + msg6;/应用于液面检测 ui-label_ultra-setText(QString:number(len);ultra-setState(len);emit addLog(msg.toHex();使用超声波测距模块对

14、智慧农业大棚蓄水罐液面高度进行监测,假定蓄水 罐高度1000mm(10m),液面高度即为1000mm减去安装在蓄水罐顶部的超声 波测距模块测出的距离,并实时显示在监控系统的界面上。3.6火灾监控模块/*mainwindow.c*/烟雾模块else if(msg3 = 0x04 & msg4 = 0x01)(if(msg5 = 0x01)(smoke-setState(1);ui-label_fire-setPalette(pe_red);ui-label_fire-setText(发生火灾”);else if(msg5 = 0x00)(smoke-setState(0);ui-label_fi

15、re-setPalette(pe_black);ui-label_fire-setText(没有火灾”);使用烟雾模块对智慧农业大棚的火灾情况进行监测,并通过协调器向智慧 农业大棚监控系统发送消息。没有检测到烟雾时,监控系统界面上显示“没 有火灾”;当检测到烟雾时,监控系统界面上显示“发生火灾”。3.7串口控制模块/*mainwindow.c*/void MainWindow:changeSerial(int state)/ 串口打开关闭操作(/对传入的参数取反操作if(1 = state)(if(serial_server-closeCom()(ui-btn_serial-setText(

16、打开);ui-btn_serial-setStyleSheet(BACKGROUND_COLOR_WHITE);emit addLog(closesuccess);elseemit addLog(warning!closefailed);else if(0 = state)(if(serial_server-openCom()(ui-btn_serial-setText(关闭);ui-btn_serial-setStyleSheet(BACKGROUND_COLOR_GREEN);emit addLog(opensuccess);elseemit addLog(warning!openfail

17、ed);控制协调器与运行智慧农业大棚监控系统间的通信,只有在打开串口的状 态下,用户才可以通过监控系统控制各个模块。3.8灯光控制模块/*mainwindow.c*/void MainWindow:on_btn_light_1_clicked()/A 区灯光打开(if(-1=serial_server-writeToSerial(Motor:MSG_LIGHT_AON)(emit addLog(warning!lightA onfailed);return;ui-btn_light_1-setStyleSheet(BACKGROUND_COLOR_GREEN);emit addLog(ligh

18、tA onsuccess);lighta=1;void MainWindow:on_btn_light_5_clicked()/A 区灯光关闭(if(lighta = 0)(emit addLog(warning!lightA offalready);return;if(-1=serial_server-writeToSerial(Motor:MSG_LIGHT_AOFF)(emit addLog(warning!-lightA off-failed);return;ui-btn_light_1-setStyleSheet(BACKGROUND_COLOR_GREEN);emit addLog

19、(lightA offsuccess);lighta = 0;void MainWindow:on_btn_light_2_clicked()/B 区灯打开(if(-1 = serial_server-writeToSerial(Motor:MSG_LIGHT_BON) (emit addLog(warning!lightB onfailed);return;ui-btn_light_2-setStyleSheet(BACKGROUND_COLOR_GREEN);emit addLog(lightB onsuccess);lightb=1;void MainWindow:on_btn_ligh

20、t_6_clicked()/B 区灯关闭(if(lightb = 0)(emit addLog(warning!-lightB off-already); return;if(-1serial_server-writeToSerial(Motor:MSG_LIGHT_BOFF)(emit addLog(warning!lightB offfailed);return;ui-btn_light_6-setStyleSheet(BACKGROUND_COLOR_GREEN);emit addLog(lightB offsuccess);lightb = 0;void MainWindow:on_b

21、tn_light_3_clicked()/c 区灯打开(if(-1 = serial_server-writeToSerial(Motor:MSG_LIGHT_CON)(emit addLog(warning!lightC onfailed);return;ui-btn_light_3-setStyleSheet(BACKGROUND_COLOR_GREEN);emit addLog(lightC onsuccess);lightc=1;void MainWindow:on_btn_light_7_clicked()/c 区灯关闭(if(lightc = 0)(emit addLog(warn

22、ing!-lightC off-already);return;if(-1=serial_server-writeToSerial(Motor:MSG_LIGHT_COFF)(emit addLog(warning!-lightC off-failed);return;ui-btn_light_7-setStyleSheet(BACKGROUND_COLOR_GREEN);emit addLog(lightC offsuccess);lightc = 0;void MainWindow:on_btn_light_4_clicked()/D 区灯打开(if(-1 = serial_server-

23、writeToSerial(Motor:MSG_LIGHT_DON)(emit addLog(warning!-lightD on-failed);return;ui-btn_light_4-setStyleSheet(BACKGROUND_COLOR_GREEN);emit addLog(lightD onsuccess);lightc=1;void MainWindow:on_btn_light_8_clicked()/D 区灯关闭(if(lightd = 0)(emit addLog(warning!lightD offalready);return;if(-1serial_server

24、-writeToSerial(Motor:MSG_LIGHT_DOFF)(emit addLog(warning!-lightD off-failed);return;ui-btn_light_8-setStyleSheet(BACKGROUND_COLOR_GREEN);emit addLog(lightD offsuccess);lightd = 0;void MainWindow:on_btn_light_9_clicked()/一键打开(on_btn_light_1_clicked();on_btn_light_2_clicked();on_btn_light_3_clicked();

25、on_btn_light_4_clicked();void MainWindow:on_btn_light_10_clicked()/一键关闭(on_btn_light_5_clicked();on_btn_light_6_clicked();on_btn_light_7_clicked();on_btn_light_8_clicked();3.9遮阳网控制模块/*mainwindow.c*/void MainWindow:changeMotor(int state)(if(0 = state)/ 电机停止(if(-1=serial_server-writeToSerial(Motor:MSG

26、_MOTOR_STOP)(emit addLog(warning!emergency stopfailed);return;motor-setState(0);ui-btn_motor_stop-setStyleSheet(BACKGROUND_COLOR_GREEN);ui-btn_motor_b-setStyleSheet(BACKGROUND_COLOR_WHITE);ui-btn_motor_f-setStyleSheet(BACKGROUND_COLOR_WHITE);emit addLog(emergency stopsuccess);else if(1 = state)/ 电机正

27、转(if(-1=serial_server-writeToSerial(Motor:MSG_MOTOR_FORE)(emitaddLog(warning!-lightcover packup-failed); return;motor-setState(1);ui-btn_motor_f-setStyleSheet(BACKGROUND_COLOR_GREEN);ui-btn_motor_b-setStyleSheet(BACKGROUND_COLOR_WHITE); ui-btn_motor_stop-setStyleSheet(BACKGROUND_COLOR_WHITE);emit ad

28、dLog(light cover pack upsuccess);else if(2 = state)/ 电机反转(if(-1=serial_server-writeToSerial(Motor:MSG_MOTOR_BACK)(emit addLog(warning!light cover putdownfailed);return;motor-setState(2);ui-btn_motor_b-setStyleSheet(BACKGROUND_COLOR_GREEN);ui-btn_motor_f-setStyleSheet(BACKGROUND_COLOR_WHITE);ui-btn_m

29、otor_stop-setStyleSheet(BACKGROUND_COLOR_WHITE);emit addLog(light cover put downsuccess);使用电机控制模块的灯光部分对智慧农业大棚的A、B、C、D四个区进行 灯光控制,用户在智慧农业大棚监控系统界面上的灯光控制区通过点击“开 启”、“关闭”等按钮发送控制指令,指令通过串口发送到协调器并由协调 器进行广播。添加“一键开灯”、“一件关灯”按钮。3.10灌溉模块/*mainwindow.c*/void MainWindow:changeRelay(int state)/继电器模块操作(/对传入的参数取反操作if(

30、1 = state)(if(-1=serial_server-writeToSerial(Relays:MSG_RELAY_CLOSE)(emit addLog(warning!stop irrigatefailed);return;relays-setState(0);ui-btn_relay-setStyleSheet(BACKGROUND_COLOR_WHITE);ui-btn_relay-setText(开始灌溉);emit addLog(stop irrigatesuccess);else if(0 = state)(if(-1=serial_server-writeToSerial

31、(Relays:MSG_RELAY_OPEN)(emit addLog(warning!-start irrigate-failed); return;relays-setState(1);ui-btn_relay-setStyleSheet(BACKGROUND_COLOR_GREEN);ui-btn_relay-setText(停止灌溉);emit addLog(start irrigatesuccess);使用继电器模块对智慧农业大棚的灌溉进行控制,用户可以通过智慧农业 大棚监控系统界面上的按钮发送指令,控制灌溉的开始和停止。4调试分析4.1终端节点与协调器之间通信测试图1.3通信测试一

32、首先打开协调器,等协调器初始化完毕后,打开红红外热释电传感器模块、 电机控制模块、继电器控制模块、震动传感器模块、触摸传感器模块、温湿 度光电传感器模块、烟雾传感器模块、超声波测距传感器模块。等待几个传 感器模块初始化完毕后,开始逐渐加入ZigBee网络,并开始向协调器不断发 送消息。4.2协调器与开发板之间通信测试图1.4通信测试二将协调器用串口和运行智慧农业大棚监控系统的开发板连接,点击串口按 钮,打开串口,监控系统界面上显示温度、湿度、光照、火灾监控等信息。 窗口显示协调器不断发送来的字符串,监控系统正是解析这些字符串的内容 得到的各种信息。5用户使用说明用户使用该智慧农业大棚系统时,首

33、先将协调器打开,等待协调器灯1 亮起,表示协调器初始化完毕。这是打开各个模块,等待各个模块初始化完 毕并加入ZigBee网络。在开发板上运行智慧农业大棚监控系统,用串口线将 开发板和协调器连接。打开智慧农业监控系统界面上的串口按钮,此时协调 器可以与监控系统进行通信。保持串口按钮打开的状态下,协调器通过各个 节点监测到的大棚内的各种信息显示在监控系统界面上。用户可以通过点击 监控系统界面上的控制区的各个按钮控制各个节点模块。6课程设计总结通过这次物联网感知与通信综合实训,是我对物联网试验箱有一个整体 的认识,初步掌握了试验箱中各个模块的使用方法。第一次亲自动手构建 一个ZigBee网络,对构建ZigBee网络,节点加入网络,协调器与节点通 信等方面有了一个感性的认识。学习过程中也遇到很多问题,例如redhat 的环境变量控制、QT编写的系统移植到开发板中,通过向别人学习依次解 决了这些问题,深切的感受到学习中要多问的道理。最后终于做出了这个 智慧农业大棚系统,非常有成就感。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号