基于Vue+Node.js(Express)实现(Web)物联网的蔬菜大棚温湿度监控系统
基于物联网的蔬菜大棚温湿度监控系统
一、前言
蔬菜大棚是一种具有出色的保温性能的框架覆膜结构,它出现使得人们可以吃到反季节蔬菜。
常见的蔬菜大棚有两种:一种是以竹竿和木头为拱架材料;一种是以热镀锌薄壁钢管为拱架材料。在拱架上面覆上一层或多层保温塑料膜,这样就形成了一个温室空间。外膜很好地阻止内部蔬菜生长所产生的二氧化碳的流失,使棚内具有良好的保温效果。
经过市场调研,以上这两种大棚存在下列问题:
- 人工成本高、工作耗时长、生产效率低。
- 生产数据采集滞后、难以及时发现险情
- 高度依赖于人工操作,环境检测判断不精准。
- 环境因素影响植物生长,收益低。
本组针对这些问题设计了基于物联网的蔬菜大棚温湿度监控系统
物联网蔬菜大棚控制系统可以远程监测大棚内环境数据——空气温湿度、二氧化碳浓度、土壤温湿度等——并上传到数据监测界面,通过平台智能分析,可以把数据可视化为图表,还可以远程控制通风、遮阳、浇灌等等设备,实现减少人工成本增加作物产量,提出了如下所述的解决方案。
二、方案特色概述
- 登陆验证:接入阿里云验证码服务,登录需要验证码
- 权限控制:有不同访问模式,区分了访客模式,管理员模式
- 操作日志:有操作日志,能显示所有操作的记录,可以操作数据备份或恢复
- 监控报警系统:设置温度湿度等临界值,当达到临界值时系统预警
- 可视化:讲实时数据可视化为图表,便于查看
- 远程控制:可通过网页远程控制系统,并且可以控制传感器部分功能。
三、需求分析
对于蔬菜大棚的需求分析,我们将从用户需求和管理者需求这两方面进行描述。
用户需求
- 用户可以在蔬菜大棚管理系统上录入自己的身份信息,来完成相关注册。
- 用户可以通过管理系统来实时查看大棚内温度,湿度,光照强度,PH 值等各项参数,当某项参数出现异常数值时,给予用户通知
- 进行权限划分
- 权限相当的用户可以进行传感器的实时修改,控制花洒及大棚的进光量。
浏览器端需求
提高网页可维护性,安全性,采用 vue 作为前端开发框架,它是一套用于构建用户界面的渐进式 JavaScript 框架。 与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。
管理者需求
管理者使用自己的管理账号密码登录蔬菜大棚管理页面,在管理系统上可查看已注册用户的信息;各个蔬菜大棚的各项指标情况;并且可以对蔬菜大棚管理页面发布命令,控制传感器的开关;当非注册人员进入在蔬菜大棚时,程序会提醒管理者采取相关操作。
服务端需求
服务端采用 express 作为开发框架,它是一个简洁而灵活的 node.js Web 应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具。做到可以安全的存储数据库信息,处理接口数据的逻辑提出来,处理异步逻辑,进行路由分级处理
传输需求
针对物联网蔬菜大棚的现实使用情况,采用 zigbee 通信更能满足蔬菜大棚系统对于低能耗,长待机的特性的适应性。
四、方案设计
针对目前蔬菜大棚存在的问题,本团队提出了这个物联网蔬菜大棚方案,本团队在进行初步产品设计时决定基于物联网,利用射频识别技术、无线数据通信技术等构造一个能够实时将大棚内各种信息传给计算机,并可以进行远程操控机械臂、电机、阀门等设备对大棚内的指定的区域进行通风、遮阳、浇灌、施肥等操作,保证系统的易用性、可靠性、安全性以及拓展性。
该物联网大棚系统主要有以下特点:
- 保持理想的气候条件
物联网传感器允许种植者以前所未有的精细程度收集各种数据。它们提供关键气候因素的实时信息,包括温度、湿度、光照和温室内的二氧化碳。这些数据提示对暖通空调和照明设置进行调节,以保持作物生长的最佳条件,同时提高能效。
- 环境预警和检测
物联网利用传感器可以完成对蔬菜大棚环境的动态监控,了解和掌握大棚内的光照、湿度以及温度等环境条件,并且还可以利用数据中心对收集的信息进行有效处理,对大棚环境的种植条件进行分析,进而制订改进蔬菜大棚环境的相关措施,提升种植效率和质量。
- 保加强灌溉和施肥工作
除了环境参数之外,智能温室还使种植者能够掌握其作物生长状态。这确保了灌溉和施肥活动与作物种植的实际需求保持一致,以实现产量最大化。例如,土壤含水量的读数表明作物是否缺水,同样,对土壤盐分的测量也为施肥需求提供了有用的见解。基于这些数据,喷洒器可以自动开启,以解决实时作物需求,同时最大限度地减少人工成本。
- 远程指导和远程控制
利用传感器可以帮助技术人员随时掌握蔬菜大棚内种植环境的变化,同时还可以结合蔬菜的种植条件,调节光照强度、滴灌设备及加热器等,实现蔬菜种植智能化以及远程化控制,减少人工作业量。
五、模块设计
本团队在进行初步产品设计时基于模块化思想,将整个系统分为6个主要模块,各个模块之间互相联系的同时也各自独立,保证系统的易用性、可靠性、安全性以及拓展性。
本团队在进行初步产品设计时基于模块化思想,将整个系统分为四个主要模块,各个模块之间互相联系的同时也各自独立,保证系统的易用性、可靠性、安全性以及拓展性。
图 1后台系统架构设计图
前端设计:
该项目前端为组件化开发,基本实现了智能蔬菜大棚管理系统的 所有功能,含有登录验证,用户授权,传感器管理(增删改查),控 制强度,模拟生成数据,报警处理,数据可视化等模块。 该项目前端的组件拆封清晰,耦合度低,可复用性强,维护方便, 扩展性高
组件列表 | 实现的功能 |
Login | 登录(含图片验证功能) |
Registered | 注册 |
Home | 主页面(含退出功能) |
SensorList | 传感器列表(含编辑和删除传感器功能) |
AddSensor | 添加传感器 |
ControlSensor | 模拟传感器(即随机生成数据) |
ConSensorI | 控制传感器 |
ControlLogs | 控制列表 |
VisualSensor | 传感器数据可视化 |
WarnLogs | 报警列表 |
Router | 路由跳转设计 |
六、成品展示
前端架构
整体目录
展开目录
分为 Home Login 两类组件(视图)
展示主页面
左侧导航栏和退出功能
实现 登录功能
实现图片验证功能
实现注册功能
实现 传感器 展示 编辑 删除
实现传感器详细数据
实现 新增传感器
实现 控制传感器强度
随机生成的数据
报警日志实现
控制日志实现
传感器数据可视化
切换不同传感器
七、接口设计
登录接口
- 接口名:登录
- 请求路径 url:
- 请求方式:POST
- 参数类型
- 返回参数:执行成功,密码正确则返回 String ok,密码错误则返回 String defate,如果 username 不存在则返回 String user is not found。
其他无返回值 - 备注: 如果登录成功返回 ok,这时要求前端跳转到主页面也就是传感器控制页面,
如果密码错误则返回 defate
如果 username 不存在则返回 user is not found
已经将用户名保存到 cookie 中,测试登录成功后请打开 console 控制台
输入 document.cookie 命令查看 username 的 cookie 是否存在
注册接口
- 接口名:注册
- 请求路径 url:http://localhost:9000/api/register
- 请求方式:POST
- 参数类型
- 返回参数: 执行成功则返回 String register ok 否则无返回值
- 备注: 如果返回正确结果则返回登录页面,如果无返回值就 alert 一个“注册失败,请联系技术人员”
“添加传感器”接口
- 接口名:新增传感器
- 请求路径 url:http://localhost:9000/api/sensor/new
- 请求方式:POST
- 参数类型
- 返回参数: 如果执行成功返回 string 新增传感器成功
- 备注: 如果执行成功则返回到传感器管理页面如果失败则无返回值
页面回显接口
- 接口名:页面回显接口(用于编辑传感器)
- 请求路径 url:http://localhost:9000/api/sensor/edit
- 请求方式:GET
- 参数类型
- 返回参数:
- 备注: 如果执行成功则返回传感器 id 对应的传感器数据库记录
“编辑传感器”接口
- 接口名:编辑传感器
- 请求路径 url:http://localhost:9000/api/sensor/edit
- 请求方式:POST
- 参数类型
- 返回参数: 如果成功则返回 String ok
“删除传感器”接口
- 接口名:删除传感器
- 请求路径 url:http://localhost:9000/api/sensor/delete
- 请求方式:GET
- 参数类型
- 返回示例: ![image-
- 返回参数: String 删除成功
- 备注: 此接口为删除传感器数据库中该传感器所有数据
“查找数据库所有传感器”接口
- 接口名:查找数据库所有传感器
- 请求路径 url:http://localhost:9000/api/sensor/find
- 请求方式:GET
- 参数类型
- 返回参数: 此接口作用为获取传感器数据库中该所有数据,有几条返回几条
- 备注: 此接口作用为获取传感器数据库中该所有数据
“控制模拟传感器节点”接口(随机产生数据)
- 接口名:(温度,湿度,ph。。。等等)控制模拟传感器节点(随机产生数据)
- 请求路径 url:http://localhost:9000/api/sensor/control
- 请求方式:GET
- 参数类型
- 返回示例:
- 返回参数:返回多个传感器的值,有几个返回几个。里边的数据格式
- 备注: 此接口作用为获取传感器的 id,从操作记录的数据库中获取对应的操作强度。自动生成温度、湿度、光照、ph、风速的值,并将传感器的数据修改为操作强度后的最新数据。
判断随机生成的值,如果超过警戒则插入到 warning 数据库中。
注意返回的值是从 sensor_logs 数据库读的
“传感器产生的记录”接口
- 接口名:传感器产生的记录
- 请求路径 url:http://localhost:9000/api/sensor_logs/find
- 请求方式:GET
- 参数类型: 无
- 返回参数:
- 备注: 此接口作用为获取传感器记录数据库中的参数值
报警日志接口
- 接口名:报警日志
- 请求路径 url:http://localhost:9000/api/warn
- 请求方式:GET
- 参数类型: 无
- 返回参数: 此接口作用为获取所有的报警记录,有几个返回几个
- 备注: 此接口作用为获取所有的报警记录
控制接口
- 接口名:控制
- 请求路径 url:http://localhost:9000/api/control
- 请求方式:POST
- 参数类型:
- 返回示例:
- 返回参数: string All_stage_ok
- 备注: 此接口最终效果为更新 control 数据库的值
“返回所有控制记录”接口
- 接口名:返回所有控制记录
- 请求路径 url:http://localhost:9000/api/find_control_logs_All
- 请求方式:POST
- 参数类型: 无
- 返回参数: 返回所有操作记录,有几个返回几个
- 备注: 返回所有操作记录
“返回指定传感器控制记录”接口
- 接口名:返回指定传感器控制记录
- 请求路径 url:http://localhost:9000/api/find_control_logs
- 请求方式:POST
- 参数类型:
- 返回参数: 返回多个传感器记录,有几个返回几个
- 备注: 返回多个传感器记录
“返回所有用户数据”接口
- 接口名:返回所有用户数据
- 请求路径 url:http://localhost:9000/api/users/findAll
- 请求方式:GET
- 参数类型: 无
- 返回参数: 返回所有用户数据,有几个返回几个
- 备注: 返回所有用户数据
八、商业价值分析
随着生活节奏的不断加快,很多城市里的人都想吃到新鲜的蔬菜,一般都会到超市或是菜市场选购,不同的蔬菜消费的需求不一样。现在蔬菜也是家家户户的必需品,尤其是现在过完年,大鱼大肉后,更多的朋友倾向于吃蔬菜。蔬菜在市场的前景广阔,种植效益可观。
一般蔬菜大棚的优势就是可以进行蔬菜的反季节种植,期间早春晚秋进行种植,这种情况下常规蔬菜一般都没有,整个市场价格相对比较高,如果利用这个反季节的时间差种植,效益就会非常可观。
北方地区的大棚蔬菜作物,往往选择番茄、茄子、豆角、甜辣椒、黄瓜等大众需求高的蔬菜进行种植,由于这种蔬菜的季节性,所以导致每年的市场行情不同,但平均每年的收购价格都能达到1-2元左右,
期间取中间值1.5元每斤来计算,那么一亩地能收获大约5000斤左右的蔬菜,蔬菜大棚一年常规可以收获1-3季的蔬菜,也就是大约近2万斤蔬菜,按照1.5元每斤来计算,大约可以获利为3万元左右,因此可以得出一亩地的蔬菜大棚种植利润大约是30000-7300=22500元。中国大约1000万个温室大棚的保有量,并迅速增长,目前已经向高端化,自动化方向转变,其中百分之十以上需要进行温控设备的改造和建设,市场预估到100亿以上。大棚蔬菜种植和露天种植相比,主要成投入多了很多,主要是在大棚建造方面,普通大棚的建造成本在 15元——40元每平米,因此投入就在8千到3万元左右,而一次建造使用年限在3-8年。在北京、上海、青岛、杭州等大城市周边地区,由于消费水平高、高档酒店多,可以发展栽培名、优、特蔬菜品种,例如芽菜类的香椿芽、软化菊苣、西洋菜;绿色保健类的乌塌菜、花叶生菜、紫背天葵等;茄果类的樱桃番茄、五彩椒等等。满足更高市场的需求,经济效益非常可观。例如:番荔枝80元一斤,西洋菜15元一斤,大棚琵琶采摘180一斤。还可以种植栽培有机蔬菜,利用温室大棚设施栽培有机蔬菜、生产的产品直接对接大型商场、酒店,形成产、供、销一体化经营,利润更是整合加大,更加可观。
一些地区更是将生态蔬菜种植与旅游观光整合到一起,顾客现场参观、采摘、效益就更高。
综合来看,当前市场前景广阔,技术有着相对优势,具有良好的拓展业务可能性与可行性。
九、结语
利用传感器可以帮助技术人员随时掌握蔬菜大棚内种植环境的变化,同时还可以结合蔬菜的种植条件,调节光照强度、滴灌设备及加热器等,实现蔬菜种植智能化以及远程化控制,减少人工作业量。
同时本系统的网页端很适合远程控制,并且项目小巧灵活便于推广
可视化功能简单易用,适合推广,监控报警功能增强了实用性
图片验证,权限控制功能增强了安全性
该系统在利于普及程度上做了改进,使之成为一个简单易用的系统,帮助大棚增加产量,使物联网真正走入我们每个人的生活中。