目录
本文所涉及及所有资源均在传知代码平台可获取。
一、前言
1.1 项目介绍
【1】项目功能介绍
随着生活质量的提升和技术的进步,人们对日常生活的便利性和健康属性提出了更高要求,尤其是在饮用水领域。传统的饮水机功能单一,缺乏智能化管理与个性化服务,无法满足现代消费者对实时监测水质、精准控制水温和便捷远程管理的需求。
随着物联网技术(IoT)和移动互联网的广泛应用,越来越多的家电产品开始实现网络化、智能化,用户期待能够在任何地点、任何时间轻松掌控家中的饮水设备,例如通过微信小程序远程设定和监控饮水机的工作状态,包括水温和出水量等关键参数。
本项目设计的智能饮水机集成了水质检测功能,实时监测水质质量,并在检测到水质不佳时自动启动过滤装置,确保饮水安全。通过蜂鸣器报警机制,能够及时提醒用户注意水质变化,强化了饮水安全保障。
考虑到健康饮水的重要性,饮水机引入了人体科学饮水的概念,能够记录每次的出水量并与推荐的每日饮水目标进行对比,通过微信小程序提供个性化的饮水提醒服务,帮助用户养成良好的饮水习惯。
在硬件选型上,选用高性能的STM32F103RCT6作为主控芯片,搭配ESP8266实现Wi-Fi联网,以及DS18B20温度传感器、水位检测传感器等一系列可靠硬件组件,确保了饮水机各项功能的高效稳定运行,同时也体现了节能和环保的设计理念。
本智能饮水机项目是在物联网技术发展背景下,响应公众对健康饮水需求升级,结合现代科技手段打造的一款兼具智能控制、水质监测、健康管理等功能的创新型饮水解决方案。
【2】设计实现的功能
本项目设计实现的智能饮水机集多项智能化功能于一体,包括:
(1)远程控制功能:通过微信小程序,用户可以远程实时控制饮水机的各项参数,包括水温和出水量设定,极大提升了使用的便捷性。
(2)物联网功能:饮水机搭载ESP8266-WIFI模块,成功连接腾讯物联网云平台,实现实时数据上传与接收,使得远程操作指令得以迅速执行。
(3)温度控制与指示:饮水机支持用户自定义设置水温,并通过DS18B20温度传感器实时监测水温,当水温达到预设值时,绿色LED灯亮起表示水已烧开;反之,若水温未达预设值,则红色LED灯亮起。
(4)出水量控制:用户可以选择通过小程序或本地独立按键设定所需的出水量,而出水量的精准控制则由SG90舵机(180°)完成。
(5)实时状态显示:本地配备0.96寸SPI接口OLED显示屏,实时显示当前水温和剩余出水量,便于用户现场获取饮水机工作状态。
(6)缺水提醒与报警:内置水位检测传感器,当检测到水箱缺水时,会触发有源蜂鸣器发出报警声,提醒用户及时加水。
(7)远程与本地出水控制:支持通过微信小程序远程启动饮水机出水,同样也支持本地按键直接控制出水功能。
(8)水质监测与处理:该饮水机具备水质检测功能,可实时检测水质质量,并在检测到水质不达标时通过蜂鸣器报警,同时自动启动继电器控制的水质过滤装置进行水源净化。
(9)饮水量记录与提醒:饮水机具备记忆功能,能够记录每次倒水的量,并与人体每日推荐饮水量进行比较,当用户尚未达到每日饮水目标时,通过微信小程序发送提醒信息,促进用户养成良好的饮水习惯。
通过以上功能设计,本项目实现了饮水机从传统机械式向智能物联网化的转变,提供给用户更加安全、便捷、健康的饮水体验。
【3】项目硬件模块组成
本智能饮水机项目硬件模块主要由以下部分组成:
(1)主控模块:选用STM32F103RCT6作为核心处理器,负责整个系统的运行控制、数据处理、通讯协议解析等工作。
(2)WiFi模块:采用ESP8266,用于实现饮水机的无线联网功能,与腾讯物联网云平台进行数据交换,进而实现微信小程序远程控制。
(3)温度检测模块:使用DS18B20数字温度传感器,实时采集饮水机内部的水温数据,并将数据反馈至主控芯片,用于水温控制和显示。
(4)水位检测模块:配置水位检测传感器,用于检测饮水机水箱内的水位,当检测到缺水状态时,触发蜂鸣器报警。
(5)SG90舵机(180°)控制模块:通过SG90舵机(180°)精确控制出水量,依据用户设置的出水量进行动态调节。
(6)显示模块:采用SPI接口的0.96寸OLED显示屏,实时显示饮水机的水温、出水量等相关信息。
(7)状态指示模块:采用高低电平驱动的LED灯模块,其中绿色和红色LED分别用来指示水温是否达到设定值。
(8)报警模块:采用有源蜂鸣器,当检测到缺水或其他异常情况时,通过高电平触发发出警报。
(9)加热模块:配备5V加热棒,通过继电器进行开关控制,实现水温的快速升温与精准控制。
(10)水质检测模块:集成水质检测传感器,对水源进行实时检测,当水质不符合饮用标准时,通过继电器控制启动水质过滤装置。
(11)按键输入模块:饮水机本地设有独立按键,用户可以直接通过按键对水温和出水量进行设置和控制。
(12)继电器控制模块:用于控制加热棒、水质过滤装置以及其他需要通断电的设备,确保系统按照设定程序正常运行。
1.2 设计思路
【1】整体设计思路
本智能饮水机项目的设计思路围绕着“智能、便捷、安全、健康”四大核心理念展开,充分利用物联网技术、STM32微控制器的强大功能以及各类传感器的特性,形成一套完整的智能饮水解决方案。
(1)系统架构设计:项目采用STM32F103RCT6作为主控芯片,以其强大的运算能力和丰富的外设接口为基础,构建饮水机的核心控制系统。通过ESP8266-WIFI模块,实现设备与腾讯物联网云平台的连接,进而与微信小程序进行双向通信,满足远程控制需求。
(2)功能模块设计:
- 温度控制模块:通过DS18B20温度传感器实时监测水温,结合STM32的PID算法进行精确控温,并通过LED灯显示当前水温状态。
- 出水量控制模块:运用SG90舵机(180°)精确控制出水阀,配合用户在小程序或本地按键设置的出水量参数,实现精准出水。
- 水位检测与报警模块:部署水位检测传感器监测水箱水位,当水位过低时,通过有源蜂鸣器发出报警信号。
- 显示模块:利用SPI接口的OLED显示屏,实时展示水温和剩余出水量等信息,提升用户使用体验。
- 水质检测与过滤模块:集成水质检测传感器,当检测到水质不良时,通过继电器控制过滤装置进行水源净化,并通过蜂鸣器提醒用户。
(3)人机交互设计:项目兼顾本地操作与远程控制,用户不仅可以透过饮水机本地的独立按键进行设置和操作,还可以通过微信小程序实现远程控制和查看饮水机的状态,如水温和出水量等。
(4)健康管理功能:饮水机具备饮水量记录功能,根据人每日推荐饮水量,通过小程序推送饮水提醒,帮助用户养成良好的饮水习惯。
(5)安全性保障:通过多重防护措施确保饮水安全,如加热模块采用继电器控制防止过热,水质检测与过滤系统确保饮水水质。
本项目整体设计思路是充分整合硬件资源,发挥物联网技术优势,打造出一款智能、便捷、安全、健康的饮水机产品,力求全方位满足用户对高品质饮水生活的需求。
【2】ESP8266工作模式配置
在整个设计里,STM32端的ESP8266配置成STA模式+TCP客户端模式,上电时连接家里的路由器WIF热点,连接互联网,以TCP客户端模式(通过MQTT协议)去连接腾讯云联网服务器,实时上传当前的设备状态等各种参数信息。用户在Android手机APP可以远程查看设备的状态信息。
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)节能环保:精准的温度控制和出水量设定减少了能源浪费,同时,水质检测与过滤功能确保了水资源的有效利用,契合现代社会的节能减排理念。
(4)安全保障:缺水提醒、水质检测以及温度过高提示等功能,有效预防了饮水安全隐患,保障了用户的安全饮水需求。
(5)技术应用推广:该项目展示了如何将STM32微控制器、ESP8266-WIFI模块、温度传感器、水质检测传感器等多种硬件设备与物联网平台相结合,推动了相关技术在智能家居领域的实际应用和发展。
本智能饮水机项目顺应了物联网时代下智能家居的趋势,实现了饮水设备的智能化改造,对于提升用户生活质量、推动健康饮水理念传播以及技术创新应用等方面具有显著的社会价值和实践意义。
【2】可行性分析
(1)技术可行性:本项目采用了成熟的STM32F103RCT6微控制器作为主控单元,具备强大的计算能力和丰富的IO接口,足以应对饮水机的各种控制任务。同时,ESP8266-WIFI模块广泛应用于物联网设备中,其稳定性和兼容性已被市场验证,能够保证饮水机与腾讯物联网云平台、微信小程序之间的稳定通讯。另外,所选用的DS18B20温度传感器、水位检测传感器、水质检测传感器等硬件设备均成熟可靠,技术难度相对较低,易于集成到系统中。因此,从技术层面看,本项目具有很高的可行性。
(2)经济可行性:随着电子元器件价格的下降和技术的普及,STM32系列MCU、ESP8266-WIFI模块、OLED显示屏等硬件成本已经较为亲民,而且市场上同类智能饮水机产品已经开始涌现,说明市场需求较大,具有一定的经济效益空间。尽管初期研发投入可能较高,但随着生产规模扩大和技术成熟,长期来看项目具备良好的经济回报潜力。
(3)市场可行性:随着社会对健康生活方式的关注度持续升高,消费者对于智能饮水设备的需求日渐增强。本项目设计的智能饮水机集合了远程控制、实时监测、水质过滤、健康提醒等多项功能,切合市场需求,具备较强的市场竞争力。
【3】参考文献
参考文献可以在知网、百度学术、或者在其他学术搜索引擎中搜索相关的关键词,可以获取最多的相关文献。
1. 基于STM32单片机的分布式智能配电终端设计 [J] . 于亮 ,叶林 ,庞清乐 . 电工电气 . 2022,第1期
2. 基于STM32单片机的智能书桌设计与实现 [J] . 谢福 ,王振省 ,李俊 . 电子产品世界 . 2022,第1期
3. 基于STM32单片机的智能家居控制系统设计 [J] . 杨恒敏 . 科学技术创新 . 2022,第8期
4. 基于STM32单片机的智能变频翻身床设计及应用效果分析 [J] . 罗靖松 ,陶妍敏 ,徐涯鑫 . 中国设备工程 . 2022,第4期
5. 基于STM32单片机的智能家居测量系统设计 [J] . 张智勇 ,曹颖 ,刘梓博 . 电子产品世界 . 2022,第4期
6. 基于STM32单片机的非接触式两自由度位移传感器设计 [C] . Du Maochun ,杜卯春 ,Fan Shixun . 2014全国第十届精密工程学术研讨会(PES10`14) . 2014
7. 基于STM32单片机的低压智能断路器控制技术 [A] . 王鹏鹏 . 2020
8. 基于STM32的蓝牙智能饮水机设计 [J] . 黄嘉成 ,艾苏高 ,黄典昆 . 装备制造技术 . 2017,第009期
9. 基于STM32的智能饮水机控制系统 [J] . 李伟 ,贺梓洹 ,梁洪源 . 福建电脑 . 2017,第011期
10. 基于物联网技术的智能饮水机设计研究 [J] . 黄道燚 ,陈敏敏 . 赤峰学院学报(自然科学版) . 2020,第004期
11. 一种基于单片机的智能饮水机设计 [J] . 朱恩泽 ,齐胜男 ,田方琦 . 中国科技信息 . 2020,第002期
12. 基于STC89C52的家用智能饮水机设计 [J] . 史建伟 . 河南科技 . 2020,第023期
13. 基于STM32的机务智能工具箱系统设计与实现 [C] . 马雪燕 ,王思雨 ,曹越为 . 2018年全国物联网技术与应用大会 . 2018
14. 基于STM32的实验室智能安防报警系统的设计与实现 [A] . 杨扬 . 2020
1
2
3
4
5
6
7
8
9
10
11
12
13
14
【4】摘要
本文提出了一种基于STM32F103RCT6微控制器设计的智能饮水机方案,通过集成ESP8266-WIFI模块实现设备与腾讯物联网云平台的连接,进而支持微信小程序远程控制。饮水机具备实时水温检测、精准出水量控制、缺水提醒、水质检测及过滤等功能,并能通过OLED显示屏显示实时数据和通过微信小程序推送饮水量提醒。项目采用DS138B20温度传感器、SG90舵机(180°)、水位检测传感器、有源蜂鸣器等硬件设备,实现了饮水机的智能化管理和服务。该设计既提升了用户体验,又满足了现代生活对饮水安全、健康和便捷性的需求。
关键字:
智能饮水机;STM32F103RCT6;ESP8266-WIFI;腾讯物联网云平台;微信小程序;远程控制;实时水温检测;精准出水量控制;水质检测;智能提醒;健康饮水。
【5】选题背景
随着科技进步和社会发展,智能家居已成为现代生活的重要组成部分,人们对生活品质的要求不断提高,尤其在饮水安全和便捷性方面。饮水作为基本生活需求,其质量和便捷性直接影响着人们的健康和生活质量。然而,目前市面上的传统饮水机普遍存在功能单一、操作不便、无法实时监测水质和水温、缺乏智能化管理等问题。
在此背景下,本项目选取了基于STM32设计的智能饮水机
作为研究课题。该智能饮水机集成了先进的物联网技术、智能控制算法以及多传感监测系统,提供一种既能实现远程智能控制,又能实时监测和管理水质、水温和出水量的新型饮水解决方案。
本项目通过采用STM32F103RCT6微控制器为核心,配合ESP8266-WIFI模块实现设备与腾讯物联网云平台的对接,进而通过微信小程序实现远程控制功能。同时,通过集成DS18B20温度传感器、SG90舵机(180°)、水位检测传感器等硬件模块,实现了对饮水机水温和出水量的精准控制、缺水提醒以及水质的实时监测与过滤。此外,还通过OLED显示屏和微信小程序推送饮水量提醒,辅助用户科学合理饮水,从而满足了现代人对饮水设备智能化、便捷化和健康化的多元需求。
【6】国内外技术发展现状
在国外,智能饮水机的技术发展已经相对成熟。例如,一些知名品牌如Nestlé和Brita都推出了带有智能功能的饮水机产品。这些产品通常集成了物联网技术,可以通过手机应用进行远程控制,实时监测水质和水量,并提供个性化的饮水建议。一些高端的智能饮水机还具备语音控制功能,用户可以通过智能音箱与饮水机进行交互,实现更加便捷的操作体验。
在国内,随着物联网和智能家居的快速发展,智能饮水机的技术也在不断提升。众多家电企业如美的、海尔等纷纷推出了智能饮水机产品,这些产品不仅具备远程控制、水质监测等功能,还加入了智能识别技术,能够自动识别用户身份并调整出水温度、水量等参数,以满足不同用户的需求。此外,一些创新型企业也在智能饮水机领域进行了积极探索,推出了具有独特功能的产品,如带有智能过滤系统的饮水机,能够自动检测和过滤水中的有害物质,确保饮用水的安全性。
国内外在智能饮水机技术方面都在不断发展和创新,推动了饮水设备向智能化、个性化的方向迈进。然而,目前市场上的智能饮水机产品仍存在一定的局限性,如功能单一、操作复杂等问题。因此,本项目的研发目的是进一步拓展智能饮水机的功能和应用范围,提升用户体验,推动智能家居领域的发展。
1.4 开发工具的选择
【1】设备端开发
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是有点不适应界面的。
【2】上位机开发
上位机远程控制的开发选择微信小程序,后台服务器采用腾讯云IOT物联网服务器。在文档下面第三章会详细讲解如何搭建腾讯云IOT服务器,设计微信小程序。
1.5 系统框架图
1.6 系统功能总结
功能编号 | 功能名称 | 功能描述 |
---|---|---|
1 | 远程控制 | 通过微信小程序远程控制饮水机的各项参数,如水温和出水量设置,出水控制等。 |
2 | WIFI联网 | 设备通过ESP8266-WIFI模块实现联网,连接腾讯物联网云平台,实现数据传输和远程指令接收。 |
3-1 | 水温设置 | 支持在小程序和本地按键两种方式设置目标水温,水温达到后对应绿色LED灯亮起,否则红色LED灯亮起。 |
3-2 | 实时水温检测 | 利用DS18B20温度传感器实时监测并显示当前水温,数据可在本地OLED屏和微信小程序中查看。 |
4 | 出水量设置 | 用户可远程通过小程序或本地按键设置出水量,由SG90舵机(180°)控制出水阀实现精确出水量控制。 |
5 | 缺水提醒 | 饮水机内置水位检测传感器,当水位不足时,触发本地蜂鸣器报警,提醒用户及时加水。 |
6 | 远程/本地出水控制 | 同时支持微信小程序远程控制出水和饮水机上的独立按键本地控制出水功能。 |
7 | 显示功能 | 本地0.96寸OLED显示屏实时显示饮水机的当前水温和剩余出水量等信息。 |
8 | 水质检测与提醒 | 自带水质检测功能,检测到水质不佳时蜂鸣器报警,并自动启动过滤装置进行水质净化。 |
9 | 饮水量统计与提醒 | 记录每次出水量,并与每日推荐饮水量进行对比,通过微信小程序提醒用户饮水目标进度。 |