文章目錄
- 一、前言
-
- 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】ESP8266-WIFI模塊
- 【2】BH1750傳感器
- 【3】SHT30溫濕度模塊
- 【4】超聲波測距模塊
- 【5】MQ7一氧化碳氣體模塊
- 【6】MQ4天然氣氣體模塊
- 【7】MQTT協議
- 二、硬件選型
-
- 2.1 STM32開發板(帶顯示屏)
- 2.2 PCB板
- 2.3 杜邦線(2份)
- 2.4 SHT30溫濕度模塊
- 2.5 ESP8266
- 2.6 繼電器(買2個)
- 2.7 環境光檢測模塊
- 2.8 人體感應-熱釋電模塊
- 2.9 蜂鳴器模塊
- 2.10 LED燈-臺燈燈泡
- 2.11 聲音檢測模塊
- 2.12 超聲波測距模塊
- 2.13 MQ4天然氣傳感器
- 2.14 MQ7一氧化碳傳感器
- 2.15 USB下載線
- 2.16 電源擴展板(買2個)
- 三、部署華為云物聯網平臺
-
- 3.1 物聯網平臺介紹
- 3.2 開通物聯網服務
- 3.3 創建產品
-
- (1)創建產品
- (2)填寫產品信息
- (3)產品創建成功
- (4)添加自定義模型
-
-
- 【1】創建服務ID
- 【2】環境溫度 SHT30_T 浮點數
- 【3】環境濕度 SHT30_H 浮點數
- 【4】光照強度 BH1750 浮點數
- 【5】人體檢測 HumanBody 布爾類型
- 【6】一氧化碳 MQ7 浮點數
- 【7】可燃氣體 MQ4 浮點數
- 【8】聲音檢測 Audio 浮點數
- 【9】坐姿距離 Distance 浮點數
- 【10】運行模式 mode_type Bool類型
- 【11】電風扇 MOTOR1_SW Bool類型
- 【12】加濕器 MOTOR2_SW Bool類型
- 【13】臺燈 LED_SW Bool類型
- 【14】燈光亮度 Light 整型(3個等級)
- 【15】距離閥值 Distance_Min 整型
-
- (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 獲取影子數據
- 3.11 修改設備屬性
- 四、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)**提取設備屬性數據**
- (3)**提取各項傳感器數據**
- (4)**提取設備傳感器數據**
- (5)**更新界面**
-
- 環境溫度(`SHT30_T`)顯示:
- 環境濕度(`SHT30_H`)顯示:
- 人體檢測(`HumanBody`)顯示:
- (6)**判斷設備是否離線**
- (7)總結
- 5.5 編譯Windows上位機
- 5.6 配置Android環境
-
- 【1】選擇Android編譯器
- 【2】創建Android配置文件
- 【3】配置Android圖標與名稱
- 【4】編譯Android上位機
- 5.7 設備仿真調試
- 六、 ESP8266-WIFI模塊調試過程
-
- 6.1 接電腦USB口調試
- 6.2 ESP8266的STA+TCP客戶端配置
- 七、STM32代碼設計
-
- 7.1 硬件連線說明
- 7.2 硬件原理圖
- 7.3 硬件組裝過程
- 7.4 硬件實物圖
- 7.5 KEIL工程截圖
- 7.6 程序下載
- 7.7 程序正常運行效果
- 7.8 取模軟件的使用
- 7.9 WIFI模塊與服務器通信
- 7.10 硬件初始化
-
- (1)**JTAG接口設置**
- (2)**板載LED初始化**
- (3)**板載按鍵初始化**
- (4)**串口1初始化(打印用)**
- (5)**串口2初始化(與WIFI通信)**
- (6)**定時器2初始化**
- (7)**蜂鳴器初始化**
- (8) **環境溫濕度SHT30引腳初始化**
- (9)**LCD顯示屏初始化**
- (10)**ADC初始化(氣體和聲音檢測)**
- (11)**光敏傳感器初始化**
- (12)**硬件初始化(臺燈、加濕器、電風扇)**:
- (13)**關閉臺燈**
- (14)總結
- 7.11 WIFI模塊-初始化
-
- (1)**LCD顯示初始化和顯示WiFi初始化信息**
- (2)**ESP8266硬件初始化**
- (3)**連接WiFi熱點**
- (4)**連接WiFi熱點**
- (5)**WiFi連接成功后顯示成功信息**
- (6)**連接MQTT服務器**
- (7)**連接MQTT服務器**:
- (8)**MQTT服務器連接成功**
- (9)**訂閱MQTT主題**
- (10)**MQTT連接失敗處理**
- (11)總結
- 7.12 LCD界面顯示
- 7.13 數據顯示
-
- (1)第一頁 (`LCD_Page1`)
- (2)第二頁 (`LCD_Page2`)
- (3)數據顯示
- 7.15 按鍵代碼
-
- (1)代碼分析
- (2)總結
- 7.16 上位機命令處理
-
- (1)代碼分析
-
- 1. **接收數據標志**
- 2. **解析接收到的數據**
- 3. **處理請求并回應服務器**
- 4. **重置接收標志和計數**
- (2)總結
- 7.17 核心代碼
-
- (1)**按鍵控制**
- (2)**超聲波測距**
- (3)**人體感應**
- (4)**周期性采集數據**
- (5)**自動模式下的設備控制**
- (6)總結
- 八、使用STM32代碼的流程以及注意事項
-
- 8.1 第1步
- 8.2 第2步
- 8.3 第3步
- 九、代碼移植更改
-
- 【1】STM32代碼
- 【2】Qt上位機代碼
- 十、完整STM32的main.c代碼
- 任務書
-
- 一、項目基本信息
- 二、項目背景與研究意義
-
- 2.1 項目背景
- 2.2 研究意義
- 三、項目目標與要求
-
- 3.1 項目總體目標
- 3.2 項目功能要求
- 3.3 系統功能設計要求
- 四、技術路線
-
- 4.1 硬件設計
- 4.2 軟件設計
- 4.3 系統調試與測試
- 五、研究計劃與進度安排
- 六、項目預期成果
- 開題報告
-
- 一、課題背景
-
- 1.1 課題的背景與意義
- 1.2 課題的研究目標
- 1.3 課題的研究意義
- 二、研究內容與技術路線
-
- 2.1 研究內容
- 2.2 技術路線
- 三、研究方法與技術手段
- 四、預期成果與創新點
-
- 4.1 預期成果
- 4.2 創新點
- 五、項目計劃與進度安排
- 六、參考文獻
基于STM32設計的青少年學習監控系統(華為云IOT)
一、前言
1.1 項目介紹
【1】項目開發背景
隨著社會的不斷發展和教育水平的提高,青少年的學習環境逐漸受到人們的重視。良好的學習環境和正確的學習姿勢對青少年的健康成長具有重要意義。然而,在實際學習過程中,青少年容易受到不良環境因素的影響,例如光線不足、空氣質量不佳或濕度過低等。同時,不良的學習姿勢還可能導致視力下降或脊柱發育問題。因此,設計一套能夠實時監控學習環境和提醒坐姿的智能系統顯得尤為必要。
基于此,開發了一款基于STM32的青少年學習監控系統,通過多種傳感器實現學習環境的全面監控與調節,并輔以智能提醒功能來幫助學生改善學習習慣。該設備通過檢測溫濕度、環境光