多功能鱼缸管理器设计与实现_第1页
多功能鱼缸管理器设计与实现_第2页
多功能鱼缸管理器设计与实现_第3页
多功能鱼缸管理器设计与实现_第4页
多功能鱼缸管理器设计与实现_第5页
已阅读5页,还剩63页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.1选题背景与意义随着经济的发展和国民收入水平的逐步提高,人们的生活水平逐渐提高,很多人都把养鱼作为日常生活的补充,鱼缸也成为养鱼不可或缺的工具。然而,传统鱼缸大多为半自动化产品,普遍存在功能单一、远程监控、无法设置生物生存环境参数等问题,这些问题让⽤户无法使⽤为了高效、精准、科学地养鱼,我们设计了基于物联网的多功能鱼缸管理器来解决上述问题。环保理念的倡导。随着人们对环境保护意识的不断提高,越来越多的人开始关注和喜欢饲养小动物,包括鱼类。而多功能鱼缸管理器则能够通过先进的水质监测和自动化控制系统,为鱼儿提供更加健康的生活环境,实现鱼儿健康成长的同时,也减少了鱼缸养护过程中对环境的污染和浪费。科技创新的推进。多功能鱼缸管理器是一种创新型产品,融合了先进的传感器、自动化控制系统和互联网技术,使得鱼缸的养护变得更加便捷、智能化。多功能鱼缸管理器的出现不仅为养鱼爱好者带来了更好的养鱼体验,同时也推动了科技的发展和应用。促进人与自然的和谐。多功能鱼缸管理器的出现,让养鱼变得更加智能、便捷和有趣。通过远程控制和云端连接等技术手段,用户可以随时了解鱼儿的生活状态,及时采取相应措施,营造一个更加和谐的人与自然的生活环境。1.2国内外研究现状和相关工作国内外观赏鱼市场正在快速发展[1]。在国内,智能鱼缸技术的研究和应用主要集中在家庭市场和科普教育领域。由于中国传统文化中有“鱼”与“余”谐音的说法,因此养鱼在中国一直被视为吉祥的活动。近年来,随着智能化技术的发展,智能鱼缸得到了更多人的关注和认可。国内众多科研机构和企业都开始致力于智能鱼缸的研发和应用,推出了一系列具有自动化控制、远程监控等功能的智能鱼缸产品。这些产品不仅可以提供更稳定、适宜的环境供鱼类生长,还可以帮助用户更加便捷地管理和观赏鱼类。

在国外,智能鱼缸技术的研究和应用更加广泛和深入。除了在家庭市场得到应用之外,智能鱼缸还被广泛应用于水族馆、公共场所和科研领域。许多国外公司和研究机构在智能鱼缸技术方面进行了深入探索,利用先进的传感器技术和人工智能算法,开发出具有自动化控制、远程监控等功能的高端智能鱼缸产品。这些产品可以为鱼类提供更加稳定和适宜的环境,帮助用户更加便捷地管理和观赏鱼类。总的来说,尽管国内外对智能鱼缸的研究和应用存在差异,但都表明了人们对于现代科技的广泛认可和需求。未来随着技术的不断创新和发展,智能鱼缸有望为人们提供更加便捷、智能化的鱼类养殖和观赏体验。1.3本文的研究内容与主要工作多功能鱼缸是一种新兴的养殖方式,但在智能化发展过程中也面临一些问题,例如数据采集和设备控制的无线传输、远程管理和监控等。从外形、构造、结构、空间上进行创新改进,针对智能水族箱解决问题不全面的不足进行产品研制、开发、设计和制造[2]。鱼缸内的水质和鱼类的生存密切相关,因此鱼类对水中的酸碱度、浑浊度、温度、溶解氧的含量等都有一个生存的标准[3-7]。

为了解决这些问题,本文提出了一套基于物联网技术的智能鱼缸管理系统。该系统主要包括子节点、信息终端、云端服务器和用户界面等组成部分。

在该系统中,子节点负责采集传感器的数据,并控制鱼缸内的设备如水泵、打氧机等。通过各个传感器采集到的数据,子节点将采集到的数据传输到信息终端。同时,子节点也能接收来自信息终端的控制指令,实现对鱼缸设备的远程控制。

信息终端通过WIFI通信网络将收集到的数据上传到云端服务器。用户可以通过小程序访问云端服务器,查看采集到的环境数据,并进行相应的鱼缸设备控制。此外,用户还可以在现场使用微信小程序进行管理操作。

