当前位置: 首页 > news >正文

基于STM32设计的防盗书包(华为云IOT)(216)

文章目录

  • 一、前言
    • 1.1 项目介绍
      • 【1】开发背景
      • 【2】项目实现的功能
      • 【3】项目硬件模块组成
    • 1.2 设计思路
      • 【1】整体设计思路
      • 【2】整体构架
      • 【3】上位机开发思路
    • 1.3 项目开发背景
      • 【1】选题的意义
      • 【2】可行性分析
      • 【3】参考文献
      • 【4】摘要
      • 【5】项目背景
    • 1.4 开发工具的选择
      • 【1】设备端开发
      • 【2】上位机开发
    • 1.5 系统框架图
    • 1.6 系统功能总结
    • 1.7 设备原理图
    • 1.8 硬件实物图
  • 二、硬件选型
    • 2.1 STM32开发板
    • 2.2 USB下载线
    • 2.3 杜邦线(2排)
    • 2.4 OLED显示屏
    • 2.5 GPS模块
    • 2.6 Air724UG 4G模块
    • 2.7 PCB版
    • 2.8 锂电池供电模块
    • 2.9 语音播报模块
    • 2.10 RC522刷卡模块
  • 三、部署华为云物联网平台
    • 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登录测试参数总结
    • 3.2 创建IAM账户
    • 3.3 获取影子数据
    • 3.4 修改设备属性
  • 四、Qt开发入门与环境搭建
    • 4.1 Qt是什么?
    • 4.2 Qt版本介绍
    • 4.3 Qt开发环境安装
    • 4.4 开发第一个QT程序
    • 4.5 调试输出
    • 4.6 QT Creator常用的快捷键
    • 4.7 QT帮助文档
    • 4.8 UI设计师使用
    • 4.9 按钮控件组
    • 4.10 布局控件组
    • 4.11 基本布局控件
    • 4.12 UI设计师的布局功能
  • 五、上位机开发
    • 5.1 Qt开发环境安装
    • 5.2 新建上位机工程
    • 5.3 设计UI界面与工程配置
      • 【1】打开UI文件
      • 【2】开始设计界面
    • 5.4 设计代码
      • 【1】获取token
      • 【2】获取影子数据
      • 【3】解析数据更新界面
      • 【4】判断设备是否离线
      • 【5】获取设备最新数据上传时间
      • 【6】界面的数据更新
      • 【7】百度地图更新
      • 【8】向设备下发命令
      • 【9】校准设备时间
    • 5.5 编译Windows上位机
    • 5.6 运行的界面介绍
    • 5.9 配置Android环境
      • 【1】选择Android编译器
      • 【2】创建Android配置文件
      • 【3】配置Android图标与名称
      • 【3】编译Android上位机
    • 5.10 交互命令
  • 六、百度地图的接口
    • 【1】获取APIkey
    • 【2】静态图的接口
    • 【3】接口使用文档
  • 七、 Air724UG 模块调试过程
    • 7.1 官方文档
    • 7.2 模块调试接线
    • 7.3 串口调试过程
      • 【1】AT命令
      • 【2】读取模块厂商信息
      • 【3】读取详细的固件版本
      • 【4】查询卡是否插好
      • 【5】查询信号质量
      • 【6】查询网络注册状态
      • 【5】查询模组是否注册上GPRS网络
      • 【6】查询附着GPRS网络
    • 7.4 上传数据到华为云IOT服务器
      • 【1】设置MQTT服务器登录信息
      • 【2】设置MQTT服务器IP和端口号
      • 【3】设置MQTT心跳保活时间
      • 【4】订阅MQTT主题
      • 【6】发布MQTT主题
      • 【7】收到服务器下发的消息
  • 八、实物材料图
  • 九、STM32设备端代码设计
    • 9.1 硬件连线
    • 9.2 取模软件使用
    • 9.3 通信协议
    • 9.4 按键的功能说明
    • 9.5 自动模式控制逻辑
    • 9.6 KEIL工程
    • 9.7 串口打印效果
    • 9.9 下发命令处理
    • 9.10 GPS数据处理
  • 十、使用STM32代码的流程以及注意事项
    • 10.1 第1步
    • 10.2 第2步
    • 10.3 第3步
  • 十一、STM32完整代码

基于STM32设计的防盗书包(华为云IOT)(216)

一、前言

1.1 项目介绍

【1】开发背景

