基于STM32设计的智能学习台灯(华为云IOT)(238)

文章目录

  • 一、前言
    • 1.1 项目介绍
      • 【1】开发背景
      • 【2】项目实现的功能
      • 【3】项目硬件模块组成
      • 【4】ESP8266工作模式配置
    • 1.2 设计思路
      • 【1】整体设计思路
      • 【2】整体构架
      • 【3】上位机开发思路
    • 1.3 项目开发背景
      • 【1】选题的意义
      • 【2】可行性分析
      • 【3】参考文献
      • 【4】摘要
    • 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 MQ135空气质量检测
    • 2.10 DHT11温湿度模块
    • 2.11 BH1750光敏传感器
    • 2.12 LED白色照明灯模块
    • 2.13 蜂鸣器模块
    • 2.14 人体感应-热释电模块(买2个)
  • 三、部署华为云物联网平台
    • 3.1 物联网平台介绍
    • 3.2 开通物联网服务
    • 3.3 创建产品
      • (1)创建产品
      • (2)填写产品信息
      • (3)产品创建成功
      • (4)添加自定义模型
        • 【1】brightness 灯光亮度
        • 【2】mode_type 运行模式 1自动模式 0手动模式 整型
        • 【3】LED_SW 灯开关 1开启 0关闭 整型
        • 【4】HumanBody_Flag 人体检测 1有人 0无人 整型
        • 【5】time_close 自动关灯时间
        • (6)BH1750 环境光强
        • (7)MQ135 空气质量
        • (8)DHT11_T 环境温度
        • (9)DHT11_H 环境湿度
      • (5)创建完成
    • 3.4 添加设备
      • (1)注册设备
      • (2)根据自己的设备填写
      • (3)保存设备信息
      • (4)设备创建完成
      • (5)设备详情
    • 3.5 MQTT协议主题订阅与发布
      • (1)MQTT协议介绍
      • (2)华为云平台MQTT协议使用限制
      • (3)主题订阅格式
      • (4)主题发布格式
    • 3.6 MQTT三元组
      • (1)MQTT服务器地址
      • (2)生成MQTT三元组
    • 3.7 模拟设备登录测试
      • (1)填入登录信息
      • (2)打开网页查看
      • (3)MQTT登录测试参数总结
    • 3.8 创建IAM账户
    • 3.9 获取影子数据
    • 3.10 修改设备属性
  • 四、STM32设备端代码设计
    • 4.1 硬件连线
    • 4.2 取模软件使用
    • 4.3 通信协议
    • 7.4 自动模式运行逻辑
    • 4.5 自动模式控制逻辑
    • 4.6 ESP8266初始化
    • 4.7 KEIL工程
    • 4.8 串口打印效果
    • 4.9 代码移植需要改的地方
  • 五、Qt开发入门与环境搭建
    • 5.1 Qt是什么?
    • 5.2 Qt版本介绍
    • 5.3 Qt开发环境安装
    • 5.4 开发第一个QT程序
    • 5.5 调试输出
    • 5.6 QT Creator常用的快捷键
    • 5.7 QT帮助文档
    • 5.8 UI设计师使用
    • 5.9 按钮控件组
    • 5.10 布局控件组
    • 5.11 基本布局控件
    • 5.12 UI设计师的布局功能
  • 六、上位机开发
    • 6.1 Qt开发环境安装
    • 6.2 新建上位机工程
    • 6.3 设计UI界面与工程配置
      • 【1】打开UI文件
      • 【2】开始设计界面
    • 6.4 设计代码
      • 【1】获取token
      • 【2】获取影子数据
      • 【3】解析数据更新界面
      • 【4】判断设备是否离线
      • 【5】获取设备最新数据上传时间
      • 【5】界面的数据更新
      • 【6】处理服务器返回的数据
      • 【7】设备远程控制
    • 6.5 编译Windows上位机
    • 6.6 配置Android环境
      • 【1】选择Android编译器
      • 【2】创建Android配置文件
      • 【3】配置Android图标与名称
      • 【3】编译Android上位机
    • 6.7 交互命令
    • 6.8 模拟设备联调
    • 6.9 增加视频播放功能
  • 七、视频监控
    • 7.1 购买ECS服务器
    • 7.2 登录ECRS服务器
    • 7.3 部署NGINX服务器
      • (1)先安装一些工具
      • (2)获取Nginx二进制源码
      • (3)获取nginx-rtmp-module
      • (4)编译nginx
      • (5)修改Nginx的配置文件
      • (6)设置开机启动
      • (7)控制nginx服务的3个命令: 启动、停止、重启
      • (8)进行rtmp推流
      • (9)nginx保存推流视频文件
      • (10)rtmp直播流转为hls直播流
    • 7.4 视频推流测试
    • 7.5 配置监控摄像头
    • 7.6 配置监控摄像头2
  • 八、使用STM32代码的流程以及注意事项
    • 8.1 第一步
    • 8.2 第二步
    • 8.3 第三步
    • 8.4 第四步
    • 8.5 第五步
  • 九、完整STM32代码

