基于STM32设计的智能鱼缸(华为云IOT)(200)

embedded/2024/9/25 11:16:49/

文章目录

  • 一、前言
    • 1.1 项目介绍
      • 【1】项目功能介绍
      • 【2】设计实现的功能
      • 【3】项目硬件模块组成
    • 1.2 设计思路
      • 【1】整体设计思路
      • 【2】ESP8266工作模式配置
      • 【3】自动换水原理
    • 1.3 项目开发背景
      • 【1】选题的意义
      • 【2】可行性分析
      • 【3】参考文献
    • 1.4 开发工具的选择
      • 【1】设备端开发
      • 【2】上位机开发
    • 1.5 系统框架图
    • 1.6 系统功能总结
    • 1.7 系统原理图
    • 1.8 硬件实物图
  • 二、硬件选型
    • 2.1 STM32开发板
    • 2.2 PCB板
    • 2.3 USB下载线
    • 2.4 ESP8266 WIFI
    • 2.5 杜邦线(2排)
    • 2.6 稳压模块
    • 2.7 电源插头
    • 2.8 水温检测传感器
    • 2.9 水质检测传感器
    • 2.10 继电器(2个)
    • 2.11 增氧泵
    • 2.12 鱼缸加热棒
    • 2.13 舵机SG90(买2个)
    • 2.14 水位模块
    • 2.15 PH值检测
    • 2.16 照明灯
  • 三、部署华为云物联网平台
    • 3.1 物联网平台介绍
    • 3.2 开通物联网服务
    • 3.3 创建产品
      • (1)创建产品
      • (2)填写产品信息
      • (3)产品创建成功
      • (4)添加自定义模型
    • 3.4 添加设备
      • (1)注册设备
      • (2)根据自己的设备填写
      • (3)保存设备信息
      • (4) 设备创建完成
    • 3.5 MQTT协议主题订阅与发布
      • (1)MQTT协议介绍
      • (2)华为云平台MQTT协议使用限制
      • (3)主题订阅格式
      • (4)主题发布格式
    • 3.6 MQTT三元组
      • (1)MQTT服务器地址
      • (2)生成MQTT三元组
    • 3.7 模拟设备登录测试
      • (1)填入登录信息
      • (2)打开网页查看
      • (3)MQTT登录测试参数总结
  • 四、上位机开发
    • 4.1 Qt开发环境安装
    • 4.2 创建IAM账户
    • 4.3 获取影子数据
    • 4.4 修改设备属性
    • 4.5 新建上位机工程
    • 4.6 设计UI界面与工程配置
      • 【1】打开UI文件
      • 【2】开始设计界面
      • 【3】配置pro工程文件
      • 【4】配置软件图标
    • 4.7 设计代码
      • 【1】获取token
      • 【2】时间校准
      • 【3】获取影子数据
      • 【4】解析数据更新界面
      • 【5】下面命令给设备端
    • 4.8 编译Windows上位机
    • 4.9 配置Android环境
      • 【1】创建Android配置文件
      • 【2】配置Android图标与名称
      • 【3】编译Android上位机
    • 4.10 交互命令
  • 五、STM32设备端代码设计
    • 5.1 硬件连线
    • 5.2 取模软件使用
    • 5.3 通信协议
    • 5.4 按键的功能说明
    • 5.5 自动模式控制逻辑
    • 5.6 手机APP远程控制
    • 5.7 KEIL工程
  • 六、使用STM32代码的流程以及注意事项
    • 6.1 第一步
    • 6.2 第二步
    • 6.3 第三步
    • 6.4 第四步
    • 6.5 第五步
  • 七、制作过程
  • 八、STM32完整代码

基于STM32设计的智能鱼缸(华为云IOT)(200)

一、前言

1.1 项目介绍

【1】项目功能介绍

随着现代科技的发展以及人们生活水平的提升,智能硬件产品已经渗透到生活的各个角落,旨在提供更加便捷、舒适的生活体验。其中,宠物养殖领域也正经历着一场智能化变革,尤其在观赏鱼养殖方面,用户对于鱼缸环境控制的需求日益精细化和智能化。