随着科技的发展与进步,物联网技术已经广泛渗透进人们的日常生活,尤其是在安全防护领域的需求日益增强。近年来,学生及上班族的个人财物安全问题引起了社会广泛关注,其中书包作为日常学习和工作中承载重要物品的载体,其安全性尤为关键。特别是在公共场所,书包被盗或遗失的情况时有发生,不仅给用户带来直接的财产损失,也可能导致个人信息泄露等严重后果。

基于此现实需求,设计了一款基于STM32的智能防盗书包系统,并借助

相关文章:

基于STM32设计的防盗书包(华为云IOT)(216)

文章目录 一、前言1.1 项目介绍【1】开发背景【2】项目实现的功能【3】项目硬件模块组成1.2 设计思路【1】整体设计思路【2】整体构架【3】上位机开发思路1.3 项目开发背景【1】选题的意义【2】可行性分析【3】参考文献【4】摘要【5】项目背景1.4 开发工具的选择【1】设备端开发…...

2024高教社杯全国大学生数学建模竞赛C题原创python代码

2024高教社杯全国大学生数学建模竞赛C题原创python代码 C题题目:农作物的种植策略 思路可以参考我主页之前的文章 以下均为python代码,推荐用anaconda中的notebook当作编译环境 from gurobipy import Model import pandas as pd import gurobipy as g…...

Java基础 - 14 - Java高级技术

