APP下载

基于传感器的智能盆栽养护系统的设计和实现

2021-10-08邵美芝王丰硕杨美华古文洁

计算机时代 2021年9期
关键词:迁移学习微信小程序单片机

邵美芝 王丰硕 杨美华 古文洁

摘  要: 在日常生活中,人们常常在种植盆栽中遇到种种麻烦,比如不了解植物目前的生长状态,不清楚是否需要浇水等。针对这些情况,设计并实现了一个多功能智能盆栽养护系统。该系统利用迁移学习技术进行花卉识别,并通过多种传感器和单片机检测和传输盆栽的相关信息,还具有社区交流、线上商城等功能。

关键词: 迁移学习; 单片机; 传感器; 微信小程序; SpringBoot

中图分类号:TP311.1          文献标识码:A     文章编号:1006-8228(2021)09-46-05

Abstract: In daily life, people often encounter various troubles in potting, such as not knowing the current growth state of plants, and whether watering is needed. In view of these situations, a multi-function intelligent pot cultivation system is designed and implemented. The system uses transfer learning technology to identify flowers, and detects and transmits pot planting information by various sensors and MCU, and it also has the functions of community communication and online shopping mall.

Key words: transfer learning; MCU; sensor; WeChat Mini Program; SpringBoot

0 引言

伴随着人们对品质生活的追求,盆栽成为了室内必不可少的一道风景。人们在种植盆栽方面的问题也接踵而至,如时间成本、种植知识盲区等问题亟待解决。为了解决这些问题,盆栽养护智能管家系统采用了基于神经网络的花卉识别技术、多种传感器以及单片机技术,来实现对盆栽的智能识别、实时监控、提供栽培意见等功能,此外,该系统基于微信小程序以及SpringBooot框架实现了一个具有社区交流、商城购买的多功能平台。

1 功能需求分析

系统的使用权限包括普通用户、商家和系统管理员三种,针对不同的用户提供了不同的功能服务。

1.1 普通用户模块

⑴ 用户可以通过AI识别技术拍摄生活中的盆栽实体,然后通过在线上商城购买专门的传感器对盆栽进行生长环境数据的采集,这些数据通过服务器传输到用户界面显示盆栽的现实状态,并提供对应的养护小贴士,每一个上传到本系统的盆栽都会存储到用户的“私人阳台”中。对于“阳台”上的每一个盆栽,用户都能够记录对应的盆栽日记,可以用拍照和文字的形式记录盆栽的生长历程。

⑵ 用户能在线上商城中查看各类盆栽、养护工具以及相关书籍,能选择商品加入购物车或直接购买。用户能够通过积分等渠道获得不同商铺的优惠券,在对应商铺中购买相关商品能享受一定优惠。

⑶ 用户能够通过社区模块发表盆栽养护相关的文章,拥有评论文章,点赞文章的功能。除此之外,用户还能在社区中发现其他用户,并能够通过查看其他用户的头像浏览他人主页,并且能够关注其他用户,与其他用户交流养护经验。

⑷ 用户还能查阅植物百科,通过搜索或者分类查阅的形式可以阅读相关植物的具体信息,更加有利于增加用户对植物的了解,有助于更好实现盆栽栽培和养护。

⑸ 用户能够查阅和修改自己的基本个人信息,包括修改头像、昵称、个性签名、城市和手机号。能够查看自己的优惠券、订单、已有积分。另外用户还能管理自己的收货地址、发表的文章和评论。

1.2 商家模块

面向商家,每个入驻商家都能够建立一家或多家商店,有权制定本店专属优惠券的数量和额度,能够对商铺中的商品信息进行维护和管理,也能够处理与用户的相关订单信息。

1.3 管理员模块

⑴ 管理员能够查阅有关用户人数,文章数量以及商品数量等信息的数据统计情况。

⑵ 管理员有权管理和审核用户发表的文章和评论。管理员可以对植物百科信息库进行更新和修改,并进行数据维护管理。

⑶ 管理员有权管理所有的商家以及其商铺日常经营活动,维护商品交易秩序,维护商家和用户双方的利益。

⑷ 管理员能通过发布系统通知的权限来通知用户相关信息。

根据需求分析获得系统功能模块分解图,如图1所示。

2 系统方案设计

前端采用基于MINA框架的微信小程序[1]。后端采用SpringBoot作为架构框架,此外,我们使用MySQL为数据服务器,并采用MyBatis为数据持久层框架。

2.1 MINA

MINA是一款腾讯开发的框架,是目前IT界最被推崇的MVVM模式框架,它提供了自己的视图层描述语言WXML和WXSS,以及基于JavaScript的逻辑层框架,在视图层和逻辑层之间提供了数据传输和事件系统,可以让开发者更方便的关注于数据和逻辑。

2.2 SpringBoot

SpringBoot[2-3]是由Privotal團队提供的全新JAVA框架,是一个轻量级的框架技术,他能够以jar包的形式独立运行,而且可以嵌入Tomcat、Jetty等web容器,简化了Spring大量繁杂的配置工作,使得部署更加简单,能够让开发人员将更多的经历投入到功能实现方面。

2.3 MySQL

MySQL是当今最流行的关系型数据库管理系统之一,由瑞典MySQL AB公司开发,现属于Oracle公司。它采用SQL语言作为访问数据库语言。MySQL数据库具有体积小,速度快,成本低,开放源代码的特点,备受中小型软件应用开发商的青睐。

2.4 MyBatis

MyBatis是一个支持普通SQL查询,存储过程和高级映射的数据持久层框架,它使用简单的XML或注解用于配置和原始映射,避免了几乎所有的JDBC代码和手动设置参数以及获取结果集,是一款没有任何第三方依赖的,灵活易学的数据持久层框架。