这套系统的实现具有重要意义和广阔的前景。它可以有效减少所需的人力投入,提升鱼类的生活环境,并推进对养宠物现代化水平的提高。智能鱼缸管理系统为鱼类养殖提供了远程无线采集环境数据和远程无线控制鱼缸设备的解决方案,具有重要的应用前景。1.4本文的论文结构与章节安排本文共分为7章,章节内容安排如下:第1章介绍选题的意义及背景,了解国内外相关研究现状,并且对文章内容惊醒总体概括。第2章是对系统的相关技术进行介绍。第3章是对系统的整体设计的阐述,对系统进行需求分析和相应的流程设计。第4章是对系统硬件设计的阐述,对各个模块的原理及原理图进行介绍。第5章是对系统软件设计的阐述,对各个模块上传的数据上传到onenet云平台并实行相应的措施。第6章是对系统的设计和总体实现,通过对各个模块的测试以及收集数据向终端发送数据,并模拟用户对该系统的使用。第7章是对本文的总结和展望,对系统的各个部分进行总结并完善相应的地方,为后续使用提供便利。本章主要介绍了多功能鱼缸管理器所用到的相关技术介绍。物联网技术物联网是一种技术体系,通过使用传感器、设备和网络连接,能够使物理世界中的各种物体进行互相连接、通信和交互。物联网的核心思想是数字化实体物体,并通过互联网进行数据交流和智能控制。物理网络技术的应用目前对于整个社会的发展进步具有重要意义,智能鱼缸是基于网络技术的家庭科学育种新模式,用户可以通过远程控制了解鱼缸的状况,从而控制相关设备的运行[8,9]。物联网技术主要包括四个组成部分。第一部分是传感器和设备,用于收集和监测环境中的数据。这些传感器可以测量物理参数,也可以检测其他类型的信息。第二部分是网络连接,使物联网设备能够通过网络连接到互联网。第三部分是数据处理和存储,大量的物联网数据需要进行处理和存储。最后一部分是数据安全和隐私,确保数据的安全性和隐私保护非常重要。物联网技术在各个领域都有广泛的应用。例如,智能家居通过连接家庭中的电器、照明、安全系统等设备,实现远程控制、自动化和智能化管理。智能城市利用物联网技术构建智能交通、智能能源管理、智慧环境监测等系统,提高城市的管理效率和生活质量。工业自动化通过物联网连接工厂中的各种设备和机器,实现生产过程的监控、优化和自动化。农业领域应用物联网技术进行农作物监测、灌溉控制、养殖管理等,提高农业生产的效率和可持续性。医疗健康利用物联网技术实现医疗设备的远程监测、健康数据的收集和分析,提供更好的医疗服务和健康管理。总之,物联网技术正在改变我们的生活和工作方式,为各个领域带来了许多机会和挑战。随着技术的不断发展,物联网将在未来发挥更加重要的作用。Keil软件开发环境在Keil的开发环境中,开发人员可以使用代码编辑器编写和修改代码,支持多种编程语言。项目管理功能可用于组织和管理代码文件、资源文件和配置文件等。通过简单的菜单项或快捷键,可以方便地构建和编译代码。

Keil的开发环境还提供了强大的调试功能,包括单步执行程序、设置断点、查看变量值和寄存器状态等。通过调试窗口,开发人员可以观察程序的执行过程,并进行故障排除和性能优化。图2-1为编写代码界面。

图2-1编写代码界面Onenet云平台Onenet是中国移动推出的物联网云平台,支持多种设备接入,提供数据管理、应用开发、规则引擎、数据可视化和安全保障等功能,旨在帮助用户轻松开发和管理物联网应用。图2-2为onenet云平台界面,图2-3为设备管理界面。图2-2onenet云平台界面图2-3设备管理界面主控芯片MCU本项目采用的是以CW32F030C8T6为主控芯片的多功能鱼缸管理器,CW32F030C8T6是一款由威武微电子(WCH)推出的低功耗、高性价比的32位ARMCortex-M0内核微控制器。该芯片集成了丰富的外设和功能,适用于各种嵌入式应用。以下是CW32F030C8T6的主要特点:

1.内核和性能:采用ARMCortex-M0内核,运行频率可达到最高48MHz,具有快速响应和高效能的特点。

2.存储器:内置32KB的Flash存储器和8KB的SRAM,可用于存储程序代码和数据。

3.外设接口:支持多种外设接口,包括SPI、I2C、UART等,方便与其他设备进行通信和数据交换。

4.定时器:具有多个定时器,包括通用定时器、看门狗定时器等,可用于实现精确的计时和定时功能。

5.PWM(脉冲宽度调制):支持多通道的PWM输出,可用于控制电机、LED亮度调节等应用。

6.低功耗模式:具有多种低功耗模式,可有效降低功耗,在电池供电的场景下延长续航时间。

CW32F030C8T6是一款功能强大、成本效益高的微控制器,适用于各种嵌入式应用,包括家电、工业控制、智能穿戴设备等领域。它具有丰富的外设和低功耗特性,可满足多种应用需求。图2-4为CW32F030C8T6最小系统板。图2-4CW32F030C8T6最小系统板超声波传感器超声波传感器是一种常用的测距传感器,利用超声波的特性来测量物体与传感器之间的距离。