一.单元测试 就是针对最小的功能单元(方法),编写测试代码对其进行正确性测试 1.1 Junit单元测试框架 可以用来对方法进行测试,它是第三方公司开源出来的(很多开发工具已经集成了Junit框架,如IDEA&#xff…...

glsl着色器学习(六)

准备工作已经做完,下面开始渲染 gl.viewport(0, 0, gl.canvas.width, gl.canvas.height);gl.clearColor(0.5, 0.7, 1.0, 1.0); gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);gl.enable(gl.DEPTH_TEST); gl.enable(gl.CULL_FACE);设置视口 gl.viewport(0,…...

毒枸杞事件启示录:EasyCVR视频AI智能监管方案如何重塑食品卫生安全防线

一、方案背景 近年来,食品安全问题频发,引发了社会各界的广泛关注。其中,毒枸杞事件尤为引人关注。新闻报道,在青海格尔木、甘肃靖远等地,部分商户为了提升枸杞的品相,违规使用焦亚硫酸钠和工业硫磺进行“…...

git进阶·团队开发的时候为何要创建临时分支来修复bug

若在团队开发中,突然遇到一个功能性bug,你会怎么使用git来管理分支呢? 在近些年来,团队工作的经验中,我总结出来的是,最好是先创建一个临时分支来修复bug,修复好后,再合并到主分支或…...

Unity 性能优化工具收集

本文地址:https://blog.csdn.net/t163361/article/details/141809415 Unity原始工具 UPR 官方 UPR UPR桌面端解决方案,减轻测试设备性能压力,使测试过程更加顺畅。提供CLI用于自动化测试系统对接。 PerformanceBenchmarkReporter Unity 性…...

linux下的Socket网络编程教程

套接字概念 Socket本身有“插座”的意思,在Linux环境下,用于表示进程间网络通信的特殊文件类型。本质为内核借助缓冲区形成的伪文件。与管道类似的,Linux系统将其封装成文件的目的是为了统一接口,使得读写套接字和读写文件的操作…...

华为人工智能重要服务总结

一,视觉智能服务 一,图像识别服务 1.媒资图像标签服务 媒资素材管理,内容推荐广告营销等 2.图像描述服务 融合计算机视觉,自然语言处理和多模态技术,对输入图像进行画面内容描述 3.主体识别服务 像主体识别能检测出…...

涉嫌欺诈者利用机器人通过播放AI创作的音乐赚取1000万美元版税

北卡罗莱纳州的一名男子因涉嫌上传数十万首由AI生成的歌曲到流媒体服务平台,并使用机器人播放数十亿次而面临诈骗指控。自2017年以来,Michael Smith据称通过这一方式获得了超过1000万美元的版税收入。更多详情 现年52岁的Smith于周三被逮捕。同一天公布…...

k8s helm

k8s Helm 是Kubernetes的包管理工具,类似于Linux系统中常用的apt、yum等包管理工具。Helm通过定义、安装和升级Kubernetes应用程序来简化Kubernetes应用部署的复杂性。以下是对k8s Helm的详细解析: 一、Helm的基本概念 Chart:Chart是Helm的…...

KMP 详解

KMP数组存的是什么 对于一个字符串 b,下标从1开始。 则kmp[i]表示 以i结尾的连续子串 s的前缀的最大值(等价于前缀最大结尾处) 如何求KMP 假设 i 以前的KMP都被求出来了。 j 表示上一个字符可以成功匹配的长度(等价于下标) …...

go语言并发编程-超详细mutex解析

文章目录 1 go语言并发编程学习-mutex1.1 学习过程1.2 如何解决资源并发访问的问题?【基本用法】1.2.1 并发访问带来的问题1.2.1.1 导致问题的原因 1.2.2 race detector检查data race1.2.3 mutex的基本实现机制以及使用方法1.2.3.1 具体使用-11.2.3.1 具体使用-2 1 …...

VirtualBox Debian 自动安装脚本

概览 相较于原脚本(安装目录/UnattendedTemplates/debian_pressed.cfg)更新如下内容: 配置清华镜像源配置仅主机网卡(后续只需添加仅主机网卡即可)配置Root用户远程登录配置用户sudo组 脚本 debian_pressed.cfg ##…...

最好的开放式耳机?五款红榜开放式耳机推荐!

面对众多的开放式耳机选项,消费者可能会感到难以抉择。买耳机不一定要买最贵最好的,但是一定要选最适合自己的,为了使选择过程更加容易,我提供了一些建议,推荐了几款既适合日常使用又佩戴舒适的热门开放式耳机。 开放式…...

线性代数之线性方程组

目录 线性方程组 1. 解的个数 齐次线性方程组: 非齐次线性方程组: 2. 齐次线性方程组的解 3. 非齐次线性方程组的解 4. 使用 Python 和 NumPy 求解线性方程组 示例代码 齐次线性方程组 非齐次线性方程组 示例结果 齐次线性方程组 非齐次线性…...

速盾:怎么查看是否使用cdn服务?

CDN(Content Delivery Network),即内容分发网络,是一种加速网络内容传输的技术。通过在全球各地建立分布式的节点服务器,将网站的静态资源缓存到最近的节点服务器上,使用户可以从离自己地理位置最近的节点服…...

828华为云征文|采用Flexus云服务器X实例部署RTSP直播服务器

一、前言 这篇文章讲解: 采用华为云最新推出的Flexus云服务器X实例搭建RTSP服务器,完成视频直播需求。 随着实时视频流传输需求的增长,RTSP(实时流协议)服务器成为了许多视频监控、直播和多媒体应用的核心组件。在当…...

Spring Cloud Gateway(二)

Spring Cloud Gateway(二) 文章目录 Spring Cloud Gateway(二)Gateway工作原理为什么使用API网关高并发Gateway性能优化 Gateway工作原理 Spring Cloud Gateway旨在为微服务架构提供简单、有效并且统一的API路由管理方式。它不仅…...

docker 简易入门

# docker 简易入门 docker由几个组成部分 docker client: 即 docker 命令行工具 docker host: 宿主机,docker daemon 的运行环境服务器 docker daemon: docker 的守护进程,docker client 通过命令行与 docker daemon 交互 container: 最小型的一个操…...

Day131 | 灵神 | 回溯算法 | 子集型 子集

Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣(LeetCode) 思路: 笔者写过很多次这道题了,不想写题解了,大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...

基于服务器使用 apt 安装、配置 Nginx

🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...

iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版​分享

平时用 iPhone 的时候,难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵,或者买了二手 iPhone 却被原来的 iCloud 账号锁住,这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...

macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用

文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)

引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍

文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...

Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战

说明:这是一个机器学习实战项目(附带数据代码文档),如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下,风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...

解读《网络安全法》最新修订,把握网络安全新趋势

《网络安全法》自2017年施行以来,在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂,网络攻击、数据泄露等事件频发,现行法律已难以完全适应新的风险挑战。 2025年3月28日,国家网信办会同相关部门起草了《网络安全…...

【C++】纯虚函数类外可以写实现吗?

1. 答案 先说答案&#xff0c;可以。 2.代码测试 .h头文件 #include <iostream> #include <string>// 抽象基类 class AbstractBase { public:AbstractBase() default;virtual ~AbstractBase() default; // 默认析构函数public:virtual int PureVirtualFunct…...

保姆级【快数学会Android端“动画“】+ 实现补间动画和逐帧动画!!!

目录 补间动画 1.创建资源文件夹 2.设置文件夹类型 3.创建.xml文件 4.样式设计 5.动画设置 6.动画的实现 内容拓展 7.在原基础上继续添加.xml文件 8.xml代码编写 (1)rotate_anim (2)scale_anim (3)translate_anim 9.MainActivity.java代码汇总 10.效果展示 逐帧…...