基于STM32设计的智能学习台灯(华为云IOT)(238)

一、前言

1.1 项目介绍

【1】开发背景

随着科技的快速发展和人们生活水平的提高,智能化家居设备逐渐成为了现代家庭不可或缺的一部分。青少年作为家庭的重要组成部分,其学习环境和健康状况备受家长关注。在这样的背景下,一款专为青少年学习设计的智能台灯应运而生,通过智能化手段提升青少年的学习体验,同时保障其身体健康。

传统的台灯往往只具备单一的照明功能,无法根据环境和使用者的需求进行智能调节。此外,家长在监督子女学习时,往往需要亲自到场查看,这对于工作繁忙的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/888535.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【操作系统】引导(Boot)电脑的奇妙开机过程

🌹😊🌹博客主页:【Hello_shuoCSDN博客】 ✨操作系统详见 【操作系统专项】 ✨C语言知识详见:【C语言专项】 目录 什么是操作系统的引导? 操作系统的引导(开机过程) Windows操作系…

【2024最新】华为HCIE认证考试流程

HCIE是华为认证体系中最高级别的ICT技术认证,表示通过认证的人具有ICT领域专业知识和丰富实践经验。 HCIE认证方向:最高认证级别HCIE的技术方向有13个 下面以HCIE-Datacom为例给大家介绍一下: HCIE-Datacom认证考试流程: 1.笔试…

ecmascript标准

ECMAScript(简称ES)是由Ecma国际(前身为欧洲计算机制造商协会,European Computer Manufacturers Association)制定的一种标准化的脚本程序设计语言。它是JavaScript的核心,定义了语言的语法、类型、语句、关…

Stable Diffusion最新版nowebui的api使用详解

最近在使用stable diffusion最新版的Stable Diffusion WebUI Forge进行api调用,下面来一步一步的进行展开吧!!! 1、下载lllyasviel/stable-diffusion-webui-forge GitHub - lllyasviel/stable-diffusion-webui-forgeContribute to lllyasviel/stable-diffusion-webui-for…

医院管理智能化:Spring Boot技术革新

3系统分析 3.1可行性分析 通过对本医院管理系统实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本医院管理系统采用JAVA作为开发语言,Spring Boot框…

C++——类和对象(二)

1. 类的默认成员函数 默认成员函数就是用户没有显式实现,编译器会自动生成的成员函数称为默认成员函数。⼀个类,我们不写的情况下编译器会默认生成以下6个默认成员函数,需要注意的是这6个中最重要的是前4个,最后两个取地址重载不…

探索杨辉三角形的奥秘:C#实现

文章目录 杨辉三角形简介特点 C#实现杨辉三角形环境准备代码实现代码解释1. 用户输入2. 输入验证3. 初始化第一行4. 生成杨辉三角形5. 打印杨辉三角形 结论 杨辉三角形,也被称为帕斯卡三角形,是一个历史悠久且充满数学魅力的数字模式。它不仅在数学领域有…

裸眼3D巨幕视频演示Pr城市广告显示屏样机模板

震撼大气超强视觉冲击力3D城市数字广告牌视频演示pr模板工程文件。 5个城市街景裸眼3D巨幕户外广告显示屏样机模板。每个场景提供2个不同的相机视图。 下载地址:https://prmuban.com/40595.html

泡沫背后:人工智能的虚幻与现实