超声波传感器的工作原理是通过发射超声波脉冲,然后接收回弹的超声波信号。传感器内部包含一个超声波发射器和一个超声波接收器。发射器发出超声波脉冲,脉冲传播到目标物体上并被反射回来,接收器接收到反射回来的超声波信号。通过测量超声波的往返时间,并结合声速的已知值,可以计算出物体与传感器之间的距离。图2-5为超声波模块实物图。图2-5超声波模块实物图语音模块ASR01语音模块是一款集成了语音识别功能的模块,可以将语音信号转化为数字数据进行处理和分析。图2-6为ASR01语音模块实物图。图2-6ASR01语音模块实物图WIFI模块ESP8266是一款低成本、低功耗的Wi-Fi模块,由乐鑫科技(EspressifSystems)推出。它集成了Wi-Fi功能和处理器,可以作为单独的微控制器或与其他微控制器配合使用,实现物联网和无线网络连接。适用于各种物联网和无线网络应用。它的开放性和可扩展性使得开发人员可以快速构建连接互联网的智能设备和系统。图2-7为ESP8266模块实物图。图2-7ESP8266模块实物图液晶显示模块液晶显示模块是一种常见的平面显示技术,广泛应用于各种电子设备中。它利用液晶材料的特性来控制光的透过与阻挡,从而形成图像或文字的显示。液晶显示模块的视角通常是广泛的,可以在多个方向上观察图像而不失真。另外,液晶显示模块通常具有较高的对比度,可以显示清晰的图像和细节。图2-8为液晶显示模块实物图。图2-8液晶显示模块实物图浊度传感器浊度传感器是一种用于测量液体中悬浮物质浓度或水质浑浊度的传感器。它通过检测液体中的散射光来评估液体的浊度水平。在养殖水中,酸碱度还直接影响水中的浮游生物,浮游生物是养殖水中必不可少的,浮游生物负责吸收养殖水中的营养物质,一旦受到破坏,则会影响水中营养物质的有效循环,破坏水质[10]。图2-9为浊度传感器实物图。图2-9浊度传感器模块实物图本章小结本章主要介绍了软件的开发环境,onenet云平台的使用,主控芯片的功能和特点,以及各个传感器的功能介绍和实物图展示。本章主要介绍多功能鱼缸管理器的整体设计以及功能。系统设计的总体方案通过对市场的调研,对本文设计的多功能鱼缸管理器的需求有如下:水质的检测水质直接影响鱼类的健康和生长,因此监测水质非常重要。在饲养过程中,许多因素会影响水质,如诱饵残留、鱼类代谢产生的废物等。这些因素会导致水质变差,从而影响鱼类的健康状况。其中,水质中的PH值是一个至关重要的因素。当pH值过高或过低时,会对鱼类的鳃组织造成腐蚀,影响它们的呼吸,严重时甚至导致死亡。因此,及时了解水质中PH值的变化,可以帮助我们及时采取措施调整水质,确保鱼类的健康生长。因此,我们需要定期监测水中PH值的水平,并及时采取措施降低其浓度。简言之,实时监测水质非常重要,因为它可以帮助我们及时了解水质状况,并采取措施保护鱼类的健康。换水功能定期换水是保持鱼缸内良好水质的必要条件。如果水长时间不变化,水中的有害物质会逐渐积累,导致鱼类中毒。一般来说,建议每周换一次水。如果鱼缸配备了过滤设备,可以扩大到每两周一次。该功能的设计原理是通过传感器检测水质的浊度和PH值。用户会在系统中设置特定的换水时间,在水位高于设置值或者是PH检测值低于最低值等情况下开始自动换水[11]。当记录的值超过用户设置的阈值时,系统自动执行换水操作。由于换水工作相对困难且麻烦,加上现代生活节奏快,许多人没有足够的时间和精力频繁换水。因此,该系统设计了自动换水功能,以减轻用户的负担。自动换水功能可以帮助用户避免频繁换水的麻烦。通过监测水质指标和自动换水,可以确保鱼缸内的水质保持良好状态,给鱼一个健康的生活环境。这样,用户可以更轻松地享受养鱼的乐趣,同时有效地减少了对水质的担忧和管理工作量。自动喂食功能我们还考虑到,由于长期出差或其他可能导致鱼类健康问题的原因,一些用户可能无法定期喂鱼。此外,一些用户可能很难获得鱼类的食物量,因为过量或不足的喂养会对鱼类的生长产生负面影响。为了解决这些问题,我们专门开发了自动送料功能。该功能可以根据用户设置定期为鱼提供适量的食物。用户可以在系统中设置喂食时间和数量,使鱼类能够根据适当的频率和摄入量接受食物。自动喂食功能不仅可以确保鱼类获得足够的食物,还可以避免喂食过多或不足对鱼类造成负面影响。自动投喂功能可以为用户提供更方便的用户体验,帮助他们更好地管理鱼缸和鱼类健康。远程控制功能近年来,移动设备、智能手机或平板电脑的快速发展已成为人们的必需品。因此,该系统将上述功能集成到移动终端中,实现远程控制,使用户更加方便快捷。同时,该系统测量的鱼缸内环境的各种参数在传输到移动终端时也会进行检查,以便用户看到。远程监控可通过在手机电脑等终端安装APP,通过软件操作来实现[12]。在移动终端上,用户只需要简单的控制就可以实现对鱼缸的控制。可以控制浊度阈值、PH阈值等参数。自动调节,也可以自主设置执行换水和喂食等操作。该系统功能设计简单,功能描述清晰,操作方便,适用范围广,用户不必担心无法操作或其他问题。系统的功能通过浊度传感器以及PH传感器可以实时检测水质的条件,以确保鱼能在正常舒适的环境下生存。通过温湿度传感器可检测鱼缸周围的环境,若出现异常则会进行报警提示。出门在外可以通过小程序实时查看浴缸内的环境数值变化,并可在小程序端进行喂食以及换水等功能,实现了远程控制。通过语音模块可在家里随时进行换水,喂食等操作,不需要用户自行操作,从而节省时间能去做其实事情。系统的架构本文采用的是以物联网技术为核心的多功能鱼缸管理器,则该系统的架构可分为三部分:感知层,网络层,应用层。感知层:这是物联网的基础和核心,物联网负责收集和传输环境信息。感知层包括各种物理设备和传感器,它们通过各种方式收集真实数据,如温度、湿度、光强等。感知层的功能是将收集到的数据传输到前一层进行处理和分析。常见的感知设备和技术包括传感器技术、RFID技术、二维码技术、蓝牙技术和ZigBee技术。网络层:作为物联网的中枢神经系统,网络层负责将感知层收集的数据传输到云计算平台或其他设备。网络层包括各种通信网络,如局域网(LAN)、无线传感器网络(WSN)、广域网(WAN)等。其主要功能是实现设备之间的通信和数据传输,确保数据的可靠性和安全性。应用层:位于物联网的最顶端,它是面向用户的接口,提供了管理和控制的平台。应用层结合了不同行业的专业知识和业务模型,为用户提供个性化的服务。它可以基于物联网技术提供多样化的应用,如智慧农业、智能家居、智慧交通、智慧水务等,实现不同行业物联网的智能运用。多功能鱼缸管理器的架构图如图3-1所示。图3-1多功能鱼缸管理器的系统架构本章小结本章阐述了系统的总体设计方案,明确了系统的功能以及以物联网技术为核心的多功能鱼缸管理器系统构架。本章主要介绍多功能鱼缸管理器的系统硬件设计。系统硬件总体设计方案系统硬件部分采用的是CW32为主控芯片,通过控制传感器实行相应的措施。主控芯片为CW32,ESP8266WIFI通信模块,超声波传感器,浊度传感器,PH传感器,语音识别模块,水泵,继电器等模块。系统的硬件架构图如图4-1所示。图4-1系统的硬件架构图最小系统设计单片机最小系统选择的是CW32F030C8T6。该系统的引脚图如图4-2。图4-2CW32F030C8T6引脚图4.2.1稳压电路本设计采用了一个线性稳压器的电源电路,将输入的电换为单片机所需的电压。这样可以保证单片机能够稳定地运行,并且避免因为不稳定的供电而对系统产生不良影响。稳压电路如图4-3所示。图43稳压电路4.2.2复位电路单片机必须要设计一个复位电路,以防指针跑飞或是出现其他状况。由于系统初始化时,也需要一个过程,此时希望程序处于复位的状态,防止单片机误发命令。复位电路如图4-4所示。图44复位电路4.2.3晶振电路晶振电路在电子设计中占据重要地位,为各类设备提供稳定的时钟信号。晶振受到电压激励,产生振荡信号;通过反馈电阻将振荡信号回馈到放大器/缓冲器;放大器/缓冲器将振荡信号放大并输出,形成稳定的时钟信号。晶振电路如图4-5所示图45晶振电路超声波传感器模块电路的设计超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回,超声波接收器收到反射波就立即停止计时。测试距离=(计时时间*声速)/2。其引脚功能定义如表4-1所示。表4-1超声波传感器引脚功能表编号名称功能1VCC电源正2TRIG触发控制信号输入3ECHO回响信号输出4GND电源地采用IO口TRIG触发测距,给最少10us的高电平信呈。模块自动发送8个40khz的方波,自动检测是否有信号返回;有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。单片机与超声波模块接口电路图如图4-6所示。图4-6单片机与超声波模块接口电路图液晶显示屏电路的设计液晶显示屏采用的是TFT屏幕,它的图像产生原理是通过控制每个像素点的颜色和亮度实现的。在TFT-LCD中,为了精确控制每一个像素的颜色和亮度,通常在每一个像素后面安装一个类似百叶窗的开关,当“百叶窗”打开时,光线可以透过来,而当“百叶窗”关闭后光线就无法透过来。这个过程是由电子设备通过控制电路向TFT屏幕发送控制信号来实现的,这些控制信号包括像素点的位置、亮度和颜色等信息。当这些信号被传递到每个像素点时,就会产生电场作用,从而改变液晶分子的排列,进而控制光的透过与阻挡。其引脚功能定义如表4-2所示。表4-2液晶显示屏引脚功能表编号名称功能1GND电源地2VCC电源正3SCK/D0SPI总线时钟引脚4SDA/D1SPI总线写数据引脚5RES复位控制引脚6DC寄存器/数据选择控制引脚7CS片选控制引脚8BLK背光控制信号,接3.3V与传统的LCD相比,TFT液晶屏能够提供更高的刷新率、更好的色彩表现以及更高的对比度。这种类型的液晶屏是由多个像素组成的阵列,每个像素都有一个薄膜晶体管(TFT),这个晶体管负责控制该像素点的液晶分子。通过控制TFT的导通和截止状态,可以实现对单个像素的开关控制,从而实现在不同颜色之间的快速切换,使得图像显示更加平滑和自然。单片机与液晶显示屏接口电路图如图4-7所示。图4-7单片机与液晶显示屏接口电路图语音模块语音识别模块是通过麦克风采集声音信号,并将其进行预处理和数字化处理。然后利用特征提取器提取出语音的特征参数,再通过声学模型和语言模型来对语音信号进行识别和分析。最终通过解码器生成计算机可读的结果。其引脚功能定义如表4-3所示。表4-3语音模块引脚功能表引脚功能5V电源正TXDUART_TXD,异步串口发送端RXDUART_RXD,异步串口接收端GND电源地语音模块通过与单片机连接,只需叫出设定的关键字,即可完成相应的操作,通过单片机的串口PB10,PB11控制。单片机与语音模块接口电路图如图4-8所示。图4-8单片机与语音模块接口电路图WiFi通信模块本文选用的WiFi模块是ESP8266,ESP8266是一款低成本,节能的Wi-Fi模组,它可以通过Wi-Fi连接到互联网,可以被用来进行数据传输,控制硬件以及管理网络。其引脚功能定义如表4-4所示。表4-4WiFi通信模块引脚功能表引脚功能RX信号发送引脚CHDP使能端,高电平有效RST外部复位引脚,低电平有效VCC电源正GND电源地TX信号接收引脚ESP8266与单片机连接并连接热点后,可将收集到的数据通过WiFi上传到onenet云平台,并能实时观察相应的数据。单片机与WiFi通信模块接口电路图如图4-9所示。图4-9单片机与WiFi通信模块接口电路图浊度传感器浊度传感器通过对水中的杂质检测看是否达到相应的标准,如未达标准则会显示异常数据,提醒人们要进行换水操作。其引脚功能定义如表4-5所示。表4-5浊度传感器模块引脚功能表引脚功能VCC电源正GND电源地DO数字信号输出AO模拟信号输出浊度传感器采用的是模拟信号输出。单片机与浊度传感器模块接口电路图如图4-10所示。图4-10单片机与浊度传感器模块接口电路图PH传感器PH传感器是用来检测被测物中氢离子浓度并转换成相应的可用输出信号的传感器,通常由化学部分和信号传输部分构成。PH传感器常用来进行对溶液、水等物质的工业测量。其引脚功能定义如表4-6所示。表4-6PH传感器模块引脚功能表引脚定义功能描述VCC供电电压正极,5VGND供电电压负极GND模拟信号输出负极PO模拟信号输出正极2V5基准电压2.5V输出口T1温度传感器信号输出口将PH传感器接到板载BNC接口,将板载PH2.0接口连接到控制器的模拟口,通过程序控制,可以非常方便的测量溶液的PH值。传感器的电极采用玻璃电极和参比电极组合在一起的塑壳不可填充式复合电极,是PH计测量元件,用来测量水溶液中的氢离子活度,即PH值。单片机与PH传感器模块接口电路图如图4-11所示。图4-11单片机与PH传感器模块接口电路图继电器继电器模组是一种常见的电子器件,可在电路中起到开关的作用。其工作原理基于电磁感应和电气传导,通过控制电流来打开或关闭电路。其引脚功能定义如表4-7所示。表4-7继电器模块引脚功能表引脚定义功能描述VCC电源正GND电源地COM接继电器模块切换的负载NC引脚常闭NO引脚常开继电器模组通过电磁感应和电气传导原理实现电路的开关功能。当电磁线圈通电时,通过磁力作用使触点闭合,从而开启电路;停止通电时,磁场消失,触点分离,电路关闭。继电器模组广泛应用于各个领域,具有可靠性高、响应速度快、负载能力强等特点。单片机与继电器模块接口电路图如图4-12所示。图4-12单片机与继电器模块接口电路图系统整体电路系统整体电路原理图如图4-13所示。图4-13系统整体电路图本章小结在本章中,我们介绍了系统硬件的整体构架,单片机的最小系统,以及各个模块的原理图及其引脚定义。本章主要介绍多功能鱼缸管理器系统的软件设计。系统总体设计方案多功能鱼缸管理器系统的主程序模块首先进行初始化,包括MCU相关串口、HAL库以及相关参数和云平台协议的初始化。接着完成与云平台的通信设置,确保WiFi模块可以正常连接并传输数据。

