基于物聯網設計的園林灌溉系統(華為云IOT)_274

文章目錄

  • 一、前言
    • 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】項目開發背景

隨著物聯網技術的迅猛發展,智能化的園林灌溉系統逐漸成為現代農業和園林管理的重要需求。傳統的人工灌溉方式效率低下,且容易導致水資源浪費或灌溉不足,不利于植物的健康生長。而智能灌溉系統通過實時監測環境參數,結合自動化與遠程控制技術,不僅能夠提高灌溉效率,還能有效節約水資源,具有重要的應用價值。

當前,園林管理面臨的挑戰主要包括多區域管理的復雜性、人工操作的不便性以及精準灌溉的需求。基于物聯網技術的園林灌溉系統可以通過無線通信和云端平臺,將分布在不同區域的設備連接到統一的管理系統中,實現信息的實時采集與控制命令的快速傳遞。這種智能化的解

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/97710.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/97710.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/97710.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

uni-app iOS 應用版本迭代與上架實踐 持續更新的高效流程

很多團隊在使用 uni-app 開發 iOS 應用時,往往能順利完成第一次上架,但一到 版本更新和迭代 環節,就會頻繁遇到瓶頸:證書是否能復用?如何快速上傳?怎樣保持節奏不被打亂? 本文結合實戰經驗&…

解決由Tomcat部署前端改成nginx部署,導致大寫.JPG結尾文件無法訪問問題

前言:因信創替代要求,在麒麟服務器部署新的應用。原先的架構:前端tomcat部署,源碼部署java應用(ps:前后端,文件都在同一臺服務器上),前端訪問后端,再通過后端…

【設計模式】三大原則 單一職責原則、開放-封閉原則、依賴倒轉原則

系列文章目錄 文章目錄系列文章目錄一、單一職責原則方塊游戲的設計二、開放-封閉原則原則介紹何時應對變化三、依賴倒轉原則依賴倒轉原則介紹里氏代換原則總結一、單一職責原則 單一職責原則,聽字面意思,就是說功能要單一,他的準確解釋是&a…

(3dnr)多幀視頻圖像去噪 (一)

一、多幀視頻圖像去噪 原理當攝像機每秒捕捉的圖像達到60FPS,除了場景切換或者一些快速運動的場 景外,視頻信號中相鄰的兩幀圖像內容大部分是相同的。并且視頻信號中的噪 聲大部分都是均值為零的隨機噪聲,因此在時間上對視頻信號做幀平均&…

從靜態到智能:用函數式接口替代傳統工具類

