文章目錄
- 一、前言
-
- 1.1 項目介紹
-
- 【1】項目開發背景
- 【2】設計實現的功能
- 【3】項目硬件模塊組成
- 【4】設計意義
- 【5】國內外研究現狀
- 【6】摘要
- 1.2 設計思路
-
- 1.3 系統功能總結
- 1.4 開發工具的選擇
-
- 【1】設備端開發
- 【2】上位機開發
- 1.5 參考文獻
- 1.6 系統框架圖
- 1.7 系統原理圖
- 1.8 實物圖
- 1.9 模塊的技術詳情介紹
-
- 【1】Air724UG 4G模塊
- 【2】DHT11模塊
- 【3】土壤濕度檢測模塊
- 【4】MQTT協議
- 【5】繼電器模塊
- 【6】BH1750光強檢測模塊
- 1.10 總結
- 二、硬件選型(硬件買2份)
-
- 2.1 STM32開發板+LCD顯示屏
- 2.2 USB下載線
- 2.3 Air724UG 4G模塊
- 2.4 繼電器
- 2.5 DHT11溫濕度模塊
- 2.6 PCB板
- 2.7 BH1750光敏傳感器
- 2.8 土壤濕度傳感器
- 2.9 抽水馬達
- 2.10 電源擴展板
- 2.11 母對母杜邦線
- 2.12 穩壓模塊
- 2.13 電源插頭
- 2.14 USB母頭(接電機使用的)
- 三、部署華為云物聯網平臺
-
- 3.1 物聯網平臺介紹
- 3.2 開通物聯網服務
- 3.3 創建產品
-
- (1)創建產品
- (2)填寫產品信息
- (3)產品創建成功
- (4)添加自定義模型
-
-
- 【1】創建服務ID
- 【2】DHT11_T 環境溫度 浮點數
- 【3】DHT11_H 環境濕度 浮點數
- 【4】SOIL 土壤濕度 浮點數
- 【5】BH1750 光照強度 浮點數
- 【6】MOTOR_SW 灌溉開關 整數
- 【7】SOIL_MAX 濕度閥值 整數
- 【8】run_mode 運行模式 整數(1自動 0手動)
-
- (5)創建完成
- 3.4 添加設備1【區域一】
-
- (1)注冊設備
- (2)根據自己的設備填寫
- (3)保存設備信息
- (4)設備創建完成
- (5)設備詳情
- 3.5 添加設備2【區域二】
-
- (1)注冊設備
- (2)根據自己的設備填寫
- (3)保存設備信息
- (4)設備創建完成
- (5)設備詳情
- 3.6 MQTT協議主題訂閱與發布
-
- (1)MQTT協議介紹
- (2)華為云平臺MQTT協議使用限制
- (3)主題訂閱格式
- (4)主題發布格式
- 3.7 MQTT三元組
-
- (1)MQTT服務器地址
- (2)生成MQTT三元組
- 3.8 模擬設備登錄【設備1】
-
- (1)填入登錄信息
- (2)打開網頁查看
- (3)MQTT登錄測試參數總結
- 3.9 模擬設備登錄【設備2】
-
- (1)填入登錄信息
- (2)打開網頁查看
- (3)MQTT登錄測試參數總結
- 3.10 項目憑證
- 3.10 創建IAM賬戶
- 3.11 獲取影子數據【以設備1為例】
- 3.12 修改設備屬性【以設備1為例】
- 四、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】獲取影子數據
-
- (1)獲取當前時間并更新界面上的時間標簽
- (2)設置請求URL和初始化網絡請求
- (3)構造API請求URL
- (4)設置請求的頭部信息
- (5)設置請求URL并發送請求
- (6)總結
- 【3】解析數據更新界面
-
- **(1)整體功能**
- **(2)代碼邏輯解析**
-
- **1. JSON數據解析**
- **2. 檢查JSON結構**
- **3. 提取 `shadow` 數組**
- **4. 提取 `reported` 和 `properties`**
- **5. 解析時間字段**
- **6. 提取具體設備數據**
- **7. 更新UI控件**
- **8. 添加條件樣式**
- **9. 顯示時間**
- **10. 判斷設備是否離線**
- **(3)總結**
- 5.5 編譯Windows上位機
- 5.6 配置Android環境
-
- 【1】選擇Android編譯器
- 【2】創建Android配置文件
- 【3】配置Android圖標與名稱
- 【4】編譯Android上位機
- 5.7 設備仿真調試
- 六、 Air724UG 模塊調試過程
-
- 6.1 官方文檔
- 6.2 模塊調試接線
- 6.3 串口調試過程
-
- 【1】AT命令
- 【2】讀取模塊廠商信息
- 【3】讀取詳細的固件版本
- 【4】查詢卡是否插好
- 【5】查詢信號質量
- 【6】查詢網絡注冊狀態
- 【5】查詢模組是否注冊上GPRS網絡
- 【6】查詢附著GPRS網絡
- 【7】打開VOLTE功能
- 七、STM32代碼設計
-
- 7.1 硬件連線說明
- 7.2 硬件原理圖
- 7.3 硬件組裝過程
- 7.4 硬件實物圖
- 7.5 KEIL工程截圖
- 7.6 程序下載
- 7.7 程序正常運行效果
- 7.8 取模軟件的使用
- 7.9 4G模塊與服務器通信
-
- (1)功能描述
- (2)代碼逐段解析
- (3)總體功能總結
- 7.10 硬件初始化
-
- (1)功能描述
- (2)代碼逐段解析
- (3)總體功能總結
- 7.11 4G模塊-初始化
-
- (1)功能描述
- (2)代碼逐段解析
- (3)總體功能總結
- 7.12 LCD界面顯示
-
- (1)功能描述
- (2)代碼逐段解析
- (3)總體功能總結
- 7.14 數據采集與顯示
-
- 【1】項目核心代碼解析
- 【2】核心功能解析
-
- **定時輪詢**
- **采集環境數據**
-
- **(1)采集溫濕度**
- (2)**顯示溫濕度**
- (3)**采集光照強度**
- (4)**顯示光照強度**
- (5)**采集土壤濕度**
- (6)**顯示土壤濕度**
- 【3】**顯示其他信息**
-
- (1)**顯示土壤濕度閾值**
- (2)**顯示運行模式**
- (3)**顯示灌溉開關狀態**
- 【4】**自動模式運行邏輯**
- 【5】**上傳數據到MQTT云端服務器**
- 【6】總結
- 7.15 按鍵代碼
-
- (1)按鍵邏輯代碼功能解析
- (2)功能描述
- (3)總體功能總結
- (4)使用場景
- 7.16 上位機命令處理
-
- **【1】功能概述**
- **【2】核心代碼解析**
-
- **1. 接收數據和檢測命令**
- **2. 控制灌溉開關**
- **3. 切換運行模式**
- **4. 提取土壤濕度閾值**
- **5. 處理服務器指令請求反饋**
- **6. 重置接收狀態**
- 【3】**代碼總結**
- **【4】建議和優化**
- 八、使用STM32代碼的流程以及注意事項
-
- 8.1 第1步
- 8.2 第2步
- 8.3 第3步
- 九、代碼移植更改
-
- 【1】STM32代碼
- 【2】Qt上位機代碼
- 十、完整STM32代碼
- 任務書
-
- 一、課題名稱
- 二、課題背景與意義
- 三、課題目標
- 四、任務要求
-
- 1. 硬件部分
- 2. 軟件部分
- 3. 系統集成與調試
- 五、研究方法
- 六、進度安排
- 七、預期成果
- 八、參考文獻
- 開題報告
-
- 一、課題背景與研究意義
- 二、課題目標與內容
-
- 1. 課題目標
- 2. 課題內容
- 三、研究方法與技術路線
-
- 1. 研究方法
- 2. 技術路線
- 四、硬件設計方案
- 五、軟件設計方案
- 六、進度安排
- 七、預期成果
- 八、參考文獻
基于物聯網設計的園林灌溉系統(華為云IOT)
一、前言
1.1 項目介紹
【1】項目開發背景
隨著物聯網技術的迅猛發展,智能化的園林灌溉系統逐漸成為現代農業和園林管理的重要需求。傳統的人工灌溉方式效率低下,且容易導致水資源浪費或灌溉不足,不利于植物的健康生長。而智能灌溉系統通過實時監測環境參數,結合自動化與遠程控制技術,不僅能夠提高灌溉效率,還能有效節約水資源,具有重要的應用價值。
當前,園林管理面臨的挑戰主要包括多區域管理的復雜性、人工操作的不便性以及精準灌溉的需求。基于物聯網技術的園林灌溉系統可以通過無線通信和云端平臺,將分布在不同區域的設備連接到統一的管理系統中,實現信息的實時采集與控制命令的快速傳遞。這種智能化的解