文章目录
- 一、前言
- 1.1 项目介绍
- 【1】项目开发背景
- 【2】设计实现的功能
- 【3】项目硬件模块组成
- 【4】设计意义
- 【5】国内外研究现状
- 【6】摘要
- 1.2 设计思路
- 1.3 系统功能总结
- 1.4 开发工具的选择
- 【1】设备端开发
- 【2】上位机开发
- 1.5 框架图
- 1.6 原理图
- 二、硬件选型
- 2.1 STM32开发板
- 2.2 USB下载线
- 2.3 Air780e模块
- 2.4 母对母杜邦线
- 2.5 电源扩展板
- 2.6 蜂鸣器模块
- 2.7 OLED显示屏
- 2.8 独立按键
- 2.9 LED灯模块
- 2.10 继电器
- 2.11 ADXL345 三轴加速度计模块
- 2.12 锂电池供电模块(可选)
- 2.13 PCB板
- 2.14 GPS模块
- 三、部署华为云物联网平台
- 3.1 物联网平台介绍
- 3.2 开通物联网服务
- 3.3 创建产品
- (1)创建产品
- (2)填写产品信息
- (3)产品创建成功
- (4)添加自定义模型
- 【1】创建服务ID
- 【2】GPS 定位信息 字符串类型
- 【3】BEEP 挪动报警 整型
- 【4】Lock 单车锁 整型
- (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 项目凭证
- 3.9 创建IAM账户
- 3.10 获取影子数据
- 四、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 切换编译器
- 5.4 编译测试功能
- 5.5 设计UI界面与工程配置
- 【1】打开UI文件
- 【2】开始设计界面
- 5.6 设计代码
- **(1) 获取华为云IoT的Token**
- **(2) 处理网络请求响应**
- **(3) 查询设备属性**
- **(4) 发送控制命令到设备**
- **(5) 百度地图集成**
- **(6) 自动更新与手动控制**
- **(7) 辅助功能**
- **总结功能流程**
- 5.5 编译Windows上位机
- 5.6 配置Android环境
- 【1】选择Android编译器
- 【2】创建Android配置文件
- 【3】配置Android图标与名称
- 【3】编译Android上位机
- 六、STM32代码设计
- 6.1 硬件连线说明
- 6.2 硬件原理图
- 6.3 硬件组装过程
- 6.4 硬件实物图
- 6.5 KEIL工程
- 6.6 程序下载
- 6.7 程序正常运行效果
- 6.8 取模软件的使用
- 6.9 4G模块与服务器通信
- **(1) 打印经纬度信息到串口**
- **(2) 组合JSON格式的报文数据**
- **(3) 通过MQTT协议发布数据到云端**
- **(4) 整体功能流程总结**
- **(5) 关键变量说明**
- **(6) 注意事项**
- 6.10 硬件初始化
- **(1) 串口1初始化**
- **(2) 按键初始化**
- **(3) LED初始化**
- **(4) 系统启动提示**
- **(5) 串口3初始化(GPS模块)**
- **(6) 串口2初始化(4G模块)**
- **(7) 蜂鸣器初始化**
- **(8) LED状态指示初始化**
- **(9) 硬件初始化(报警灯)**
- **(10) OLED显示屏初始化**
- **(11) OLED清屏**
- **(12) ADXL345加速度传感器初始化**
- **总结**
- 6.11 4G模块-初始化
- **(1) 初始化变量与OLED清屏**
- **(2) 4G模块硬件检测(带重试机制)**
- **(3) 4G模块初始化配置(带重试机制)**
- **(4) GPRS网络服务初始化(带重试机制)**
- **(5) 短信服务初始化(带重试机制)**
- **(6) MQTT协议初始化(带重试机制)**
- **(7) MQTT主题订阅(带重试机制)**
- **(8) 标记连接成功与声光提示**
- **代码逻辑总结**
- **关键设计特点**
- 6.12 按键逻辑代码
- **(1) 板载按键检测**
- **(2) 锁车功能(按键1按下)**
- **(3) 输入密码页面(按键2或3按下)**
- **代码逻辑总结**
- **关键设计特点**
- 6.13 数据采集与显示
- **(1) 轮询时间到达判断**
- **(2) 读取三轴加速度数据**
- **(3) 计算倾斜角度**
- **(4) 锁车状态下的防盗检测**
- **(5) 组合数据上传MQTT云端**
- **(6) 显示主页面**
- **代码逻辑总结**
- **关键设计特点**
- 6.14 处理上位机下发的数据
- **(1) 4G模块数据接收标志检测**
- **(2) 解析开锁指令(Lock=1)**
- **(3) 解析关锁指令(Lock=0)**
- **(4) 解析声光寻车指令(LED=1)**
- **(5) 解析属性修改请求响应**
- **(6) 清理接收缓冲区**
- **代码逻辑总结**
- 七、使用STM32代码的流程以及注意事项
- 7.1 第1步
- 7.2 第2步
- 7.3 第3步
- 八、代码移植更改
- 【1】STM32代码
- 【2】Qt上位机代码
- 【3】QT代码编译注意
- 九、短信发送
- 论文目录
- 第一章 绪论
- 第二章 设计方法与方案选择
- 第三章 系统设计与硬件选型
- 第四章 系统设计与实现(嵌入式STM32端)
- 第五章 上位机设计与实现
- 第六章 调试与测试
- 第七章 结论与展望
- 参考文献
- 致谢
- 开题报告
- (一)选题来源与背景
- (二)研究目的
- (三)国内外研究现状
- **国内研究现状**
- **国外研究现状**
- **技术趋势与项目创新点**
- **现存技术瓶颈**
- (五)研究内容
- (六)研究思路
- (七)研究方法
- **硬件系统设计与搭建**
- **嵌入式软件开发(STM32端)**
- **云端与通信协议实现**
- **客户端应用开发(Android APP与Windows上位机)**
- **系统集成与测试验证**
- **优化与迭代**
- (八)总体结构描述
- (九)各个功能模块描述
- 1. **主控模块**
- 2. **防盗报警模块**
- 3. **4G通信与云端模块**
- 4. **定位与地图模块**
- 5. **用户交互模块**
- 6. **锁控与电源模块**
- 关键硬件接口分配(STM32F103RCT6)
- 软件架构设计
- 安全机制
- (十)可行性分析
- 技术可行性
- 经济可行性
- 操作与维护可行性
- 风险与应对
- 结论
- (十一)预期成果
- **硬件系统成果**
- **软件功能成果**
- **软件实现成果**
- **系统联调成果**
- 项目功能细节
- 一、项目概述
- 二、核心技术
- 三、各功能实现逻辑详细描述
- 1. 防盗功能(移动检测 + 本地报警 + 远程短信提醒)
- 2. 数据上云(远程监控与操作)
- 3. 本地OLED信息显示
- 4. 声光寻车功能
- 5. 输入密码开锁功能
- 智能防盗单车锁功能概述
- 一、系统概述
- 二、功能组成与描述
- 1. 防盗检测与报警功能
- 2. 数据上云与远程监控
- 3. GPS定位功能
- 4. 本地OLED信息显示
- 5. 声光寻车功能
- 6. 密码开锁功能
- 7. 本地开锁控制(继电器模拟)
【基于STM32设计的智能防盗单车锁_349】 https://www.bilibili.com/video/BV1ibyuB8EN7/?share_source=copy_web&vd_source=347136f3e32fe297fc17177194ce0a8b
一、前言
1.1 项目介绍
【1】项目开发背景
随着城市生活节奏的加快与环保意识的增强,单车作为一种绿色、便捷的出行工具越来越受到人们的青睐。然而,单车易被盗这一问题也愈发突出,尤其是在公共区域或偏僻角落,传统机械车锁的安全性远远不能满足实际需求。因此,如何提升单车的防盗能力,成为当前迫切需要解决的问题。
近年来,物联网(IoT)技术的发展为单车防盗提供了新的思路。通过将传感器、通信模块与云平台结合,实现对单车状态的实时监控、远程控制与异常告警,大大提升了安全保障能力。而STM32作为一款高性能、低功耗的嵌入式微控制器,其强大的处理能力和丰富的外设接口,使其成为智能防盗系统中理想的主控平台。
考虑到单车多处于户外环境,缺乏WiFi接入条件,本项目选用Air780E 4G模块实现联网功能,通过MQTT协议与华为云IOT物联网平台通信,不仅支持远程数据上报与命令接收,还能通过短信形式实现紧急告警,进