人工智能的盛世与泡沫 现今,人工智能热潮席卷科技行业,投资者、创业者和用户都被其光环吸引。然而,深入探讨这种现象,人工智能的泡沫正在形成,乃至具备崩溃的潜质。我们看到的,无非是一场由资本推动的狂欢…

OCP迎来新版本,让OceanBase的运维管理更高效

近期,OceanBase的OCP发布了新版本,全面支持 OceanBase 内核 4.3.2 及更低版本。新版本针对基础运维、性能监控、运维配置、外部集成等多个方面实现了 20余项的优化及强化措施,增强产品的易用性和稳定性,从而帮助用户更加高效地管理…

第二期:第14节, beep 编程

首先是 硬件电路图: 然后是数据手册中 找到 相关的寄存器, 首先是 GPIO的复用寄存器, 然后是 PWM的寄存器。 首先是 关于GPIO的 复用 , 这里是 Tout, 也就是 定时器, pwm 通过 定时器 通过某种方式来控…

【C++篇】继承之韵:解构编程奥义,领略面向对象的至高法则

文章目录 C 继承详解:初阶理解与实战应用前言第一章:继承的基本概念与定义1.1 继承的概念1.2 继承的定义 第二章:继承中的访问权限2.1 基类成员在派生类中的访问权限2.2 基类与派生类对象的赋值转换2.2.1 派生类对象赋值给基类对象2.2.2 基类…

[Algorithm][贪心][可被三整除的最大和][距离相等的条形码][重构字符串]详细讲解

目录 1.可被三整除的最大和1.题目链接2.算法原理详解3.代码实现 2.距离相等的条形码1.题目链接2.算法原理详解3.代码实现 3.重构字符串1.题目链接2.算法原理详解3.代码实现 1.可被三整除的最大和 1.题目链接 可被三整除的最大和 2.算法原理详解 思路:正难则反 贪…

【C++ 11】for 基于范围的循环

文章目录 【 1. 基本用法 】【 2. for 新格式的应用 】2.1 for 遍历字符串2.2 for 遍历列表2.3 for 遍历的同时修改元素 问题背景 C 11标准之前(C 98/03 标准),如果要用 for 循环语句遍历一个数组或者容器,只能套用如下结构&#…

YOLO11改进|卷积篇|引入可变核卷积AKConv

目录 一、AKConv卷积1.1AKConv卷积介绍1.2AKConv核心代码 五、添加MLCA注意力机制5.1STEP15.2STEP25.3STEP35.4STEP4 六、yaml文件与运行6.1yaml文件6.2运行成功截图 一、AKConv卷积 1.1AKConv卷积介绍 AKConv允许卷积参数的数量以线性方式增加或减少,而不是传统的…

大模型生成PPT大纲优化方案:基于 nVidia NIM 平台的递归结构化生成

大模型生成PPT大纲优化方案:基于 nVidia NIM 平台的递归结构化生成 待解决的问题 生成PPT大纲是一种大模型在办公场景下应用的常见需求。 然而: 目前直接让大模型生成大纲往往是非结构化的,输出格式多样,难以统一和规范&#…

数据结构-5.1.树的定义和基本术语

一.树的基本概念: 1.根结点:最顶层的结点,有且仅有一个,没有前驱; 2.叶子结点:不能再有子结点,没有后继; 3.结点:用于存数据; 4.也有前驱和后继的说法&…

制造企业MES管理系统的应用策略与实施路径

在智能制造浪潮的席卷之下,MES管理系统作为连接生产计划与车间操作的核心桥梁,其战略地位愈发显著。本文旨在深入剖析MES管理系统在智能制造转型中的核心价值、实施策略及实践路径,为制造企业探索智能化生产之路提供实践指导与灵感启发。 MES…

JavaScript函数基础(通俗易懂篇)

10.函数 10.1 函数的基础知识 为什么会有函数? 在写代码的时候,有一些常用的代码需要书写很多次,如果直接复制粘贴的话,会造成大量的代码冗余; 函数可以封装一段重复的javascript代码,它只需要声明一次&a…

github 搭建个人导航网

最近搭建了个 个人的导航网,具体内容见下图,欢迎大家访问吖,点击访问 具体实现是使用 vue3 编写,白嫖 github 的 page 部署 首先在 github上创建一个仓库:name.github.io # name是你 github 的名字 然后在本地创建一…