文章目录
- 一、设计需求
- 1.1 设计需求总结
- 1.2 整体设计思路
- 1.3 整体构架
- 1.4 功能总结
- 1.5 ESP8266模块配置
- 1.6 上位机开发思路
- 1.7 项目的意义
- 1.8 供电方式
- 1.9 参考文献
- 1.10 整体框架
- 1.11 设备原理图
- 二、硬件选型
- 2.1 ESP8266-串口WIFI
- 2.2 STM32开发板
- 2.3 USB下载线
- 2.4 洞洞板
- 2.5 雨滴传感器
- 2.6 震动模块
- 2.7 杜邦线(2排)
- 2.8 OLED显示屏
- 2.9 5V 步进电机
- 2.10 蜂鸣器模块
- 2.11 监控摄像头(这个是独立的设备,与项目本身的代码无关)
- 三、部署华为云物联网平台
- 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 创建Android配置文件
- 4.7 配置Android图标与名称
- 4.8 设计UI界面
- 4.9 获取token
- 4.10 时间校准
- 4.11 获取影子数据
- 4.12 解析数据更新界面
- 4.13 编译Windows上位机
- 4.14 编译Android上位机
- 五、STM32设备端代码设计
- 5.1 硬件连线
- 5.2 取模软件使用
- 5.3 通信协议
- 5.4 按键的功能说明
- 5.5 自动模式控制逻辑
- 5.6 手机APP远程控制
- 5.7 KEIL工程
- 5.8 注意事项
- 六、使用STM32代码的流程以及注意事项
- 6.1 第一步
- 6.2 第二步
- 6.3 第三步
- 6.4 第四步
- 6.5 第五步
- 七、STM32完整代码
一、设计需求
1.1 设计需求总结
随着物联网技术与智能家居的快速发展,智能窗控制系统逐渐成为现代家庭和商业楼宇智能化建设的重要组成部分。本项目致力于设计并实现一款基于STM32微控制器为核心,并结合华为云IOT平台服务的智能窗控系统,目的是提升居住空间的安全性、便利性和环境适应能力。
考虑到用户对于远程控制及实时监控的需求日益增强,本项目整合多种传感器技术与无线通信模块,构建一个高效且功能丰富的解决方案。系统将通过STM32F103RCT6高性能MCU进行整体控制与数据处理,利用ESP8266 WiFi模块实现实时联网,确保设备能够稳定连接至华为云IOT平台,从而实现云端的数据交互和远程控制。
在具体功能设计上,系统集成了雨滴检测传感器以感知外部天气变化,当检测到下雨时,自动执行关窗操作以保护室内环境免受雨水侵袭。同时,采用震动传感器来监测窗户遭受碰撞或震动事件,一旦发生异常情况,不仅会触发本地警报,还会立即将报警信息上传至华为云平台,通过手机APP向用户发送即时提醒。
系统支持手机APP远程查看和控制窗户的状态,借助QT框架开发的APP界面友好、功能全面,用户不仅可以随时查看窗户开关状态、下雨报警、碰撞震动等实时信息,还能够远程操控窗户开闭。为满足用户的安防需求,本系统进一步拓展了视频监控功能,通过集成RTMP协议的摄像头,将视频流推送到部署在华为云ECS服务器上的NGINX流媒体服务器,使用户在任何地点都能通过手机APP获取清晰流畅的视频画面和声音,及时响应潜在的安全威胁。
智能窗控制系统充分利用了先进的嵌入式技术和云计算服务,实现了家居环境的智能化管理,提升了用户体验,同时也