基于华为云IOT设计的粮仓环境监测系统_303
文章目录
- 一、前言
-
- 1.1 项目介绍
-
- 【1】项目开发背景
- 【2】设计实现的功能
- 【3】项目硬件模块组成
- 【4】设计意义
- 【5】国内外研究现状
- 【6】摘要
- 1.2 设计思路
- 1.3 系统功能总结
- 1.4 开发工具的选择
-
- 【1】设备端开发
- 【2】APP上位机开发
- 1.5 参考文献
- 1.6 系统框架图
- 1.7 系统原理图
- 1.8 实物图
- 1.9 模块的技术详情介绍
-
- 【1】BC26-NBIOT模块
- 【2】SHT30温湿度模块
- 【3】LoRa模块
- 【4】继电器模块
- 二、硬件选型
-
- 2.1 STM32开发板(X4)
- 2.2 母对母杜邦线
- 2.3 USB下载线(X4)
- 2.4 OLED显示屏(X4)
- 2.5 NBIOT-BC26模块
- 2.6 继电器(X3)
- 2.7 SHT30温湿度模块(X3)
- 2.8 PCB板(X4)
- 2.9 雨滴模块(X3)
- 2.10 蜂鸣器模块(X3)
- 2.11 LoRa模块(X4)
- 三、部署华为云物联网平台
-
- 3.1 物联网平台介绍
- 3.2 开通物联网服务
- 3.3 创建产品
-
- (1)创建产品
- (2)填写产品信息
- (3)产品创建成功
- (4)添加自定义模型
-
-
- 【1】创建服务ID
-
- (5)节点1的属性
-
-
- 【1】1_SHT30_T 环境温度 浮点数
- 【2】1_SHT30_H 环境湿度 浮点数
- 【3】1_MOTOR_SW 风扇开关 (0关闭 1打开)布尔类型
- 【4】1_water 水分含量
- 【5】1_run_mode 运行模式
-
- (6)节点2的属性
- (7)节点3的属性
- (8)创建完成
- 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 获取影子数据
- 3.11 修改设备属性
- 3.12 创建规则存储数据
-
- (1)创建规则
- (2)设置规则
- (3)创建OBS存储桶
- (4)继续配置转发规则
- (5)规则创建完成
- (6)查看OBS里存储的数据
- 四、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】获取token
- 【2】获取影子数据
- 【3】数据解析与显示
-
- (1)**反馈数据解析**
- (2)**Token更新功能**
- (3)**错误码和错误信息处理**
- (4)**设备控制命令执行(功能选择12和13)**
- (5)**设备属性查询(功能选择0)**
- (6)**数据存储**
- (7)**界面更新**
- (8)**时间格式转换**
- (9)**弹窗提示**
- 【4】数据库存储与折线图显示
-
- (1)**插入数据到数据库 (`insertDataIntoDatabase`)**
- (2)**查询并打印数据库数据 (`queryAndPrintTableData`)**
- (3)**数据存储与查询**
- (4)**界面折线图更新**
- (5)总结
- 5.5 编译Windows上位机
- 5.6 配置Android环境
-
- 【1】选择Android编译器
- 【2】创建Android配置文件
- 【3】配置Android图标与名称
- 【4】编译Android上位机
- 5.7 设备仿真调试
- 六、 BC26-NBIOT模块与LORA模块调试过程
-
- 6.1 NBIOT模块:调试接线
- 6.2 NBIOT模块:调试过程
- 6.3 NBIOT模块:上电初始化操作
- 6.4 LORA模块:模块接线
- 6.5 LORA模块:查询配置
- 6.6 LORA模块:配置与保存
- 七、STM32代码设计【主机】
-
- 7.1 硬件连线说明
- 7.2 硬件原理图
- 7.3 硬件组装过程
- 7.4 硬件实物图
- 7.5 KEIL工程截图
- 7.6 程序下载
- 7.7 程序正常运行效果
- 7.8 取模软件的使用
- 7.9 NBIOT模块与服务器通信
-
- (1)**组合数据**
- (3)**网络连接检查**
- (3)**MQTT发布数据**
- (4)**上传结果处理**
- (5)总结
- 7.10 硬件初始化
-
- (1)**释放PA15作为普通IO**
- (2)**板载LED初始化**
- (3)**板载按键初始化**
- (4)**串口1初始化(用于打印)**
- (5)**串口2初始化(接NBIOT-BC26模块)**
- (6)**串口3初始化(接LORA模块)**
- (7)**OLED显示初始化**
- (8)**OLED清屏**
- (9)总结
- 7.11 NBIOT模块-初始化
-
- (1)**OLED清屏及初始化显示**
- (2)**NBIOT模块硬件检测与复位**
- (3)**检测BC26模块硬件是否正常**
- (4)**模块复位与初始化配置**
- (5)**MQTT协议初始化**
- (6)**MQTT订阅主题**
- (7)**设置连接标志**
- (8)总结
- 7.12 数据显示
-
- (1)**轮询与定时刷新**
- (2)**数据上传**
- (3)**显示页面切换**
- (4)**页面显示函数**
- (5)代码流程
- (7)总结
- 7.13 按键代码
-
- (1)**按键扫描与检测**
- (2)**按键按下后的页面切换**
- (3)总结
- 7.14 上位机命令处理
-
- (1)**接收数据并打印**
- (2)**判断是否为有效命令**
- (3)**解析设备1的设置参数**
- (4)**解析设备2和设备3的设置参数**
- (5)**判断是否需要发送设备设置命令**
- (6)**下发指令并响应服务器**
- (7)总结
- 八、STM32代码设计【节点】
-
- 8.1 硬件连线说明
- 8.2 硬件原理图
- 8.3 KEIL工程截图
- 8.4 LORA模块与网关通信
-
- (1)**数据格式化**
- (2)**通过USART2发送数据**
- (3)总结
- 8.5 硬件初始化
-
- (1)**释放PA15引脚**
- (2)**板载LED初始化**
- (3)**板载按键初始化**
- (4)**串口1初始化(用于打印调试信息)**
- (5)**环境温湿度传感器初始化 (SHT30)**
- (6)**蜂鸣器初始化**
- (7)**串口2初始化(接LoRa模块)**
- (8)**继电器模块初始化(控制风扇)**
- (9)**ADC初始化**
- (10)**OLED显示屏初始化**
- (11)**OLED清屏**
- (11)总结
- 8.6 数据显示
-
- (1)**定时轮询**
- (2)**采集温湿度数据**
- (3)**采集水分含量**
- (4)**OLED显示页面更新**
- (5)**自动模式下的控制逻辑**
- (6)**组合数据并上传到网关**
- (7)总结
- 8.7 按键代码
-
- (1)**按键扫描**
- (2)**翻页操作**
- (3)**控制继电器1(风扇)**
- (4)**控制继电器2(预留接口)**
- (5)总结
- 8.8 命令处理
-
- (1)**接收Lora模块返回的数据**
- (2)**解析“set”命令**
- (3)**解析命令数据**
- (4)**打印接收到的命令**
- (5)**验证解析是否成功**
- (6)**更新设备参数**
- (7)**清除接收缓冲区**
- (8)总结
- 八、使用STM32代码的流程以及注意事项
-
- 9.1 第1步
- 9.2 第2步
- 9.3 第3步
- 九、代码移植更改
-
- 【1】STM32代码(网关工程代码)
- 【2】子节点代码
- 【3】Qt上位机代码
基于华为云IOT设计的粮仓环境监测系统
一、前言
1.1 项目介绍
【1】项目开发背景
随着全球人口的增长和粮食需求的增加,如何有效地管理和储存粮食成为了一个日益重要的问题。在许多地方,粮食的储存环境直接影响到粮食的质量和安全性,过高的湿度、温度过高、以及粮食水分过多都会加速粮食的腐败和变质,进而导致大量粮食浪费。因此,开发一种有效的粮仓环境监控系统,实时监测温湿度、水分含量等关键环境参数,并能够实现远程管理和控制,成为了现代农业管理的重要需求。
传统的粮仓管理方式通常依赖人工巡检,不仅工作效率低,而且很难做到实时监控,容易忽视一些环境异常情况,导致粮食质量受到损害。随着物联网技术的快速发展,越来越多的智能硬件和云服务可以