温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于
云端
植物
养护
系统
设计
杨延申
52|电子制作 2023 年 3 月智能应用0 引言目前国内人民收入普遍提高,与此同时个人生活质量也在提高,但奋斗在大都市的年轻人们的精神世界并不富裕,时常会在深夜疲倦地回到家,感受到孤独,即使在周末也是通过睡觉休息来度过迷茫的时间,社交也成为了人们不愿意面对的难题,独自居住时养点什么陪伴自己也就成为大多数年轻人的想法。相较于养宠物,养植物能够在一些特定的地方或者空阔的角落摆放上一些植物装饰室内的空间,起到净化环境的作用,还不用担心自己回家后面对宠物造成的一片狼藉。理所当然养植物就成为大多数人提升生活品质的选择。如果一个人在外租房居住,平时又比较忙,很多年轻人都会觉得照料家里的植物有点麻烦。于此同时,还存在因为工作繁忙,常常忘记照顾,以及在出差的时候家里的植物盆栽会可能因缺水而枯死的情况。因此,本项目结合物联网技术和云端技术,提出一种基于云端的植物养护监测系统设计,通过微信小程序来对植物生长环境进行实时传输,最终用户可通过手机随时查看。即使人们出门在外,心爱的植物在家也能得到很好的照顾,并且随时随地“云养”它们。1 设计方案 我们的设计选用了 STM32 系列的单片机来处理各个传感器的信息。DHT11 传感器和 YL-69 传感器收集所需数据传送给单片机进行数据信号的处理后将指令发给水泵,控制水泵进行浇水,再由 ESP8266 传输数据到腾讯云服务器,移动端使用微信小程序从服务器上接受数据。整个设计的系统由 DHT11 数字温湿度传感器模块、YL-69 土壤湿度传感器模块、ESP8266-01S WIFI 模块、水泵模块和微信小程序构成。设计图如图 1 所示。2 硬件的设计方案 2.1 ARM Cortex -M3 微处理器STM32F103ZET6 单片机由 ARM 公司的 Corte-M3 的内核和 ST 公司的设计制造而成。STM32F103ZET6 单片机不仅具有 72MHzCPU 的超快速度,还有高达 1MB 的FLASH 闪存,并且 ARM Cortex-M3 32 位闪存微处理器在工作时所需求的电压并不高,与此同时它相较于同类型的产品拥有更优秀的实时运算功能。因此,由于 STM32F103ZET6单片机强大的性能以及可以重复擦写代码,尽管相对于其他单片机来说,入门稍有难度,但熟练之后操作之后可以设计出更多有趣且实用的功能。DHT11 STM32 ESP8266-01S 腾讯云服务器 微信小程序 水泵 YL-69 MQTT协议 图 1 系统设计方案框图 2.2 DHT11 数字温湿度传感器模块DHT11 数字温湿度传感器模块是一种复合传感器。它本身是带有校订数字信号输出的温湿度复合传感器,设计人员为了确保该传感器具有超高可靠性和卓越的长期稳定性,开发并使用了一种独特的数字模块采集技术和温湿度传感技术。该传感器本身包含了电阻型湿度传感器和业内常用的NTC 温度传感器,并且内置了一块小型但具有高性能的 8位单片机相连。因而,DHT11 数字温湿度传感器拥有质量优异、价格低廉和反应灵敏等优点。我们所采用的 DHT11 数字温湿度传感器会将采集到的当前空气的温湿度数据经过内置的小型八位单片机处理之后传输给 STM32F103ZET6 单片机进行程序的执行。2.3 YL-69 土壤湿度传感器模块YL-69 是一款常见的土壤湿度传感器,它所采用的是市面上普遍使用的电容式传感器,主要是湿敏电容。用传感器监测当前的环境湿度发生变化时,其中的湿敏电容中的介质同步发生变化,这也影响湿敏电容中电容值的改变,YL-69基于云端的植物养护系统的设计杨延申,李振华,汪会斌,包伟豪(东南大学成贤学院,江苏南京,210000)摘要:本设计是一种基于云端的植物养护系统的设计,它可以实时监测到空气中温度、湿度和土壤湿度的变化。每当室内空气过于干燥,或者土壤湿度过低危害植物时会自动启动浇水功能,当土壤湿度回到正常值时,关闭浇水。本设计还可以将植物的数据实时上传到微信小程序中,供用户随时查看植物的生长情况。关键词:单片机;微信小程序;植物DOI:10.16589/11-3571/|53智能应用所使用湿敏电容的电容值的变化值与环境中的湿度值成正比关系。因为湿敏电容普遍有着迅速响应、高灵敏度、误差小,不易滞后等特点,每当所监测的土壤湿度发生改变时,传感器都可以快速检测出改变值并获得其数据。在接收到数据之后 STM32F103ZET6 单片机将数据经过公式计算后得到数值。2.4 ESP8266-01S 模块ESP8266-01S 是由深圳市安信可公司研发的小型 WiFi模块,该模块的核心处理器 ESP8266 在同类型产品中用了较小的尺寸不仅使用目前业界先进的技术封装集成了超低功耗 32 位微型 MCU,还带有 16 位精简模式,这样的操作使得芯片的主频不仅支持 80 MHz 和 160MHz,还支持即时操作系统(RTOS)在较短时间内执行下达的任务。新一代的ESP8266-01S WiFi 模块支持无线局域网标准的 IEEE802.11b/g/n 和 TCP/IP 协议。由 ESP8266-01S 模块将开发板连接上互联网之后,STM32F103ZET6 单片机可以通过 MQTT 互联网协议将获得的数据实时上传到云端服务器。2.5 水泵模块STM32F103ZET6 单片机将获得的数据经过处理之后代入程序中执行,当温湿度达到超过(或低于)设定的阈值之后,STM32F103ZET6 单片机自动控制水泵的开启与关闭。2.6 按键模块将按键与 STM32F103ZET6 单片机连接,通过按键可以设定温湿度的阈值,使用户可以根据养护的植物不同,所需要的生长环境不同,设定符合的温湿度需求。3 软件部分设计微信小程序部分分为界面外观设计以及接收信息程序设计。3.1 外观设计方面采用简洁的大图显示,方便使用者一眼就能够明了浇花相关的信息显示。如图 3 所示。首先定义出一个最大的总界面框架:用来包含接下来界面中所需要展示的全部内容。其次明确所需展示的内容有:浇花系统名称展示;空气温度;空气湿度;土壤湿度;湿度阈值(土壤)。将以上内容分为两个模块,一个是“系统名称”:,另一个是“温湿度信息”:。其中“系统名称”模块嵌套在总界面框架的上半部分,“温湿度信息”则嵌套于总界面框架的下半部分。“系统名称”模块并不是主要展示部分,所以占比约为总界面的 1/10 即可,此外,将此模块底色填充为蓝色来强调该小程序的主题为“浇花”:background-color:#3d7ef9;。总界面的余下部分用于嵌套“温湿度信息”模块,设计剩下区域为上下二等分,均用:class=“body”来表示,每个 body 内部再左右二等分:class=“data-wrapper”,这样就能够均分为 2*2 共四个方形区域,依次在每个方形区域存放对应的显示信息。最后对于每一个方形区域进行模块化设计,方形区域的左 1/3 放置与之对应的图标:使用 img 定义和 src 来确定图标素材的路径,方形区域的右 2/3 设定信息标题文本以及数据信息显示:class=“data-text”。最后添加边框阴影用于明确区分开每一个方形区域:box-shadow:#d6d6d6 0px 0px 5px,同时将边框的四角钝化使得界面显示更加圆润舒适:框架部分代码 border-radius。经过层层有规划的合理嵌套,能够使得最终显示的信息界面显得简洁大方而又不丢失逻辑,所有数据变化可以明了的观测到同时又不会显得过于单调。关于外观设计方面的代码分为两部分:一部分是相关嵌套框架逻辑层面的代码,另一方面是有关于框架代码内部长宽颜色等属性代码。图 3 小程序界面 3.2 接收信息程序设计方面单片机收集到传感器所监测到的数据,再由单片机上的 ESP8266-01SWiFi 模块将我们所需的相关数据发送到预先设定的云服务器上,通过云服务器再将数据传送给微信小程序并且显示在移动端的小程序界面。根据以上基本流程原理,需要先建立一个云服务器,我们选择腾讯云的云服务器,基于 EMQX 在腾讯云搭建 MQTT 服务器。选择在腾讯云购买一个按量计费的云服务器:南京一区,标准型 S5,Ubuntu 镜像。然后新建安全组,设置登录密码,开通云服务器。新建的安全组需要添加入站规则:来源:0.0.0.0/0(任何 ip 均可以访问);协议端口 TCP:1883,8883,8083,8084,18083。添 加 入 站 规 则 目的是为了打开以上协议端口。登录服务器内部,切换为root 用户,随后从 EMQX 网站找到 Shell 脚本一键安装的代码“curl https:/repos.emqx.io/install_emqx.sh|bash”,安装完成后输入“emqx start”启动 emqx。最后通过地址 146.56.251.193:18083 访问 web 控制台。控制台可以用于测试主题订阅以及主题消息发送接收。图 4 腾讯云服务器内部界面 图 5 EMQX 的 web 控制台为了使微信小程序能够订阅云服务器,我们接着还需要注册 MQTT 服务器域名并且配置对应的 SSL 通讯证书。在腾讯云搜索域名注册,以“mqttwater.xyz”为域名注册,域名持有者选择为个人,实名认证后购买域名成功。域名注册成功后需要在解析设置中添加记录,目的是使得输入域名后可以被解析到对应的云服务器 IP 地址,即访问该域名即可访问对应云服务器。域名注册完成后,需要配置 SSL 证书,原因是微信小程序开发中域名只支持https和wss协议,|55智能应用而以上两种协议必须要有证书。在腾讯云通过搜索可以找到SSL 证书申请,选择单域名,DV SSL 类型,免费版,即可免费申请一个 SSL 证书,随后将此证书与域名绑定。最后下载证书,通过 FinalShell 软件对 emqx 的相关配置项进行修改以完成 SSL 证书配置(如图 6)。证书配置完成后可以在 web 控制台 SSL 连接测试域名连接是否有效。图 6 使用 FinallShell 进行配置项修改云服务器以及连接部分准备完毕后,需要使用 JS 语言对微信小程序进行编写相关订阅获取信息的代码。将对应数据进行绑定,让数据变化显示在正确的位置:Temp对应接收空气温度数据变化,Hum%对应空气湿度数据变化,Humi%对应土壤湿度数据变化,lim 对应土壤湿度阈值设定;尝试连接指定的云服务器域名:wxs:/mqtt.mqttwater.xyz:8084/mqtt,订 阅 指 定 的 主 题:subscribe/mysmarthome/pub,并且提示是否订阅成功,当我们订阅成功后就可以使用云服务器接收和上传我们所需的数据。图 7 JS 语言编写代码图 8 订阅消息发送测试微信小程序在开发者环境下测试完成后,选择上传,然后点击发布,等待官方审核员查核通过后就可以发布成功。发布成功后我们就可以选择下载官方提供的小程序二维码,使用手机通过扫描二维码的方式开启小程序,或者在微信首页的搜索框内查询也可以找到该小程序。图 9 小程序正式发布4 结语生活在这个时代,人们的生活节奏正在不断加快,无数件琐碎的小事占满我们所剩无多的休闲时间,忙碌的时候可能没有多余的时间照顾家中的植物。跟随着物联网技术的兴起我们设计了这样一款能够在我们忙碌的时间帮助我们照顾家里植物的智能家居。并且现在的技术高速发展,我们的设计还可以有更好的改进和提升来提高用户的体验。参考文献 1 李冶,胡万德.基于物联网技术的家庭智能养鱼浇花系统设计 J.金陵科技学院学报,2017,33(02):89-92.2 马永杰,黄松茂.基于 WiFi 网络的家庭环境远程监测系统设计 J.测控技术,2017,36(12):97-99.3 赵岩.基于微信平台的高校微应用设计与实现 D.长春:长春工业大学,2020.4 李蒙.基于 STM32 单片机的实验教学系统 M.浙江:天津大学出版社,2008.5 崔庆权,一种简易盆栽浇花控制系统的设计与实现 J.电子测量技术,201