然后,主程序模块会获取各类传感器的检测数据,并将这些数据显示到液晶显示屏上。为了实现更好的模块化设计,主程序模块会将智能生态鱼缸的系统功能划分为多个子程序,并在独立的编译页面中分别进行编写。

在编写子程序时,会对各类函数进行声明,以便在不同的页面中进行调用。这样做既能使各类子程序有机地结合起来,又能保证程序的调试过程简便。

通过这种设计方式,智能生态鱼缸系统可以实现对浑浊度、光照强度、PH值等参数的采集功能,并根据所采集到的参数自动控制水泵、灯光等硬件设备,从而实现对鱼缸内环境的调节功能。这种设计方式不仅可以使设计思路清晰,还能简化程序的调试过程。系统软件总体设计如图5-1所示。图5-1系统软件总体设计图在系统初始化阶段,主控芯片、无线通信模块和云平台之间建立通信连接。接着,对传感器进行数据采集操作。采集到的数据将在TFT-LCD上显示,并通过控制ESP826通信模块上传到云平台。云平台可以下发控制指令给主控芯片,以决定是否启动继电器,并根据采集到的数据进行分析执行对水泵和打氧机的相应控制。这样,系统可以实现对水泵和打氧机的自动控制,并将监测数据传输到云平台进行远程监控和管理。系统终端软件流程图如图5-2所示。图5-2系统智能终端软件流程图超声波测距软件设计超声波模块通常用于测距、避障等应用。将超声波模块与主控板或单片机进行连接。通常,超声波模块有两个引脚:Trig(触发)和Echo(回响)。Trig引脚用于触发超声波发送,Echo引脚用于接收回响信号。对超声波模块进行初始化设置,通过向Trig引脚发送一个短脉冲信号,触发超声波模块发送一束超声波。超声波在遇到物体后会发生反射,超声波模块会接收到反射回来的信号。Echo引脚会输出一个脉冲信号,持续时间与超声波往返的时间成正比。根据脉冲信号的持续时间,可以计算出超声波的往返时间。然后,使用声速和时间的关系,计算出物体与超声波模块的距离。超声波模块软件流程如图5-3所示。图5-3超声波模块软件流程图超声波模块的主要代码如下: if((SuperVoiceStartFlag)&&(EnterCalculFlag)&&(GPIO_ReadPin(CW_GPIOB,GPIO_PIN_8)==0)&&(High_LevelNum>2)) { SuperVoiceStartFlag=0; EnterCalculFlag=0; printf("time=%d\n\t",High_LevelNum); Length_Sum=(High_LevelNum*850)/10; //计算超声波测距公式 printf("%f\r\n",Length_Sum); ddd=(unsignedint)Length_Sum; numToString(ddd/100); Lcd_Clear(GRAY0); High_LevelNum=0; Gui_DrawFont_GBK16(15,5,BLACK,GRAY0,"Distance"); Gui_DrawFont_GBK16(15,25,BLACK,GRAY0,strValue); Gui_DrawFont_GBK16(50,25,BLACK,GRAY0,"cm"); } Signal_Startdelay(); if(globlTimes-time>500) if(SuperTimNum>=50) { CW_GPIOC->ODR^=GPIO_PIN_13;/ CurrentPetTemp+=1; if(CurrentPetTemp>=90) CurrentPetTemp=1; ESP8266_SendData(CurrentPetTemp,CurrentPetTemp,CurrentPetTemp);//发送数据 SuperTimNum=0; time=globlTimes; }语音模块软件设计通过对不同的关键字设定不同的指令,以到达想要的指令行为,将语音模块与主控板或单片机进行连接。连接方式为串口通信、I2C总线。对语音模块进行初始化设置。通过发送指令或调用相应函数,触发语音模块进行语音播放操作。可以通过发送指令或调用相应函数,触发语音模块进行语音识别操作。语音模块会将录制的语音数据传输到识别引擎进行处理,并返回识别结果。语音模块软件流程如图5-4所示。图5-4语音模块软件流程图语音模块的主要程序代码如下: voidASR_CODE()

{

//{ID:500,keyword:"唤醒词",ASR:"大聪明",ASRTO:"主人我在"}

if(snid==500){

}

//{ID:501,keyword:"命令词",ASR:"喂食",ASRTO:"拾柒拾柒快过来吃饭"}

if(snid==501){

digital_write((0),0);

delay(350);

digital_write((0),1);

}

//{ID:502,keyword:"命令词",ASR:"喂水",ASRTO:"拾柒拾柒快过来喝水"}

if(snid==502){

digital_write((1),0);

delay(350);

digital_write((1),1);

}

}

voidsetup()

{

//{speak:云儿-温柔女声,vol:20,speed:10,platform:haohaodada}

//{playid:10001,voice:欢迎使用wxw宠物管家系统,我是迷糊管家大聪明}

pinMode(0,output);

pinMode(1,output);

digital_write((0),1);

digital_write((1),1);WiFi模块软件设计WiFi作为软硬件之间的桥梁,在应用中起到了非常的作用。本文采用WiFi通信模块与主控芯片MCU进行联网互通,数据的传输采用的是简易的串口收发方式。ESP8266模块软件流程图如图5-5所示。图5-5ESP8266模块软件流程图为了完成智能生态鱼缸系统的无线传输功能,需要先进行Wi-Fi模块的初始化配置。

具体的配置过程可以按照以下顺序进行:

1.配置输入输出端口,包括波特率和字长等参数;

2.对串口进行初始化,并进行中断使能控制的配置;

3.对使能端进行使能赋值,确保Wi-Fi模块正常工作;

4.编写发送初始化指令表函数,用于与云平台进行通信。

完成上述步骤后,就可以进行路由器的连接并获取云平台的IP和端口号。通过指令进行连接后,可以将采集到的数据发送到云平台上,实现多功能鱼缸管理器系统的远程监控功能。

同时,为了响应云平台下发的指令,需要对MCU进行配置,使其能够接收并处理来自Wi-Fi模块的串口回传数据。这样,系统就可以根据云平台的指令对外设进行控制,实现智能化的鱼缸控制。主要程序代码如下:#defineESP8266_WIFI_INFO "AT+CWJAP=\"WiFi名称\",\"密码\"\r\n"#defineESP8266_ONENET_INFO "AT+MQTTCONN=0,\"\",1883,1\r\n"#defineESP8266_USERCFG_INFO"AT+MQTTUSERCFG=0,1,\"设备名称\",\"产品id\",\"token时间戳生成\",0,0,\"\"\r\n"unsignedcharesp8266_buf[256];unsignedshortesp8266_cnt=0,esp8266_cntPre=0;char*pubtopic="$sys/产品id/设备名称/thing/property/post";ESP8266_Clear(); voidESP8266_Init(void){ ESP8266_Clear(); printf("0.AT\r\n"); while(ESP8266_SendCmd("AT\r\n","OK")) DelayMs(500); printf("1.AT+RST\r\n"); while(ESP8266_SendCmd("AT+RST\r\n","")) DelayMs(500); printf("2.CWMODE\r\n"); while(ESP8266_SendCmd("AT+CWMODE=1\r\n","OK")) DelayMs(500); printf("3.AT+CWDHCP\r\n"); while(ESP8266_SendCmd("AT+CWDHCP=1,1\r\n","OK")) DelayMs(500); printf("4.CWJAP\r\n"); while(ESP8266_SendCmd(ESP8266_WIFI_INFO,"GOTIP")) DelayMs(500); printf("5.MQTTUSERCFG\r\n"); while(ESP8266_SendCmd(ESP8266_USERCFG_INFO,"OK")) DelayMs(500); printf("6.MQTTCONN\r\n"); while(ESP8266_SendCmd(ESP8266_ONENET_INFO,"OK")) DelayMs(500); printf("7.ESP8266InitOK\r\n");}液晶显示屏软件设计要在TFT液晶显示屏上实时显示数据,需要按照以下步骤进行操作:

首先,需要对液晶显示屏的输入输出端口进行初始化配置,以确保与芯片通信正常。然后,使用SPI总线与芯片进行通信,将需要显示的数据传输到液晶显示屏上。

接下来,需要根据需求确定数据在屏幕上的显示位置坐标,并设定相应参数以确保数据准确显示在指定位置。最后,将数据写入液晶显示屏特定位置,并通过读取数据确认显示是否正确。

通过以上步骤,可以成功初始化TFT液晶显示屏并实现数据实时显示,这将有助于我们清晰地展示协调中心网络的状态。液晶显示品屏模块软件流程图如图5-6所示。图5-6液晶显示模块软件设计流程图主要代码程序如下:Lcd_Init(); Lcd_Clear(GRAY0);//清屏voidGui_DrawFont_GBK16(unsignedintx,unsignedinty,unsignedintfc,unsignedintbc,char*s){ unsignedchari,j; unsignedshortk,x0; x0=x;浊度传感器软件设计浊度传感器模块通常用于测量液体中的浑浊程度或悬浮物的浓度。将浊度传感器模块与主控板或单片机进行连接。连接方式为模拟信号输出。对浊度传感器模块进行初始化设置。在开始测量之前,需要对浊度传感器进行校准。通过发送指令或调用相应函数,触发浊度传感器模块进行测量操作。传感器会返回一个浊度数值,表示液体的浑浊程度或悬浮物的浓度。对读取的浊度数值进行进一步处理。浊度传感器初始化流程图如图57所示。图57浊度传感器模块初始化流程图浊度传感器模块的主要程序代码如下:NVIC_init(); SYSTICK_DelayInit(); //延时函数初始化 GPIO_QuickInit(CW_GPIOC,GPIO_Pin_13,GPIO_Mode_Out_PP);//初始化与LED连接的硬件接口 UART_QuickInit(CW_UART1,9600,2,2,ENABLE); ADC_init(ADC_CH4); while(1) { adcx=median_filtering(); printf("adc4val:%d\r\t",adcx); temp=(float)adcx*(3.3/4096); temp=temp*100/3.3; if(temp>100)temp=100; printf("adcval:%f\n",temp); SYSTICK_DelayMs(250); //延时300ms PCout(13)= !PCout(13); }}电机软件设计电机是一种将电能转换为机械能的设备,常用于驱动各种机械装置。将电机与电源和控制电路进行连接。根据电机的特性和工作要求,设置相应的参数。通过控制电路发送合适的信号,启动电机。这可以包括打开电源开关、调节电流或PWM信号等。电机开始转动。可以使用传感器或反馈信号来监测电机的运行状态。例如,使用霍尔传感器检测转速、使用编码器获取位置信息等。根据需要,使用控制电路对电机进行调节和控制。可以改变电流、改变PWM信号的占空比等。这可以实现转速调节、方向控制和停止等操作。当不再需要电机运行时,发送相应的信号来停止电机。可以关闭电源开关、断开电流供应或停止PWM信号等。电机初始化流程图如图58所示。图58电机模块初始化流程图电机部分的主要程序代码如下://初始化电机结构体

MotoInit(&M1_MotoStruct);

//电机轮询函数

voidMotoPoll(MotoStruct*motostruct)

{

//判断电机是否启动

if(motostruct->MotoEn==ON)

{

//如果电机步进旋转计数为0,或者大于电机旋转计数最大值,则重置电机方向为停止状态

if((motostruct->MotoStepSpinCnt==0)||(motostruct->MotoStepSpinCnt>MOTO_ROTO_CNT()))

{

motostruct->MotoLastDirection=motostruct->MotoDirection;

motostruct->MotoStepSpinCnt=0;

motostruct->MotoDirection=Stop;

}

//根据电机方向进行相应的操作

switch(motostruct->MotoDirection)

{

caseForward:

motostruct->MotoStep++;

motostruct->MotoStepSpinCnt--;

if(motostruct->MotoStep>=MOTO_STEP_STOP)

{

motostruct->MotoStep=MOTO_STEP_1;

}

break;

caseReversal:

motostruct->MotoStep--;

motostruct->MotoStepSpinCnt--;

if((motostruct->MotoStep==0)||(motostruct->MotoStep>MOTO_STEP_STOP))

{

motostruct->MotoStep=MOTO_STEP_STOP;

}

break;

caseStop:

motostruct->MotoEn=OFF;

motostruct->BusyFlag=OFF;

motostruct->MotoStep=MOTO_STEP_STOP;

break;

default:

break;

}

//电机旋转相位操作

MotoRotoPhase(motostruct);

}

}

Onenet云平台软件设计多功能鱼缸管理器系统连接onenet云平台的实现步骤如下:

1.在onenet物联网云平台注册新的账号,并进入开发者中心。图59云平台创建图12.在云平台中创建产品时选择MQTT协议。

图510云平台创建图23.添加设备,将设备与产品进行关联。

图511云平台创建图3至此onenet云平台端已创建完毕,将ESP8266连接网络使云平台与单片机互通。随后绑定设备id,产品名称等,便可上传实时数据并进行检测。发送命令部分代码如下: uint8_tESP8266_SendCmd(char*cmd,char*res){ uint16_ttimeOut=1000; Usart_SendString(CW_UART1,(unsignedchar*)cmd,strlen((constchar*)cmd)); while(timeOut--) { if(ESP8266_WaitRecive()==REV_OK) //如果收到数据 { if(strstr((constchar*)esp8266_buf,res)!=NULL) //如果检索到关键词 { ESP8266_Clear(); //清空缓存 return0; } } DelayMs(10); } return1;}等待接收完成代码如下: uint8_tESP8266_WaitRecive(void){ if(esp8266_cnt==0) //如果接收计数为0则说明没有处于接收数据中,所以直接跳出,结束函数 returnREV_WAIT; if(esp8266_cnt==esp8266_cntPre) //如果上一次的值和这次相同,则说明接收完毕 { esp8266_cnt=0; //清0接收计数 returnREV_OK; //返回接收完成标志 } esp8266_cntPre=esp8266_cnt; //置为相同 returnREV_WAIT; //返回接收未完成标志}小程序软件设计小程序可以提供简单的服务和功能,用户可以通过小程序快速获取所需信息。小程序可以在不需要下载和安装的情况下直接打开,并且启动速度快、流程简单,用户可以更加方便地使用它们来完成某些任务。相比于传统应用程序,小程序的体积较小,可以节省手机存储空间。小程序界面图如图5-12所示。图512小程序界面图Onenet云平台数据上传到小程序的主要程序代码如下: const{ createCommonToken }=require('@/key.js') exportdefault{ data(){ return{ temp:'', humi:'', food:'', water:'', ox:'', led:true, token:'', } }, onLoad(){ constparams={ author_key:'密钥', version:'2022-05-01', user_id:'366017', } this.token=createCommonToken(params); }, onShow(){ this.fetchDevData(); setInterval(()=>{ this.fetchDevData(); },3000) }, methods:{ fetchDevData(){ uni.request({ url:'云平台接口',//仅为示例,并非真实接口地址。 method:'GET', data:{ product_id:'产品id', device_name:'设备名称' }, header:{ 'authorization':this.token//自定义请求头信息 }, success:(res)=>{ console.log(res.data); this.temp=res.data.data[2].value; this.humi=res.data.data[0].value; this.led=res.data.data[1].value==='true'; this.ox=res.data.data[0].value; this.water=res.data.data[0].value; this.food=res.data.data[0].value;下发指令到单片机的主要程序代码如下:onLedSwitch(event){//下发指令到单片机 console.log(event.detail.value); letvalue=event.detail.value; uni.request({ url:'云平台接口',//仅为示例,并非真实接口地址。 method:'POST', data:{ product_id:'e8KyEjA5M8', device_name:'mqtt1', params:{ "led":value"water":value"food":value"ox":value } }, header:{ 'authorization':this.token//自定义请求头信息 }, success:()=>{ console.log('LED'+(value?'ON':'OFF')+'!'); } }); }本章小结本章主要介绍了如何搭建实时操作系统与云平台,以开发多功能鱼缸管理器。涉及到的主要模块包括WiFi通信、显示、浊度传感器、电机、超声波传感器和语音模块。同时还介绍了使用小程序进行远程监控和控制。具体的代码实现需要根据实际需求和技术要求进行编写。本章主要介绍的是系统的总体设计实现以及各功能的测试。6.1系统终端测试将各模块通过杜邦线连接开发板,其终端展示如图6-1所示。图6-1系统终端测试图6.2小程序控制系统具备接收客户端下达特定指令的功能,并能够通过数据解析,完成相应的操作。客户端可以自定义按钮功能,向系统下发指令以获取数据。如图6-2所示。图6-2小程序界面图6.3onenet云平台测试将收集到的数据通过WiFi上传到云平台,并能在云平台内实时观看数据以及下达指令进行相应的操作。如图6-3所示。图6-3云平台界面图6.4本章小结本章旨在验证系统的可实现性,通过对各个设计部分进行调试,确认系统的数据流通是否正常。具体来说,我们将对终端部分、物联网平台和小程序之间的交互进行调试。本章是毕业论文的总结,是整篇论文的归宿,应精炼、准确、完整。应着重阐述自己的创造性成果及其在本研究领域中的意义、作用,还可进一步提出需要讨论的问题和建议。工作总结本文设计的多功能鱼缸管理器系统是根据当前水族产业市场和用户需求进行研发的。通过分析现有智能化水族产品的不足和未来发展趋势,我们设计了一套集成传感器技术、WiFi通信技术等功能于一体的多功能鱼缸管理器系统。该系统具备实时监测温度、浊度、PH值和水位的功能,并能自动完成供氧、投食、换水等任务。此外,用户还可以通过手机远程监控和控制鱼缸。与传统鱼缸相比,我们的系统解决了零散器件之间数据互通不畅的问题,同时减少了人工干预,提高了水族产品的可靠性、便捷性和智能化水平。该系统不仅具备传统鱼缸所需的基本功能,还优化了控制过程并提高了精度,从而节约成本并提升了用户体验。整个系统运行稳定可靠,能够满足用户对智能化水族养殖的需求。研究展望尽管我们的智能生态鱼缸系统能够实现预设目标,包括对家用鱼缸的智能化控制以及用户在移动终端上的远程控制功能,但由于时间和知识水平的限制,该系统的研究设计还存在一些不足之处。

首先,鱼缸内的环境是一个复杂多变的生态系统,受到许多因素的影响,包括温度、含氧量、食物投放量、光照和水质等。这些因素之间相互关联,并且可能存在耦合现象,关系复杂。因此,我们可以引入模糊控制等技术来提高系统的智能决策水平,以更好地适应鱼缸内环境的变化。

其次,为了实现远程控制功能,我们使用了机智云平台进行数据传输和存储。然而,该平台是商业平台,对于用户数据的私密性保护存在一定的缺陷。为了进一步保护传输数据的安全性,我们需要加强对数据传输的加密保护,以确保用户的隐私不会被泄露。

在未来的研究和设计中,我们将努力解决这些不足之处,以提高系统的智能化水平和用户数据的安全性。胡智豪,宋志强.基于STM32的智能鱼缸的设计与实现[J].微处理机,2023,44(06):46-49.高小伟,贾先,何东泓等.一种基于单片机控制系统的智能水族箱设计[J].科技创新与应用,2023,13(17):58-60.张云达.智能生态鱼缸系统设计与实现[D].浙江海洋大学,2023.2023.000301.陈建钢.基于STM32与FreeRTOS的物联网鱼缸[J].物联网技术,2023,13(01):140-143.陈瑶,王凤嫔.一种智能鱼缸的设计与实现[J].电子制作,2023,31(01):22-25.吴海青,何满塘,周朝阳等.基于STM32单片机的智能鱼缸控制系统设计[J].机械工程与自动化,2022,(06):158-160.康荣显,王勋,王晓童等.基于物联网的鱼缸智能控制系统研究[J].网络安全技术与应用,2022,(12):97-99.李晔,曾昂.基于物联网的智能鱼缸系统设计与实现[J].中国新通信,2022,24(16):62-64.卢佳妮,赵心瑜,吕利.基于STM32的智能鱼缸设计[J].无线互联科技,2022,19(14):68-70.张洲,薛小松,谢承辉等.基于Arduino的智能鱼缸监控系统设计[J].电子测试,2022,36(12):34-36.王勋,康荣显,王玥等.基于STM32单片机的智能鱼缸设计[J].赤峰学院学报(自然科学版),2022,38(05):10-14.张胜男,杨荣国.一种基于STM32物联网家居控制的鱼缸监控系统[J].现代商贸工业,2022,43(12):192-193.WuZ,ZhongL,XueL.Amulti-functionalfishtankremotemonitoringsystembasedonSTM32[J].InternationalJournalofFrontiersinEngineeringTechnology,2022,4.0(7.0):23-24.ShaohuaF,WenjingX,JunchengW,etal.Researchanddesignofanintelligentfishtanksystem.[J].PloSone,2023,18(5):52-54.LXvoid

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论