3 数据库的设计

根据系统的功能需求分析设计该系统的数据库,用Gliffy Diagrams工具绘制出该系统的E-R图如图2所示。

4 关键技术的设计和实现

4.1 花卉图像识别技术

传统的深度学习识别图像技术需要大数量的数据集来进行模型的训练,数据集较少时很容易出现过拟合现象,而花卉图像由于种类繁多,背景复杂并且样本数量较少的原因,很难采集大规模的数据集完成传统的深度学习模型训练获得较好的识别结果。所以我们采用迁移学习技术利用相关领域的图像识别网络模型来实现较小规模数量的花卉分类实验[4-5]。

首先,我们的花卉数据集通过python网络爬虫百度图片获取,先对抓取的数据进行人工筛选,删除一些无关的数据,然后对其进行归一化处理,为避免过拟合问题,我们还要对图片进行随机翻转,调整它的色调,饱和度等数据增强操作,最终获得300种植物一共6万张花卉图片数据。

我们以Tensorflow2为训练工具,采用ImageNet大型图像数据集在谷歌推出的EfficientNet-B7网络[6]训练出来的模型作为预训练模型。冻结前面的网络层,改变最后三层全连接层以适应自己的300分类数据集,优化器和损失函数分别采用Adam和交叉熵损失函数。进行多轮模型训练后,最后将训练好的模型保存为pb格式文档运用在应用端的图像識别功能中。

4.2 ESP8266单片机及传感器

传感器收集到的温湿度、光强数据传输到ESP8266单片机,再通过mqtt协议将其发送到云服务器,客户端通过订阅主题可以得到相关数据,并对其进行处理。这里使用mqtt协议是因为它比较轻量级,节约能耗,很适合物联网的使用场景[7-8]。

根据上述定义画出传感器数据传输的总体架构图如图3所示。

4.2.1 硬件设备

硬件设备的组成一共包括一种单片机和四种传感器,分别实现物联网连接功能、探测空气温度、空气湿度、土壤湿度,光度的功能,具体信息如表1所示。

4.2.2 mqtt服务器配置信息

选用由EMQ X Cloud提供的公共MQTT Broker服务作为broker接入地址,具体信息如表2所示。

4.2.3 ESP8266单片机代码实现

ESP8266WiFi库能够将ESP8266连接到Wi-Fi网络,PubSubClient 库能使ESP8266连接到MQTT服务器发布消息及订阅主题[9]。基于乐鑫提供的SmartConfig以及EspTouch APP实现自动配网连接wifi。通过MQTT服务器连接地址和端口,设置MQTT Broker信息。读取传感器数据并以json格式上传至服务器,存储到数据库。

5 实验结果或者系统演示

5.1 花卉识别界面效果

总共训练的花卉数据集以温带和亚热带植物为主一共300种植物,利用迁移学习技术,以基于ImageNet数据集的EfficientNet-B7模型为预训练模型训练10轮,最后获得植物识别准确率为81.25%。前端功能界面展示如图4所示。

通过照相或相册功能获得的图片,进行模型识别返回三种准确率最高的植物信息,以实现花卉识别功能。

5.2 获取传感器数据界面效果

通过传感器绑定盆栽,传输环境温度和湿度,以及植物土壤的湿度值,展示如图5所示。

5.3 其他部分功能模块界面效果

社区交流模块主页、植物百科模块主页以及个人主页的界面展示如图6所示。

6 结束语

本文设计并实现了一款基于多种传感器技术的智能盆栽养护系统,通过深度模型的迁移学习技术实现花卉识别功能,再通过ESP8266单片机和多种传感器实现盆栽状态的识别以及植物信息的传输。此外还提供给用户一个线上交流互动和在线购买商品的多功能平台。

目前,本系统仍有不足之处,主要在于识别花卉数据较少,只能识别300种花卉,另外,对于商家模块的功能还需要增加,日后有待改进。

参考文献(References):

[1] 倪红军.微信小程序案例开发[J].计算机教育,2021.2:193

[2] KANJ. Design and implementation of teaching quality evaluatuin system based on Spring Boot [C].第七届计算与信息科学国际学术会议,2019.

[3] 熊永平.基于SpringBoot框架应用开发技术的分析与研究[J].电脑知识与技术,2019.15(36):76-77

[4] 曹晓杰,么娆,严雨灵.应用迁移学习的卷积神经网络花卉图像识别[J].计算机应用与软件,2020.37(8):142-148

[5] 秦敏.基于深度学习的花卉图像分类识别模型研究[D].广西师范大学,2020.

[6] Tan, Mingxing, and Quoc V. Le. "Efficientnet: Rethinking model scaling for convolutional neural networks." arXiv preprint arXiv:1905.11946,2019.

[7] 丘源,经本钦,李精华.基于ESP8266WiFi模块和MQTT协议的物联网传感节点设计[J].物联网技术,2019.9(6):24-26,29

[8] 董志刚,宋维,周新虹.基于MQTT协议的智慧校园多传感器融合监测系统的设计与实现[J].信息技术与信息化,2020.11:113-116

[9] 张琥石,林伟龙,杨发柱,黄向军,金星伊,陈洁,罗晓春,张盈盈,甘辛.基于ESP8266 WiFi模块的物联网体温监测系统[J].物联网技术,2020.10(12):32-35

猜你喜欢

迁移学习微信小程序单片机
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的便捷式LCF测量仪
信息技术与专业课程融合路径探索
奇异值分解与移移学习在电机故障诊断中的应用
当图书馆遇上微信小程序
一种基于迁移极速学习机的人体行为识别模型
大数据环境下基于迁移学习的人体检测性能提升方法
Microchip推出两个全新PIC单片机系列