1. 引言
在现代城市生活中,随着生活节奏的加快和城市化进程的不断加速,越来越多的人渐渐远离了土地和农作物种植的经验与乐趣。种植蔬菜需要花费大量的时间和精力,而在城市居住环境中往往难以获得合适的土地和种植条件。同时,市场上的新鲜、有机蔬菜价格居高不下,给许多人带来了经济负担。智能家居概念和物联网技术的发展为人们提供了新的解决方案。
智能家居设备可以通过传感器、连接性和智能控制系统实现自动化和远程监控,为居民提供了更便捷、高效的生活方式。在这一背景下,智能家居种植设备应运而生,它旨在为居民提供一种在家中便捷种植新鲜、有机蔬菜的解决方案,从而改善人们的生活品质
然而,传统的智能家居种植设备可能存在一些局限性,如硬件性能不足、控制不够精确、用户体验欠佳等问题。针对这些问题,本文提出了一种基于STM32单片机与阿里云物联网技术结合的智能种菜机器,旨在克服传统设备的局限性,从而为城市居民提供更加智能、便捷和高效的家居种植体验。
通过本文的研究,我们希望能够探索智能家居种植设备领域的创新解决方案,并为城市居民提供更加便捷、低成本、可持续的蔬菜种植方式。
2. 系统整体架构设计
种菜机的设计初衷是为了满足家庭对于新鲜、有机蔬菜的生理和心理需求。因此,整体设计需要简单易上手、操作方便,并且维护要求简易。系统由软件和硬件两部分组成。硬件部分包括单片机、温度传感器、湿度传感器等设备;软件部分包括云服务器和小程序。
该系统的基本工作流程如下:首先,机内传感器采集并备份环境数据,然后通过互联网传输到云服务器,如图1。在这时,服务器会将现有数据与预设的作物适宜生长条件进行分析比较。如果不匹配,系统会自动进行调节以达到预设条件。与此同时,用户可以通过小程序登录与种菜机绑定的账号,查看设备的实时信息状态,并通过各个功能模块进行自主操作和调节。
用户的操作会转化为控制指令,通过互联网或局域网传输至家居服务器,然后传输到控制器。控制器根据设备的ID,将指令传输给相应的设备。设备接收到指令后执行相应的操作,从而实现远程控制。
这样,用户可以通过小程序远程监控和控制种菜机,在不同的时间和地点都能够实现对设备的操作与调节,使种菜机的管理更加智能化和便利化。
Figure 1. The overall system architecture design
图1. 系统整体架构设计
3. 硬件功能模块设计
3.1. STM32F103C8T6单片机
本智能种菜机采用STM32芯片。STM32F103C8T6为一款基于Cortex-M3内核的32位微控制器。硬件采用LQFP48封装,具有紧凑的结构和高集成度,适合在有限空间内进行应用布局。其内置程序存储器容量是64 KB,可以容纳足够的代码和数据。单片机的工作电压在2 V到3.6 V的范围内,这使得它可以在不同电源供应情况下工作,并且具有一定的电源适应性。此外,它的工作温度范围为−40℃到85℃,能够适应室内及一些恶劣环境下的工作条件要求。
借助STM32F103C8T6单片机的强大性能和丰富的外设接口,我们可以在智能种菜机中实现各种功能,比如传感器数据采集、环境参数监控、执行器控制等。
3.2. WIFI模块-ESP8266EX
ESP8266EX拥有完整的且自成体系的Wi-Fi网络功能,既能够独立应用,也可以作为从机搭载于其他主机MCU运行 [1] 。此模块工作温度范围广泛,可在−40℃到125℃的温度环境下正常工作。同时,它的工作电压范围为2.5 V到3.5 V,这个小范围的工作电压使其在家居智能种菜机等应用中非常适用。
将ESP8266EX模块应用于家居智能种菜机上,可以实现无线联网功能,将种菜机连接到家庭的Wi-Fi网络中,实现远程监控和控制。用户可以通过手机、电脑等设备,远程监测植物的生长状况、温湿度等数据,并根据需要进行灌溉、调节灯光等操作。
3.3. 温湿度传感器DHT11
DHT11数字温湿度是一款含有已校准数字信号输出的温湿度复合传感器,通过数字信号输出来测量环境的温度和湿度,确保了传感器的可靠性和稳定性。在此系统内它可以全天候监测种植环境的温度和湿度,保障蔬菜的生长环境稳定。同时DHT11的温湿度测量误差较小,这使得系统能够做出更准确的调整,利于系统做出对应的调整。
3.4. 光照传感器BH1750
本系统采用BH1750光照传感器对室内环境的光强进行检测 [2] 。BH1750FVI是一款数字型光强度传感器集成芯片,具有高精度和快速响应的特点,能够在各种光照条件下提供准确的测量结果,同时具备具备较低的功耗和噪声水平。系统能够根据BH1750传感器提供的数据进行智能调光控制,实现节能和舒适的照明环境。
4. 客户端软件设计
4.1. 小程序设计概述
小程序设计以人们日常生活的需求和便捷作为出发点,使用微信开发者工具开发的微信小程序,可以实现随时随地对家庭的种菜机进行远程操作和控制,并且实现蔬菜的生长环境的监测功能,如图2。
小程序的使用以简洁方便操作为目的,设计UI界面设计使得用户能够轻松,直观地与硬件设备之间实现交互功能,具有良好的用户体验。UI界面包括控制主页面以及用户界面,控制主界面包含各种功能控制监测的控件,用户界面包含用户使用小程序的启动日志记录,具有一定的安全作用。
本款微信小程序主要功能包含选择种植作物模式,温度监测,湿度监测,光照度监测,喷水功能控制,开灯功能控制,报警器功能控制等 [1] 。
Figure 2. Small program interface design
图2. 小程序界面设计
4.2. 作物选择
团队在项目前期进行了对不同蔬菜的种植条件和养护要求的深入研究和分析。基于这些研究成果,团队设计了一套智能化的种植作物选择模式,旨在为用户提供更便捷和高效的种植体验。
通过种菜机小程序上的种植作物模式,用户可以根据自己种植的作物选择相应的模式,并进行自主控制。一旦用户切换到不同的种植植株,小程序会自动与系统硬件进行无缝连接,并调节环境参数至最适合当前植株生长的状态。
当用户选择了某一种植作物模式后,种菜机小程序会根据该作物的种植条件和养护要求,自动调整环境参数,包括温度、湿度、光照等,以满足作物的生长需求。这些参数的调节能够在最大程度上模拟自然环境,帮助作物达到最佳生长状态。
通过与种菜机硬件的紧密连接,小程序能够实时地接收并解读传感器上传的数据,如温度、湿度、光照等信息。根据这些数据,小程序会根据当前选择的种植作物模式,动态调整相关参数,以确保作物在最适宜的环境条件下生长。
4.3. 温湿度监测
为了实现温度监测,我们通过连接到服务器来获取温湿度传感器硬件上传的数据。这些数据以十六进制的Buffer字节流形式进行传输。
服务器在接收到数据后,会对其进行解析和转换。首先,服务器将接收到的字节流进行解析,以得到原始的温湿度数据。然后,服务器将解析后的数据转换为JSON对象的形式,方便后续的处理和使用 [3] 。
在对数据进行分析和解析的过程中,服务器会解析JSON对象,获取其中的温度和湿度数值,并对其进行进一步的处理。这包括数据的单位转换、舍入或格式化等操作。
最后,服务器会将提取到的温湿度信息更新到与小程序绑定的Temp变量中,以便小程序能够实时展示最新的温度和湿度数据。
为了将数据便于展示给用户,小程序会使用视图容器view来进行样式和布局的设置。通过设置view的样式和位置,小程序能够以合适的方式展示温度和湿度信息,如图3。这包括设置文字大小、颜色和位置等,以及添加其他的图标或指示器来增强信息的可视化效果。温度传感器硬件上传的数据被准确解析和转换,最终以可视化的方式在小程序中展示出来,用户能够清晰地了解到当前的温度和湿度状况。使得种植管理更加智能化和精确化。
4.4. 光照度监测
光照度检测原理同温湿度检测,连接服务器,获取硬件上传的数据,分析解析数据结果,获取光照度信息,实现和小程序绑定的变量Light的数值数据更新。在数据页面使用视图容器view用于设置样式和布局,实现数据显示,如图4。
4.5. 喷水功能
种菜机通过连接服务器获取硬件上传的数据,并对数据结果进行分析和解析以提取湿度信息。接下来,种菜机会判断提取到的湿度信息是否与作物生长周期当前阶段的湿度要求范围匹配,如图5。
如果湿度匹配,则种菜机不执行任何操作,保持当前状态。这意味着环境的湿度已经处于适宜的范围内,不需要进一步调整。种菜机会继续实时监测湿度的变化,以确保环境的稳定性和作物的健康生长。反之,如果湿度不匹配,即湿度超出了作物生长周期当前阶段的要求范围,种菜机将触发喷水雾化器功能的硬件工作。种菜机会向服务器发送命令,要求硬件订阅相应的主题,以开启雾化器功能。一旦雾化器功能被激活,种菜机会持续监测湿度的变化,以确保作物的湿度能够恢复到适宜的范围内。当湿度再次匹配作物的要求时,种菜机将发送命令给服务器,关闭雾化器功能使其进入待机状态。
Figure 5. Humidity detection flow chart
图5. 湿度检测流程图
4.6. 开灯功能
种菜机通过连接服务器并订阅主题,以获取硬件上传的数据。接收到数据后,种菜机将其解析为JSON对象,并对解析结果进行分析,提取光照信息,如图6。
随后,种菜机会判断提取到的光照度信息是否与当前作物生长周期的光照度要求范围匹配。
如果光照度匹配,即在理想的范围内,种菜机将不执行任何操作,维持当前状态。这意味着环境的光照度已经符合作物的生长需求,不需要进一步调整。种菜机会继续实时监测光照度的变化,以确保环境的稳定性。
然而,如果光照度不匹配,种菜机将触发光照灯的开灯功能,并通过服务器发送命令,让硬件订阅相应的主题,以实现光照灯的开启功能。
若光照灯功能被激活,种菜机会持续监测光照度的变化,以确保作物的光照度能够恢复到适宜的范围内。当光照度再次匹配作物的要求时,种菜机将发送命令给服务器,关闭光照灯,使其进入待机状态。
Figure 6. llluminance detection flow chart
图6. 光照度检测流程图
4.7. 报警器功能
种菜机连接服务器,实现改变报警蜂鸣器的开关的状态,触发onBeep Change函数,若打开状态(状态为真),更新小程序的报警器开关数据,实现发布上传数据到服务器上,并且打印一条成功发布的命令日志,硬件订阅主题获取数据实现报警蜂鸣器打开。若关闭状态(状态为假),则反之更新小程序的报警器开关数据,打印一条成功发布的命令日志,硬件订阅主题获取数据实现报警蜂鸣器关闭。
4.8. 登录功能
为了方便用户将小程序与种菜机进行绑定,每个单片机都会被分配一个唯一的设备编码,用户可以通过小程序扫描该单片机上的二维码,以获取种菜机的设备号,并将其与小程序进行绑定。
一旦绑定成功,小程序就可以实时获取种菜机的温度和湿度等信息。用户可以通过小程序随时监测种菜机的温湿度状况,以便及时调整种植环境,以满足作物的生长需求。例如,如果温度过高或湿度过低,用户可以在小程序中进行相应的调整,例如调整灯光亮度或者增加灌溉时间,以保持最适宜的生长环境。
这种绑定方式简单且高效,使得用户能够快速连接并操作种菜机。通过扫描二维码,用户不需要手动输入复杂的设备信息,减少了操作繁琐的环节。绑定成功后,小程序可以实时获取种菜机的数据,帮助用户更好地管理和控制种植环境,实现智能化的种植管理。
4.9. 使用mqtt协议
MQTT是一种轻量级的消息传输协议,具有多个特点使其在物联网设备和移动设备等领域得到广泛应用 [4] 。
首先,MQTT协议采用了轻量级的数据包开销,使得它在消耗带宽方面非常低。这意味着它能够高效地传输数据,同时减少了网络带宽的需求。它的轻量级特性也使得它适用于资源有限的物联网设备和移动设备。
另外,MQTT采用了发布–订阅模式,实现了实时的消息传递。这种模式使得设备和应用程序能够快速响应事件和状态的变化。通过订阅感兴趣的主题,设备和应用程序可以及时收到发布到该主题的消息,并做出相应的处理。这样的实时性和快速响应的特点使得MQTT协议非常适合实时控制的需求。符合种菜机系统对通讯功能的要求。
5. 系统实现与测试
5.1. 种菜机温湿度测试、调节
传感器对系统内的温湿度数据进行采集。这些传感器可以精确地监测当前环境的温度和湿度情况。采集到的数据会通过串行通信接口传输给单片机。单片机能够与连接至板子上的屏幕进行数据传输和通信。通过屏幕,用户可以方便地查看当前的温湿度数值,并实时了解种植环境的状况。屏幕上会显示当前的温度、湿度以及光照情况等相关信息。这种实时显示功能使用户能够随时掌握温湿度的变化,并及时采取相应的措施来维持适宜的生长环境。
用户可以根据屏幕上显示的数据,如图7,对种植环境进行实时监控和调整。例如,如果温度过高,用户可以及时降低温度或调整通风设施;如果湿度过低,用户可以增加湿度或进行适当的浇水。通过这样的实时显示功能,用户能够更好地管理和保护作物,确保它们在适宜的环境中健康生长。
Figure 7. Temperature and humidity, light display
图7. 温湿度、光照显示
5.2. 用户自主调节开关灯、水
在用户订阅唯一种菜机之后,他们可以通过小程序进行手动操作来控制装置。通过在小程序中操作开关,用户可以方便地对装置进行控制和调整,测试程序如图8。
当用户在小程序中进行操作时,单片机会从服务器端获取开关状态信息。服务器充当中心节点的角色,接收用户的请求并将状态信息传输给单片机。这样,单片机就能够及时了解用户在小程序中的操作。
单片机通过与服务器的通信,获取到用户的操作指令。根据这些操作指令,单片机可以进行相应的开关控制。例如,如果用户在小程序中打开了灯光开关,单片机会接收到对应的指令,并执行相应的操作,将灯光打开,如图9。类似地,如果用户关闭了风扇开关,单片机也会根据指令关闭风扇。
通过这种方式,用户可以通过小程序方便地控制装置,单片机则通过与服务器的通信获取用户操作指令并执行相应的控制动作。这种集中控制的方式使用户能够灵活地操作系统,满足他们种植环境的需求。同时,服务器的存在能够保证用户操作指令的传输和单片机对指令的准确接收,确保系统稳定可靠。
Figure 9. The system turns on the light lamp
图9. 系统打开光照灯
6. 结语
通过实验和实际应用的探索,本文充分验证了智能种菜机器在提供新鲜、有机蔬菜的同时降低种植成本的可行性。这种创新将单片机技术和物联网技术紧密结合,为人们打开了一扇种植的新大门,使得即使是城市居民也能够享受到种植的乐趣并品尝到新鲜的有机蔬菜。这一创新以小空间、低成本的方式提供了一种可行的种植解决方案,有效降低了对大片土地和大量资源的依赖。它不仅能够满足人们对新鲜、有机蔬菜的需求,还能够推动城市居民参与农业的积极性,增加公众对农业生产的了解和关注,促进农业与城市的良好互动,实现食品生产的可持续发展,在促进城市农业的可持续发展方面具有重要的意义。
参考文献