基于STM32+NBIOT設計的宿舍安防控制系統_264

文章目錄

  • 1.1 項目介紹
      • 【1】開發背景
      • 【2】實現需求
      • 【3】項目硬件模塊組成
      • 【4】設計意義
      • 【5】國內外研究現狀
      • 【6】摘要
    • 1.2 系統總體設計
      • 【1】系統功能需求分析
      • 【2】系統總體方案設計
      • 【3】系統工作原理
    • 1.3 系統框架圖
    • 1.4 系統功能總結
    • 1.5 系統原理圖
    • 1.6 實物圖
    • 1.7 模塊的技術詳情介紹
      • 【1】NBIOT-BC26模塊
      • 【2】MQ2氣體傳感器
      • 【3】火焰檢測模塊
      • 【4】蜂鳴器模塊
      • 【5】人體感應傳感器
      • 【6】電磁鎖
      • 【7】MQTT協議
    • 1.8 參考文獻
  • 二、硬件選型
    • 2.1 STM32開發板+LCD顯示屏
    • 2.2 USB下載線
    • 2.3 電力信息采集
    • 2.4 PCB板
    • 2.5 BC26 NBIOT模塊
    • 2.6 母對母杜邦線
    • 2.7 電源擴展板
    • 2.8 MQ2煙霧傳感器
    • 2.9 火焰傳感器
    • 2.10 電磁鎖
    • 2.11 人體感應-熱釋電模塊
    • 2.12 穩壓模塊
    • 2.13 電源插頭
    • 2.14 蜂鳴器模塊
    • 2.15 繼電器
    • 2.16 電機馬達
    • 2.17 USB母頭)
  • 三、部署華為云物聯網平臺
    • 3.1 物聯網平臺介紹
    • 3.2 開通物聯網服務
    • 3.3 創建產品
      • (1)創建產品
      • (2)填寫產品信息
      • (3)產品創建成功
      • (4)添加自定義模型
          • 【1】創建服務ID
          • 【2】MQ2 煙霧檢測 浮點數類型
          • 【3】Flame 火焰檢測 Bool類型
          • 【4】Lock 門磁控制 Bool類型
          • 【5】voltage 電壓 浮點數類型
          • 【6】current 電流 浮點數類型
          • 【7】power 功率 浮點數類型
          • 【8】HumanBody_Flag 人體檢測
      • (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 修改設備屬性
  • 四、 NBIOT模塊調試過程
    • 4.1 模塊調試接線
    • 4.2 測試模塊
    • 4.3 上電初始化操作
    • 4.4 開啟GPS定位
    • 4.5 連接MQTT服務器
    • 4.6 完整的AT指令操作過程
    • 4.7 NBIOT模塊的流量如何查詢?
  • 五、Qt開發入門與環境搭建
    • 5.1 Qt是什么?
    • 5.2 Qt版本介紹
    • 5.3 Qt開發環境安裝
    • 5.4 開發第一個QT程序
    • 5.5 調試輸出
    • 5.6 QT Creator常用的快捷鍵
    • 5.7 QT幫助文檔
    • 5.8 UI設計師使用
    • 5.9 按鈕控件組
    • 5.10 布局控件組
    • 5.11 基本布局控件
    • 5.12 UI設計師的布局功能
  • 六、上位機開發
    • 6.1 Qt開發環境安裝
    • 6.2 新建上位機工程
    • 6.3 切換編譯器
    • 6.4 編譯測試功能
    • 6.5 設計UI界面與工程配置
      • 【1】打開UI文件
      • 【2】開始設計界面
    • 6.6 設計代碼
      • 【1】獲取token
      • 【2】獲取影子數據
      • 【3】解析數據更新界面
      • 【4】判斷設備是否離線
      • 【5】獲取設備最新數據上傳時間
    • 6.7 編譯Windows上位機
    • 6.8 配置Android環境
      • 【1】選擇Android編譯器
      • 【2】創建Android配置文件
      • 【3】配置Android圖標與名稱
      • 【3】編譯Android上位機
    • 6.9 模擬設備聯調(仿真)
  • 七、STM32代碼設計
    • 7.1 硬件連線說明
    • 7.2 硬件原理圖
    • 7.3 硬件組裝過程
    • 7.4 硬件實物圖
    • 7.5 KEIL工程
    • 7.6 程序下載
    • 7.7 程序正常運行效果
    • 7.8 取模軟件的使用
    • 7.9 NBIOT與服務器通信
    • 7.10 硬件初始化
    • 7.11 NBIOT-初始化
      • 代碼分析
      • 關鍵功能總結
    • 7.12 LCD界面顯示
    • 7.13 按鍵邏輯代碼
      • 代碼分析
      • 關鍵功能總結
      • 代碼特點
    • 7.14 數據采集與顯示
      • 代碼結構及邏輯分析
        • (1)輪詢計時器的處理
        • (2)人體感應檢測
        • (3)煙霧檢測
        • (4)火焰檢測
        • (5)報警控制
        • (6)獲取煙霧濃度數據
        • (7)電力數據采集
        • (8)顯示數據到LCD
        • (9)數據上傳到云端
      • 關鍵功能總結
    • 7.15 上位機下發命令處理
      • 代碼結構及邏輯分析
        • (1)檢查接收標志
        • (2)向串口 1 打印接收到的數據
        • (3) 解析命令并進行控制
        • (4)重置接收計數器和標志
      • 關鍵功能總結
    • 7.16 電流、功率超標切斷電源
  • 八、使用STM32代碼的流程以及注意事項
    • 8.1 第1步
    • 8.2 第2步
    • 8.3 第3步
  • 九、代碼移植更改
    • 【1】STM32代碼
    • 【2】Qt上位機代碼
  • 十、完整STM32的main.c代碼

基于STM32+NBIOT設計的宿舍安防控制系統

1.1 項目介紹

【1】開發背景

隨著社會的發展和技術的進步,人們對居住環境的安全性和智能化水平提出了更高的要求。特別是在校園宿舍這樣的集體生活環境里,由于人員密集且流動性大,傳統的安防措施已經難以滿足現代安全標準的需求。為了提高宿舍區的安全防范能力,減少安全隱患,本項目提出了一套基于STM32微控制器與NBIoT(窄帶物聯網)通信技術相結合的宿舍安防控制系統。

該系統的設計理念是將物聯網技術應用于日常生活中,通過集成多種傳感技術來實現對宿舍環境的全方位監控,并能夠及時響應各種異常情況,從而達到預防火災、防盜、節能等多重目的。例如,在發生火災初期,通過安裝于宿舍內的煙霧及火焰傳感器可以迅速感知火情并發出警報;同時,系統還能

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

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

相關文章

SLAM文獻之-Globally Consistent and Tightly Coupled 3D LiDAR Inertial Mapping

一、簡介 該論《Globally Consistent and Tightly Coupled 3D LiDAR Inertial Mapping》是日本先進工業科學技術研究所(AIST)的Koide等人于2022年在IEEE國際機器人與自動化會議(ICRA)上發表的一篇論文。該研究提出了一種基于全局…

【STM32】HAL庫中的實現(七):DMA(直接存儲器訪問)

DMA 是什么? DMA(Direct Memory Access)是 外設直接和內存之間數據搬運的機制,不需要 CPU 參與。 ? 舉個例子:傳統方式: ADC → CPU → RAM 使用 DMA:ADC → DMA → RAM(CPU 不需干…

【LeetCode熱題100道筆記+動畫】字母異位詞分組

題目描述 給你一個字符串數組,請你將 字母異位詞 組合在一起。可以按任意順序返回結果列表。 示例 1: 輸入: strs = [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”] 輸出: [[“bat”],[“nat”,“tan”],[“ate”,“eat”,“tea”]] 解釋: 在 strs 中沒有字符串可…

【Kafka】常見簡單八股總結

為什么使用消息隊列? 解耦: 我以我的一段開發經驗舉例: 【Kafka】登錄日志處理的三次階梯式優化實踐:從同步寫入到Kafka多分區批處理 我做過一個登錄日志邏輯,就是在登錄邏輯末尾,加一段寫進數據庫登錄日志…

微信小程序連接到阿里云物聯網平臺

目錄準備階段阿里云配置下載mqtt.min.js文件小程序實現注意小程序配置服務器域名概述:介紹使用微信小程序連接到阿里云平臺的快捷方法和完整過程。 阿里云平臺建立設備,提供mqtt連接參數,小程序借助mqtt.min.js,也就是基于Github下…

2-3〔O?S?C?P? ? 研記〕? 漏洞掃描?AppScan(WEB掃描)

鄭重聲明: 本文所有安全知識與技術,僅用于探討、研究及學習,嚴禁用于違反國家法律法規的非法活動。對于因不當使用相關內容造成的任何損失或法律責任,本人不承擔任何責任。 如需轉載,請注明出處且不得用于商業盈利。 …

LeetCode 刷題【47. 全排列 II】

47. 全排列 II 自己做 解1&#xff1a;檢查重復 class Solution { public:void circle(vector<int> nums, vector<vector<int>> &res,int start){int len nums.size();if(start len - 1){ //到頭了//檢查重復bool is_exist fa…

Https之(一)TLS介紹及握手過程詳解

文章目錄簡介 TLSTLS第一次握手1.Client HelloTLS第二次握手2.Server Hello3.Certificate4.Server Hello DoneTLS第三次握手5.Client Key Exchange6.Change Cipher Spec7.Encrypted Handshake MessageTLS第四次握手8.New Session Ticket9.Change Cipher Spec10.Encrypted Hands…

【WEB 】從零實現一個交互輪播圖(附源碼)

文章目錄 一、輪播圖整體功能規劃二、HTML結構深度解析三、CSS樣式實現細節1. 定位系統詳解2. 顯示/隱藏機制3. 按鈕交互效果實現4. 純CSS箭頭實現5. 指示器&#xff1a;當前位置可視化 四、JavaScript邏輯深入解析1. 核心變量與DOM獲取2. 圖片切換函數&#xff08;核心邏輯&am…

機器學習--PCA降維

一核心部分 1解決的問題&#xff1a;應對高維數據帶來的計算量大、冗余信息多、易出現過擬合等問題&#xff0c;在減少數據維度的同時盡可能保留原始數據的關鍵信息。2核心思想&#xff1a…

leetcode 1277. 統計全為 1 的正方形子矩陣 中等

給你一個 m * n 的矩陣&#xff0c;矩陣中的元素不是 0 就是 1&#xff0c;請你統計并返回其中完全由 1 組成的 正方形 子矩陣的個數。示例 1&#xff1a;輸入&#xff1a;matrix [[0,1,1,1],[1,1,1,1],[0,1,1,1] ] 輸出&#xff1a;15 解釋&#xff1a; 邊長為 1 的正方形有…

知識蒸餾 - 各類概率分布

知識蒸餾 - 各類概率分布 flyfish一、離散概率分布 離散分布描述的是取值為離散值&#xff08;如0,1,2,…&#xff09;的隨機變量的概率規律&#xff0c;通常用概率質量函數&#xff08;PMF&#xff09; 表示某一取值的概率。 1. 伯努利分布&#xff08;Bernoulli Distribution…

軟件測試-Selenium學習筆記

""" 目標&#xff1a; driver.find_element() 需求&#xff1a; 1. 使用driver.find_element()方法 2. 輸入用戶名&#xff1a;admin 3. 輸入密碼&#xff1a;123456 """ # 導包 from selenium import webdriver from time import …

知微傳感3D相機上位機DkamViewer使用:給相機升級固件

寫在前面 本人從事機器視覺細分的3D相機行業。編寫此系列文章主要目的有&#xff1a; 1、便利他人應用相機&#xff0c;本系列文章包含公司所出售相機的SDK的使用例程及詳細注釋&#xff1b;2、促進行業發展及交流。 知微傳感Dkam系列3D相機可以應用于定位分揀、焊接焊縫提取、…

CMake進階: CMake Modules---簡化CMake配置的利器

目錄 1.簡介 2.為什么需要 CMake Modules&#xff1f; 3.內置模塊&#xff1a;開箱即用的工具 3.1.依賴查找模塊&#xff08;FindXXX.cmake&#xff09; 3.2.功能檢測模塊&#xff08;CheckXXX.cmake&#xff09; 3.3.通用工具模塊&#xff08;如 FetchContent.cmake、CT…

【Docker】Ubuntu上安裝Docker(網絡版)

【Docker】Ubuntu上安裝Docker注意&#xff1a;一、環境準備1. 系統要求2. 卸載舊版本二、安裝步驟1.配置倉庫源2.安裝 Docker引擎3.驗證安裝情況三、解決報錯1、檢查網絡連接2、檢查Docker服務狀態3、換源4.重載生效、重啟服務、查看是否配置成功5.驗證解決情況四、權限與配置…

Socket 編程 TCP

TCP 網絡程序 和剛才 UDP 類似. 實現一個簡單的英譯漢的功能。TCP是面向字節流的可靠傳輸&#xff0c;如同前文的管道流&#xff0c;只要是流&#xff0c;它的操作就是文件的寫出與讀入。TCP socket API 詳解下面介紹程序中用到的 socket API,這些函數都在 sys/socket.h 中。so…

使用AWS S3 + Lambda + MediaConvert 實現上傳視頻文件并自動轉碼

前言 最近團隊在做短視頻平臺的技術調研&#xff0c;其中有一個環節便是音視頻開發&#xff0c;即對用戶上傳的視頻進行自適應轉碼。自適應的原理其實就是預先將視頻轉換為幾個常用的分辨率&#xff0c;app端根據用戶手機分辨率拉取相應分辨率的視頻。 目前嘗試了兩種方案&…

QT之QWaitCondition降低cpu占用率,從忙等待到高效同步

在多線程編程中&#xff0c;線程間的同步是一個核心問題。在處理線程等待時&#xff0c;經常會寫出高CPU占用率的代碼&#xff0c;其中最典型的就是使用忙等待&#xff08;busy waiting&#xff09;。本文將詳細介紹如何使用Qt框架中的QWaitCondition類來優雅地解決這一問題&am…

pcl求平面點云的邊界凸包點

基本流程1&#xff0c;讀入點云&#xff0c;并去除無效點2&#xff0c;擬合平面3&#xff0c;去除離平面距離較遠的點4&#xff0c;對點云進行平面投影5&#xff0c;進行convex_hull運算初學者&#xff0c;暫時不知道能用來干嘛。練手還是非常不錯的&#xff01;#define _CRT_S…