传统的鱼缸维护需要人工定期检测水质、水温、水位,并手动进行换水、充氧等操作,不仅耗时费力,而且可能因为人为疏忽导致鱼类生存环境恶化。因此,基于STM32设计的智能鱼缸应运而生。

本项目通过集成PH值检测传感器、浑浊度检测传感器、DS18B20温度传感器等多种传感设备,实时监测并精准调控鱼缸的各项环境参数,如PH值、浑浊度、水温及水位等,确保为鱼类提供最适宜的生活环境。同时,借助SG90舵机实现自动换水功能,继电器控制充氧电机以定时自动充氧,极大减轻了用户的日常维护负担。

该项目创新性地引入物联网技术,通过ESP8266-WIFI模块连接华为云IOT服务器,将鱼缸数据实时上传至云端,并支持手机APP远程监控与控制,实现了对鱼缸状态的随时随地掌握和


http://www.ppmy.cn/embedded/94265.html

相关文章

ECR绕过技巧

一、预编译与sql注入 预编译SQL有两个优势: 1、性能更高:预编译SQL,编译一次之后会将编译后的SQL语句缓存起来,后面再次执行这条语句时,不会再次编译。(只是输入的参数不同)。 2、更安全(防止S…

el-input输入数字,带有千分位

封装组件 <template><el-inputchange"changenum"blur"blurInput"v-model"inputnum1"placeholder"请输入数字"clearable:disabled"disablednum":class" inputcolor ? input_num_dis : "></el-in…

从“抠图”到“抠视频”,Meta上新AI工具SAM 2。

继2023年4月首次推出SAM&#xff0c;实现对图像的精准分割后&#xff0c;Meta于北京时间2024年7月30日推出了能够分割视频的新模型SAM 2&#xff08;Segment Anything Model 2&#xff09;。SAM 2将图像分割和视频分割功能整合到一个模型中。所谓“分割”&#xff0c;是指区别视…

【C++】类和对象 ——中

1. 赋值运算符重载 1.1 运算符重载 • 当运算符被⽤于类类型的对象时&#xff0c;C语⾔允许我们通过运算符重载的形式指定新的含义。C规定类类型对象使⽤运算符时&#xff0c;必须转换成调⽤对应运算符重载&#xff0c;若没有对应的运算符重载&#xff0c;则会编译报错。 •…

数据结构(学习)2024.8.8(栈,队列)

今天学习的是线性表里面的栈和队列 链表的相关知识可以查看http://t.csdnimg.cn/NX464 顺序表的相关知识可以查看http://t.csdnimg.cn/5IMAZ 目录 栈 栈的定义 栈的特点 顺序栈 结构体 顺序栈的相关操作案例 链式栈 结构体 链式栈的相关操作案例 总结 队列 队列…

【Linux】线程同步和生产消费模型

目录 条件变量 接口 简单使用 生产消费模型 生产消费模型代码 条件变量 上篇博客我们介绍了线程互斥&#xff0c;是通过加锁的方式把共享资源保护起来变成临界资源&#xff0c;同一时刻只允许一个线程访问临界资源 但是不同的线程申请锁的能力是有差别的&#xff0c;就拿抢…

用exceljs和file-saver插件实现纯前端表格导出Excel(支持样式配置,多级表头)

exceljs在Jquery&#xff08;HTML&#xff09;和vue项目中实现导出功能 前言Jquery&#xff08;HTML&#xff09;中实现导出第一步&#xff0c;先在项目本地中导入exceljs和file-saver包第二步&#xff0c;封装导出Excel方法&#xff08;可直接复制粘贴使用&#xff09;第三步&…

整理编程学习笔记的心得

知乎上曾经有过类似的讨论&#xff0c;程序员一般是怎么记自己的编程笔记的&#xff1f;用什么软件记录的&#xff1f;&#xff0c;这是我的答复。 现在重新编辑&#xff0c;调整一些内容&#xff0c;重新发布。 工作上的事情很繁杂&#xff0c;小事情很多&#xff0c;工作时间…