一、前言
1.1 项目介绍
【1】项目功能介绍
随着人们生活水平的提高,家居环境中的绿色生态和健康生活越来越受到重视。鱼缸作为家居装饰的一部分,不
仅需要美观,还需要关注鱼儿的健康和生存环境。为了满足这一需求,当前设计了基于STM32的智能鱼缸系统。
该系统通过集成多种传感器,实现了对鱼缸环境参数的实时监测和调节。水质浑浊度传感器能够检测鱼缸水质状
况,确保水质清澈;防水式温度传感器能够监测水温,确保鱼儿在适宜的温度下生存;光敏电阻传感器能够根据
光线强度自动调节灯光照明;氨气传感器能够检测鱼缸中的氨气含量,确保硝化环境的生成。
此外,该系统还具有远程控制功能,可以通过微信小程序随时查看鱼缸环境参数,并设置增氧泵的开启间隔时
间、水温阀值以及控制模式的切换。这使得用户可以随时随地了解鱼缸状况,并根据需要调整环境参数,为鱼儿
提供更好的生存环境。
在硬件选型方面,选择了STM32F103RCT6作为主控芯片,该芯片具有高性能、低功耗等特点,能够满足系统需
求。防水式温度传感器选择DS18B20,该传感器具有防水、耐高温、精度高等特点,适用于鱼缸环境。氨气传感
器选择MQ137氨气传感器,该传感器能够检测空气中的氨气含量,适用于鱼缸环境。WIFI选择ESP8266,该模
块具有低功耗、高速率等特点,能够满足系统数据传输需求。水质浑浊度传感器采用水质传感器进行检测; 增
氧泵、加热棒采用继电器控制。
该智能鱼缸系统结合了多种传感器和远程控制功能,为鱼儿的健康和生存环境提供了有力保障。同时,该系统还
具有美观、实用、易于操作等特点,适用于家庭、办公室等场所。
【2】设计需求总结
基于STM32设计的智能鱼缸。
设计具体要求有:
1、通过浑浊度传感器检测水质,当水质数值大于设置最大值,通过LED灯亮红色灯进行提醒换水,正常就绿色
灯;
2、通过防水式温度传感器检测水温,水温超过设置下限值,进行自动加热;
3、通过光敏电阻传感器检测光强,自动模式下,低于设置的阈值打开灯光照明;
4、通过氨气传感器检测,确保鱼缸中硝化环境的生成; 如果有氨气存在就亮红色灯,正常就绿色灯。
5、可以定时打开增氧泵进行增氧;
6、设备端所有的数据都会通过ESP8266-WIFI上传到腾讯云IOT物联网平台,能够使用微信小程序进行远程监
测,查看水质、水温、光强等数值;
7、微信小程序上能远程设置增氧泵的开启间隔时间,水温阀值,以及控制模式的切换。
硬件选型:
主控芯片选择STM32F103RCT6、防水式温度传感器选择DS18B20、氨气传感器选择MQ137氨气传感器,WIFI选
择ESP8266,水质浑浊度传感器采用水质传感器进行检测; 增氧泵、加热棒采用继电器控制。
【3】项目硬件模块组成
这个基于STM32设计的智能鱼缸包含以下硬件模块:
(1)主控芯片:采用STM32F103RCT6作为主控芯片。STM32F103系列是STMicroelectronics推出的
Cortex-M3内核的32位微控制器,具有高性能和丰富的外设。
(2)温度传感器:使用防水式温度传感器DS18B20。DS18B20是一种数字温度传感器,具有高精度、数字输出
和防水特性,适合在水中测量温度。
(3)氨气传感器:选择MQ137氨气传感器来检测氨气含量。MQ137是一种高灵敏度的氨气传感器,能够检测到
鱼缸中的氨气浓度,并将其转换为电信号。
(4)光敏电阻传感器:用于检测光强度。光敏电阻是一种光敏元件,其电阻值会随着光照强度的变化而变化,
通过检测电阻值的变化可以获取光强信息。
(5)浑浊度传感器:采用水质传感器进行浑浊度检测。水质传感器可以测量水体的浑浊度,它使用光散射原理
或电导率原理来测量水体中悬浮物的含量。
(6)WIFI模块:选择ESP8266作为WIFI模块,用于与腾讯云IOT物联网平台建立连接,并上传传感器数据。
(7)继电器:用于控制增氧泵和加热棒的开关。继电器是一种电磁开关装置,可以通过控制电流来控制高功率
设备的开关状态。
以上硬件模块组成了智能鱼缸系统的核心部分,通过这些模块的协同工作,实现了对水质、温度、光强和氨气等
参数的监测和控制。同时,通过WIFI模块将数据上传到腾讯云IOT物联网平台,实现了远程监测和控制的功能。
1.2 设计思路
【1】整体设计思路
整体设计思路如下:
(1)确定需求:根据鱼缸的使用需求,确定需要监测和控制的参数,并制定相应的功能模块。
(2)选择硬件:根据功能模块的需求,选择合适的硬件进行搭建。主控芯片选用STM32F103RCT6,温度传感器
选择DS18B20,氨气传感器选择MQ137,光敏电阻传感器选择光敏电阻,水质浑浊度传感器采用水质传感器。
WIFI模块选择ESP8266,增氧泵、加热棒采用继电器控制。
(3)硬件连接:将硬件按照电路图进行连接,并进行调试。
(4)软件开发:根据功能模块的需求,编写相应的程序,并进行联调测试。主要包括数据采集、数据处理、数
据上传、控制指令接收等功能。
(5)远程监测和控制:通过WIFI模块将数据上传到腾讯云IOT物联网平台,实现远程监测和控制的功能。用户
可以通过微信小程序进行远程监测和控制。
整个设计思路以功能需求为导向,通过硬件选择、连接和软件开发来实现对鱼缸环境的监测和控制。同时,通过
WIFI模块将数据上传到腾讯云IOT物联网平台,实现远程监测和控制的功能,为用户提供更加便利和高效的使用
体验。
【2】ESP8266工作模式配置
在整个设计里,STM32端的ESP8266配置成STA模式+TCP客户端模式,上电时连接家里的路由器WIF热点,连接
互联网,以TCP客户端模式(通过MQTT协议)去连接腾讯云物联网服务器,实时上传当前的设备状态等各种参数
信息。用户在微信小程序可以远程查看设备的状态信息。
ESP8266模块具有两种常用的工作模式,分别是STA模式和AP模式:
(1)STA模式(Station Mode):在STA模式下,ESP8266可以连接到已存在的Wi-Fi网络作为一个客户端
设备。它可以扫描周围的Wi-Fi网络,并且根据提供的SSID和密码进行连接,获取IP地址后可以通过该网络与
其他设备进行通信。在STA模式下,ESP8266可以实现与互联网的连接,执行各种网络相关的操作。
(2)AP模式(Access Point Mode):在AP模式下,ESP8266可以作为一个独立的Wi-Fi接入点(热点)运
行。它会创建一个自己的Wi-Fi网络,允许其他设备(如手机、电脑等)连接到这个热点上。在AP模式下,
ESP8266可以充当局域网内部的服务器,通过建立TCP/IP连接与其他设备进行通信,提供Web页面访问、数据
传输等服务。
通过STA模式,ESP8266可以连接到互联网上的其他设备或服务器,实现远程控制和数据交换;而通过AP模式,
ESP8266可以作为一个独立的接入点,让其他设备通过它进行连接和通信。
1.3 项目开发背景
【1】选题的意义
(1)提升鱼缸管理的智能化水平
智能鱼缸的设计选题将传统的鱼缸管理提升到了智能化的层面。通过集成各种传感器和自动控制技术,该系统能
够实现鱼缸环境的实时监测和自动调节,确保鱼儿在最佳状态下生存。这种智能化管理方式不仅提高了鱼缸管理
的效率,还为鱼儿的健康和生存环境提供了更好的保障。
(2)满足用户对家居环境的更高需求
随着生活水平的提高,人们对家居环境的要求也越来越高。智能鱼缸的设计选题符合了这一需求趋势。通过微信
小程序远程监测和控制,用户可以随时随地了解鱼缸状况,并根据需要调整环境参数,为鱼儿提供更好的生存环
境。这种便捷性和个性化的服务,满足了用户对家居环境的更高需求。
(3)促进物联网技术在家庭生活中的应用
物联网技术是当今科技发展的热点之一,其在家庭生活中的应用也越来越广泛。智能鱼缸的设计选题将物联网技
术引入家庭生活,通过ESP8266-WIFI模块将数据上传到腾讯云IOT物联网平台,实现了远程监测和控制。这种
应用方式不仅展示了物联网技术在家庭生活中的潜力,也为物联网技术的进一步发展提供了实践经验。
(4)推动嵌入式系统与传感器技术的发展
智能鱼缸的设计选题涉及到嵌入式系统和传感器技术的应用。STM32主控芯片、防水式温度传感器、氨气传感器
等都是嵌入式系统和传感器技术的典型应用。通过该选题的设计和实现,可以进一步推动嵌入式系统和传感器技
术的发展,提高其在各种智能化系统中的应用水平。
【2】可行性分析
基于STM32设计的智能鱼缸方案在技术上完全可行。 STM32F103RCT6微控制器的高性能和丰富的外设接口能够
轻松处理传感器数据和执行控制任务。选择的传感器如DS18B20温度传感器、MQ137氨气传感器以及水质浑浊度
传感器等都是经过验证的可靠产品,能够提供准确的环境参数。通过ESP8266 WIFI模块,所有的监测数据可以
稳定地上传到腾讯云IOT物联网平台,为用户提供远程监测和控制的可能性。微信小程序的开发框架成熟,可以
实现远程设置和控制功能,增加了用户使用的便捷性。在经济上,由于硬件成本的降低和模块化设计,该方案具
有较高的经济可行性,尤其在智能家居市场需求持续增长的情况下。社会可行性方面,智能鱼缸通过智能化的管
理方式提升了家居环境质量,同时其环保特性和对用户生活质量的提升也符合现代社会的需求。综合考虑技术、
经济和社会三个方面,基于STM32的智能鱼缸设计方案具有很高的可行性。
(1)技术可行性
(2)市场需求分析
(3)经济可行性
1. 硬件方面,所需硬件模块均可以在市场上获得,并且价格相对较为合理,比较容易购买。
2. 软件方面,所需的程序开发技术和云平台使用技术都已成熟,开发难度不高。
3. 经过实际测试,系统的数据采集精度和控制效果都较为稳定和准确。
1. 随着人们对宠物饲养的需求不断增加,特别是鱼类饲养日益普及,智能鱼缸系统具有市场前景。
2. 智能鱼缸系统可以为用户提供更便捷、高效、可靠的鱼缸监测和控制服务,符合广大用户的需求。
【3】参考文献
参考文献可以在知网、百度学术、或者在其他学术搜索引擎中搜索相关的关键词,可以获取最多的相关文献。
1.4 开发工具的选择
STM32的编程语言选择C语言,C语言执行效率高,大学里主学的C语言,C语言编译出来的可执行文件最接近于机
器码,汇编语言执行效率最高,但是汇编的移植性比较差,目前在一些操作系统内核里还有一些低配的单片机使
用的较多,平常的单片机编程还是以C语言为主。C语言的执行效率仅次于汇编,语法理解简单、代码通用性强,
也支持跨平台,在嵌入式底层、单片机编程里用的非常多,当前的设计就是采用C语言开发。
开发工具选择Keil,keil是一家世界领先的嵌入式微控制器软件开发商,在2015年,keil被ARM公司收购。因
为当前芯片选择的是STM32F103系列,STMF103是属于ARM公司的芯片构架、Cortex-M3内核系列的芯片,所
以使用Kile来开发STM32是有先天优势的,而keil在各大高校使用的也非常多,很多教科书里都是以keil来教
学,开发51单片机、STM32单片机等等。目前作为MCU芯片开发的软件也不只是keil一家独大,IAR在MCU微处
理器开发领域里也使用的非常多,IAR扩展性更强,也支持STM32开发,也支持其他芯片,比如:CC2530,51单
片机的开发。从软件的使用上来讲,IAR比keil更加简洁,功能相对少一些。如果之前使用过keil,而且使用
频率较多,已经习惯再使用IAR是有点不适应界面的。
1. 从硬件方面看,所需的硬件模块价格相对较为合理,成本可控。
2. 从软件方面看,开发成本相对较低,可以通过云平台提供的按量计费方式来降低运营成本。
3. 目标用户群体广泛,市场潜力大,可以通过适当的市场营销手段提高销售额和利润。
1. 基于STM32智能鱼缸监控系统的设计 [J] . 向镍锌 ,郭平 ,曹旬 . 科技视界 . 2020,第031期
2. 一种基于STM32单片机的智能鱼缸控制系统设计 [J] . 吕杰 ,梁鉴明 . 现代信息科技 . 2020,第
020期
3. 基于STM32的智能鱼缸远程控制系统设计 [J] . 邱义 . 信息技术与信息化 . 2020,第010期
4. 一种基于STM32单片机的智能鱼缸控制系统设计 [J] . 吕杰 ,梁鉴明 . 现代信息科技 . 2020,第
020期
5. 基于STM32的远程无线智能鱼缸控制系统设计 [J] . 朱炯健 ,张喜洋 ,杨树辉 . 科技风 . 2019,
第006期
6. 基于STM32的机务智能工具箱系统设计与实现 [C] . 马雪燕 ,王思雨 ,曹越为 . 2018年全国物联网
技术与应用大会 . 2018
7. 基于STM32的水产养殖水质监测与预测预警系统的设计与实现 [A] . 张国杰 . 2016
8. Intelligent Fishpond Monitoring System Based on STM32 and Zigbsee [J] . Xi
Xie, Weizhong Jiang Research journal of applied science, engineering and
technology . 2016,第6期
9. 一种新型智能化鱼缸的设计与实现 [J] . 黄多辉 ,王汉森 . 卷宗 . 2015,第011期
10. 基于物联网平台的智能鱼缸监控系统设计与实现 [J] . 廖明华 ,黄育雄 . 电脑知识与技术:学术版
. 2022,第2期
11. 基于物联网的智能鱼缸系统设计与实现 [J] . 李晔 ,曾昂 . 中国新通信 . 2022,第16期
12. 智能鱼缸自动控制系统设计与实现 [J] . 李金武 ,宋新爱 . 智能计算机与应用 . 2020,第003期
14. 一种用于输电线路状态检修的智能对讲机设备的设计与实现 [C] . LIU Sheng ,刘生 ,SHANG
Fang . 中国电机工程学会电力通信专业委员会第十一届学术会议 . 2017
15. 基于单片机的智能wifi鱼缸的设计与实现 [A] . 叶彩云 . 2018