在 Java 早期開發中,我們習慣使用**靜態實用程序類(Utility Class)**來集中放置一些通用方法,例如驗證、字符串處理、數學計算等。這種模式雖然簡單直接,但在現代 Java 開發(尤其是 Java 8 引入 Lambda 和函…

免殺偽裝 ----> R3進程偽裝實戰(高階) ---->培養紅隊免殺思路

目錄 R3進程偽裝(免殺技術)高階技術說明 深入剖析Windows進程規避免殺技術 學習R3進程偽裝的必備技能 R3進程偽裝的核心知識點與實現步驟 核心知識點 實現步驟 免殺實現步驟 PEB與EPROCESS的深入解析 1. PEB(進程環境塊) 2. EPROCESS 3. PEB與…

深度學習——基于卷積神經網絡實現食物圖像分類(數據增強)

文章目錄 引言 一、項目概述 二、環境準備 三、數據預處理 3.1 數據增強與標準化 3.2 數據集準備 四、自定義數據集類 五、構建CNN模型 六、訓練與評估 6.1 訓練函數 6.2 評估函數 6.3 訓練流程 七、關鍵技術與優化 八、常見問題與解決 九、完整代碼 十、總結 引言 本文將詳細介…

【開題答辯全過程】以 基于微信小程序的教學輔助系統 為例,包含答辯的問題和答案

個人簡介一名14年經驗的資深畢設內行人,語言擅長Java、php、微信小程序、Python、Golang、安卓Android等開發項目包括大數據、深度學習、網站、小程序、安卓、算法。平常會做一些項目定制化開發、代碼講解、答辯教學、文檔編寫、也懂一些降重方面的技巧。感謝大家的…

【代碼解讀】Deepseek_vl2中具體代碼調用

【代碼解讀】Deepseek_vl2中具體代碼調用 文章目錄【代碼解讀】Deepseek_vl2中具體代碼調用DeepseekVLV2Processor解讀DeepseekVLV2ForCausalLM - 多模態模型DeepSeek-VL2 Processor的輸入格式單樣本格式多樣本格式DeepSeek-VL2模型的輸出形式總結主要輸出類型:Deep…

Git 9 ,.git/index.lock 文件沖突問題( .git/index.lock‘: File exists. )

目錄 前言 一、問題背景 1.1 問題出現場景 1.2 典型報錯信息 1.3 問題影響 二、問題原因分 2.1 Git 的 index 與鎖機制 2.2 主要作用 2.3 根本原因 三、解決方案 3.1 確認進程 3.2 手動刪除 3.3 再次執行 四、注意事項 4.1 確保運行 4.2 問題排查 4.3 自動化解…

Proteus8 仿真教學全指南:從入門到實戰的電子開發利器

在電子設計、單片機課程設計或創客實踐中,你是否常因實物采購貴、新手怕燒板、調試排錯難而頭疼?Proteus8 作為一款 “全能型” EDA 仿真工具,完美解決這些痛點 —— 它集「原理圖繪制 PCB 設計 虛擬仿真」于一體,支持 51、STM3…

系統科學:結構、功能與層級探析

摘要本文旨在系統性地梳理和辨析系統科學中的核心概念——結構、功能與層級。文章首先追溯系統思想的理論源流,確立其作為一種超越還原論的整體性研究范式。在此基礎上,深度剖析系統結構的內在構成(組分、框架、動態性)、系統層級…

面試官問:你如何看待薪資待遇?

在面試過程中,“你如何看待薪資待遇?”這個問題,是很多面試官都會提出的經典問題之一。雖然表面上看起來是一個簡單的提問,但它實則關乎候選人的職業價值觀、工作態度以及對自己能力的認知。薪資是工作的重要動力之一,…

HarmonyOS 應用開發新范式:深入剖析 Stage 模型與 ArkUI 最佳實踐

好的,請看這篇基于 HarmonyOS (鴻蒙) 最新技術棧的深度技術文章。 HarmonyOS 應用開發新范式:深入剖析 Stage 模型與 ArkUI 最佳實踐 引言 隨著 HarmonyOS 4、5 的持續演進和未來 6 的規劃,其應用開發框架經歷了革命性的重構。對于技術開發者…

【Python數據可視化:Matplotlib高級技巧】

Python數據可視化:Matplotlib高級技巧引言在數據科學和分析領域,數據可視化是理解和傳達信息的關鍵工具。Python中最流行的可視化庫之一就是Matplotlib。雖然初學者可以快速上手Matplotlib的基礎功能,但掌握其高級技巧才能真正發揮這個強大庫…

LazyLLM教程 | 第7講:檢索升級實踐:親手打造“更聰明”的文檔理解系統!

本節,我們將首先介紹如何評價 RAG 的檢索組件,幫助您理解如何衡量 RAG 系統的檢索能力。隨后,我們會深入探討幾種提升 RAG 系統檢索組件效果的策略實現以及對應的效果對比:1.基于 LazyLLM 實現查詢重寫策略。2.介紹 LazyLLM 中的節…

rust語言 (1.88) egui (0.32.1) 學習筆記(逐行注釋)(二十四)窗口顏色、透明度、居中顯示

一、窗口顏色和透明度 &#xff08;一&#xff09;效果預覽&#xff08;二&#xff09;透明窗體主要代碼 use eframe::egui; use egui::Color32;fn main() -> eframe::Result<()> {let options eframe::NativeOptions {viewport: egui::ViewportBuilder::default() …

基于無人機的風電葉片全自動智能巡檢:高精度停角估計與細節優先曝光調控技術

【導讀】 本文致力于解決一個非常實際的工業問題&#xff1a;如何利用無人機&#xff08;UAV&#xff09;全自動、高效、可靠地檢查風力渦輪機葉片。葉片是風力發電機組中最昂貴且易損的部件之一&#xff0c;定期檢查至關重要。然而&#xff0c;當前的技術在自動化過程中面臨幾…

騰訊云上有性能比較強的英偉達GPU

騰訊云上有性能比較強的英偉達GPU A100&#xff0c;雖然落后3~4代&#xff0c;但是估計是最強的英偉達GPU了。

AI任務相關解決方案13-AI智能體架構方案(意圖識別+多任務規劃+MCP+RAG)與關鍵技術深度解析研究報告,以及實現代碼

文章目錄 1. 總體技術方案 2. 生成式大模型(LLM):Data Agent的大腦 3. 意圖識別:準確理解用戶意圖 3.1 基于BERT的微調方法 3.2 基于大語言模型(LLM)的零樣本/少樣本方法 4. 多任務規劃:提升架構的靈活性 4.1 任務分解與規劃 4.2 多智能體協作規劃 4.3 基于強化學習的規劃方…