吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于STM32設(shè)計(jì)的宿舍安防控制系統(tǒng)

DS小龍哥-嵌入式技術(shù) ? 來(lái)源:DS小龍哥-嵌入式技術(shù) ? 作者:DS小龍哥-嵌入式技 ? 2025-01-09 11:28 ? 次閱讀

1.1 項(xiàng)目介紹

【1】開(kāi)發(fā)背景

隨著社會(huì)的發(fā)展和技術(shù)的進(jìn)步,人們對(duì)居住環(huán)境的安全性和智能化水平提出了更高的要求。特別是在校園宿舍這樣的集體生活環(huán)境里,由于人員密集且流動(dòng)性大,傳統(tǒng)的安防措施已經(jīng)難以滿(mǎn)足現(xiàn)代安全標(biāo)準(zhǔn)的需求。為了提高宿舍區(qū)的安全防范能力,減少安全隱患,本項(xiàng)目提出了一套基于STM32微控制器與NBIoT(窄帶物聯(lián)網(wǎng)通信技術(shù)相結(jié)合的宿舍安防控制系統(tǒng)。

該系統(tǒng)的設(shè)計(jì)理念是將物聯(lián)網(wǎng)技術(shù)應(yīng)用于日常生活中,通過(guò)集成多種傳感技術(shù)來(lái)實(shí)現(xiàn)對(duì)宿舍環(huán)境的全方位監(jiān)控,并能夠及時(shí)響應(yīng)各種異常情況,從而達(dá)到預(yù)防火災(zāi)、防盜、節(jié)能等多重目的。例如,在發(fā)生火災(zāi)初期,通過(guò)安裝于宿舍內(nèi)的煙霧及火焰傳感器可以迅速感知火情并發(fā)出警報(bào);同時(shí),系統(tǒng)還能監(jiān)測(cè)用電安全,當(dāng)檢測(cè)到線(xiàn)路過(guò)載或短路等危險(xiǎn)狀況時(shí),自動(dòng)切斷電源以避免事故進(jìn)一步擴(kuò)大。此外,考慮到實(shí)際使用中的便利性,該系統(tǒng)還具備了遠(yuǎn)程操控功能,允許用戶(hù)通過(guò)智能手機(jī)應(yīng)用程序或是PC端管理軟件隨時(shí)隨地掌握家中狀態(tài),并執(zhí)行如開(kāi)啟門(mén)鎖等操作。

選擇STM32作為主控芯片是因?yàn)樗哂袕?qiáng)大的處理能力和豐富的外設(shè)資源,非常適合用來(lái)構(gòu)建復(fù)雜而高效的嵌入式系統(tǒng)。搭配N(xiāo)BIoT模塊,則保證了即使在網(wǎng)絡(luò)信號(hào)較差的情況下也能保持穩(wěn)定可靠的無(wú)線(xiàn)連接,這對(duì)于確保重要信息能夠及時(shí)準(zhǔn)確地傳輸至云端至關(guān)重要。與此同時(shí),利用華為云提供的物聯(lián)網(wǎng)平臺(tái)服務(wù),不僅簡(jiǎn)化了后端架構(gòu)的設(shè)計(jì)工作量,而且為用戶(hù)提供了一個(gè)直觀(guān)易用的數(shù)據(jù)展示界面以及靈活多樣的交互方式。

本項(xiàng)目結(jié)合先進(jìn)的嵌入式技術(shù)和物聯(lián)網(wǎng)概念,打造一套集成了環(huán)境監(jiān)測(cè)、安全防護(hù)以及智能家居控制于一體的綜合性解決方案,旨在為用戶(hù)提供更加安心舒適的生活體驗(yàn)。通過(guò)這樣一個(gè)智能化的安全管理系統(tǒng),不僅可以有效提升宿舍區(qū)域的整體安全性,同時(shí)也促進(jìn)了節(jié)能減排目標(biāo)的實(shí)現(xiàn),對(duì)于推動(dòng)智慧城市建設(shè)具有積極意義。

image-20241108113301727

框架圖:

image-20241108103823707

原理圖:

image-20241108112409021

【2】實(shí)現(xiàn)需求

當(dāng)前項(xiàng)目使用的相關(guān)軟件工具已經(jīng)上傳到網(wǎng)盤(pán):
https://ccnr8sukk85n.feishu.cn/wiki/QjY8weDYHibqRYkFP2qcA9aGnvb?from=from_copylink

為了明確本項(xiàng)目的具體實(shí)現(xiàn)需求,以下按照功能模塊詳細(xì)列出各項(xiàng)需求:

(1) 火焰檢測(cè)與報(bào)警

  • 配備火焰檢測(cè)傳感器,能夠快速響應(yīng)火焰存在。
  • 當(dāng)檢測(cè)到火焰時(shí),系統(tǒng)應(yīng)立即啟動(dòng)蜂鳴器報(bào)警,同時(shí)將警報(bào)信息通過(guò)NBIoT模塊發(fā)送到云端。
  • 在本地LCD顯示屏上顯示火焰警告信息。

(2) 煙霧檢測(cè)與報(bào)警

  • 使用MQ2煙霧傳感器,實(shí)時(shí)監(jiān)測(cè)環(huán)境中的煙霧濃度。
  • 如果煙霧濃度超過(guò)預(yù)設(shè)閾值,觸發(fā)蜂鳴器報(bào)警,并將警報(bào)信息上傳至云端。
  • LCD顯示屏同步更新顯示煙霧警告信息。

(3) 門(mén)磁控制

  • 實(shí)現(xiàn)本地按鍵開(kāi)門(mén)功能(內(nèi)部開(kāi)門(mén)的按鈕),按下指定按鍵后,通過(guò)STM32控制電磁鎖開(kāi)啟。
  • 開(kāi)發(fā)手機(jī)APP和Windows電腦上位機(jī)軟件,支持用戶(hù)遠(yuǎn)程發(fā)送開(kāi)門(mén)指令。

(4) 人體感應(yīng)

  • 安裝紅外熱釋電人體檢測(cè)傳感器,用于探測(cè)宿舍內(nèi)是否有人。
  • 傳感器數(shù)據(jù)用于輔助判斷是否需要保持照明或其他設(shè)備的工作狀態(tài)。
  • 檢測(cè)結(jié)果同樣上傳至云端,并可在LCD顯示屏上查看。

(5) 電力監(jiān)測(cè)與保護(hù)

  • 通過(guò)電力參數(shù)采集模塊持續(xù)監(jiān)測(cè)宿舍內(nèi)的電壓、電流、功率等電氣參數(shù)。
  • 設(shè)定合理的電流和功率閾值,當(dāng)超過(guò)這些閾值時(shí),系統(tǒng)應(yīng)自動(dòng)切斷電源,并觸發(fā)蜂鳴器報(bào)警。
  • 監(jiān)測(cè)數(shù)據(jù)定期上傳至云端,并在LCD顯示屏上顯示。

(6) 數(shù)據(jù)上云

  • 采用NBIoT模塊和MQTT協(xié)議將采集到的所有數(shù)據(jù)上傳到華為云物聯(lián)網(wǎng)平臺(tái)。
  • 確保數(shù)據(jù)傳輸?shù)陌踩院涂煽啃裕瑫r(shí)保證低功耗運(yùn)行。
  • 提供API接口,便于Android手機(jī)APP和Windows上位機(jī)獲取云端數(shù)據(jù)。

(7) 本地?cái)?shù)據(jù)顯示

  • 利用1.44寸LCD顯示屏,實(shí)時(shí)顯示當(dāng)前的環(huán)境狀態(tài),包括但不限于煙霧濃度、火焰檢測(cè)狀態(tài)、電力參數(shù)等。

(8) 用戶(hù)界面

  • 開(kāi)發(fā)基于Qt框架的Android手機(jī)APP和Windows上位機(jī)軟件,界面友好且易于操作。
  • 用戶(hù)界面需包含數(shù)據(jù)展示、遠(yuǎn)程控制、歷史記錄查詢(xún)等功能。
  • 確保用戶(hù)界面能夠適應(yīng)不同尺寸的屏幕,并提供良好的用戶(hù)體驗(yàn)。

【3】項(xiàng)目硬件模塊組成

本項(xiàng)目的硬件模塊組成如下,每個(gè)模塊都根據(jù)其特定的功能進(jìn)行了詳細(xì)的描述:

(1) 主控芯片 - STM32F103RCT6 :作為整個(gè)系統(tǒng)的核心,STM32F103RCT6負(fù)責(zé)處理來(lái)自各個(gè)傳感器的數(shù)據(jù)輸入、執(zhí)行邏輯運(yùn)算以及控制輸出設(shè)備。它擁有豐富的外設(shè)接口,能夠滿(mǎn)足與多種傳感器及執(zhí)行器的連接需求。

(2) 煙霧檢測(cè) - MQ2傳感器 :MQ2是一種常用的氣體傳感器,特別適用于檢測(cè)液化氣、丁烷、丙烷、甲烷、酒精、氫氣、煙霧等可燃?xì)怏w。在本項(xiàng)目中,它被用來(lái)監(jiān)測(cè)宿舍環(huán)境中是否存在異常煙霧,一旦檢測(cè)到煙霧濃度超標(biāo),即刻向主控發(fā)送信號(hào)。

(3) 電力參數(shù)采集模塊 :通過(guò)RS485UART接口與STM32相連,此模塊能夠精確測(cè)量宿舍內(nèi)電路的電壓、電流、功率等參數(shù)。這些數(shù)據(jù)不僅用于顯示,也用于判斷是否存在過(guò)載或其他潛在的電氣風(fēng)險(xiǎn)。

(4) LCD顯示屏 - 1.44寸LCD :作為人機(jī)交互的重要組成部分,這款小型彩色LCD屏幕用于展示實(shí)時(shí)監(jiān)測(cè)的各項(xiàng)數(shù)據(jù),如溫度、濕度、煙霧濃度以及電力使用情況等信息,使用戶(hù)能夠直觀(guān)了解當(dāng)前狀態(tài)。

(5) 蜂鳴器 - 高電平觸發(fā)的有源蜂鳴器 :當(dāng)系統(tǒng)檢測(cè)到火災(zāi)、煙霧或其他緊急情況時(shí),STM32將控制蜂鳴器發(fā)聲,起到警示作用。蜂鳴器直接由STM32的GPIO引腳驅(qū)動(dòng)。

(6) NBIoT模塊 - BC26 :作為物聯(lián)網(wǎng)通信的關(guān)鍵部件,BC26模塊使得系統(tǒng)能夠通過(guò)移動(dòng)運(yùn)營(yíng)商網(wǎng)絡(luò)將采集到的數(shù)據(jù)上傳至云端服務(wù)器。它支持低功耗廣域網(wǎng)(LPWAN)技術(shù),非常適合于遠(yuǎn)程監(jiān)控應(yīng)用。

(7) 火焰檢測(cè)傳感器 :專(zhuān)門(mén)設(shè)計(jì)用于探測(cè)火焰的存在,通常基于紅外光譜特性工作。當(dāng)檢測(cè)到火焰時(shí),傳感器會(huì)向STM32發(fā)送信號(hào),觸發(fā)警報(bào)流程。

(8) 人體感應(yīng) - 紅外熱釋電傳感器 :這種類(lèi)型的傳感器可以感知人體散發(fā)出的熱量變化,用于判斷房間內(nèi)是否有人。它對(duì)于提高系統(tǒng)的智能化程度,比如自動(dòng)調(diào)整照明亮度或空調(diào)溫度非常有用。

(9) 電磁鎖 - :作為門(mén)禁系統(tǒng)的一部分,電磁鎖由STM32控制,可通過(guò)本地按鍵、手機(jī)APP或電腦遠(yuǎn)程解鎖。它提供了物理層面的安全保障,確保只有授權(quán)人員才能進(jìn)入宿舍。

(10) 穩(wěn)壓電源 - 12V 2A :為保證整個(gè)系統(tǒng)穩(wěn)定運(yùn)行,選用一款輸出穩(wěn)定的直流電源適配器,為所有電子組件提供必要的電力支持。考慮到系統(tǒng)的總功耗,2安培的額定輸出足夠應(yīng)對(duì)大多數(shù)應(yīng)用場(chǎng)景。

【4】設(shè)計(jì)意義

本項(xiàng)目設(shè)計(jì)的意義在于通過(guò)集成多種先進(jìn)技術(shù)和智能設(shè)備,構(gòu)建一個(gè)高效、可靠且用戶(hù)友好的宿舍安防控制系統(tǒng),從而顯著提升宿舍環(huán)境的安全性和居住質(zhì)量。隨著城市化進(jìn)程的加快和學(xué)生群體的不斷增長(zhǎng),校園宿舍的安全問(wèn)題日益受到重視。傳統(tǒng)的安防措施往往依賴(lài)于人工巡檢和簡(jiǎn)單的報(bào)警系統(tǒng),無(wú)法實(shí)現(xiàn)全天候、全方位的監(jiān)控,且響應(yīng)速度慢,難以及時(shí)有效地處理突發(fā)事件。因此,開(kāi)發(fā)一套基于現(xiàn)代物聯(lián)網(wǎng)技術(shù)的宿舍安防控制系統(tǒng)顯得尤為重要。

系統(tǒng)通過(guò)引入火焰檢測(cè)、煙霧檢測(cè)以及人體感應(yīng)等多種傳感器,能夠?qū)崟r(shí)監(jiān)測(cè)宿舍內(nèi)外的各種潛在威脅。一旦發(fā)現(xiàn)火災(zāi)或其他緊急情況,系統(tǒng)能夠立即作出反應(yīng),通過(guò)蜂鳴器發(fā)出警報(bào),并將警報(bào)信息上傳至云端,確保管理人員第一時(shí)間得到通知并采取相應(yīng)措施。這種即時(shí)響應(yīng)機(jī)制大大減少了災(zāi)害發(fā)生的可能性及其帶來(lái)的損失。

門(mén)磁控制系統(tǒng)結(jié)合了本地按鍵開(kāi)門(mén)與遠(yuǎn)程控制兩種方式,不僅增強(qiáng)了宿舍入口的安全性,還提供了極大的便利性。用戶(hù)可以通過(guò)智能手機(jī)應(yīng)用程序或PC端軟件隨時(shí)隨地進(jìn)行訪(fǎng)問(wèn)控制,無(wú)論是忘記帶鑰匙還是需要臨時(shí)授權(quán)他人進(jìn)入,都能夠輕松解決。這種方式不僅提高了效率,也增加了靈活性,讓宿舍管理變得更加現(xiàn)代化。

電力參數(shù)監(jiān)測(cè)功能的加入,使得系統(tǒng)能夠持續(xù)跟蹤宿舍內(nèi)的用電狀況。通過(guò)對(duì)電壓、電流、功率等關(guān)鍵指標(biāo)的監(jiān)控,系統(tǒng)能夠在檢測(cè)到異常情況時(shí)及時(shí)切斷電源,防止電氣火災(zāi)的發(fā)生。這不僅保障了學(xué)生的生命財(cái)產(chǎn)安全,也有助于促進(jìn)節(jié)能減排,符合可持續(xù)發(fā)展的理念。

數(shù)據(jù)上云是本項(xiàng)目另一個(gè)重要的特點(diǎn)。通過(guò)NBIoT模塊將采集的數(shù)據(jù)上傳至華為云物聯(lián)網(wǎng)平臺(tái),不僅實(shí)現(xiàn)了數(shù)據(jù)的集中管理和分析,也為用戶(hù)提供了一個(gè)便捷的遠(yuǎn)程查看和控制平臺(tái)。用戶(hù)可以在任何地方通過(guò)手機(jī)或電腦訪(fǎng)問(wèn)系統(tǒng),查看最新的監(jiān)測(cè)數(shù)據(jù),并進(jìn)行相應(yīng)的操作。這種透明化的管理模式,既增強(qiáng)了用戶(hù)的參與感,也提升了整體管理效率。

通過(guò)本地LCD顯示屏的實(shí)時(shí)數(shù)據(jù)顯示,以及基于Qt開(kāi)發(fā)的用戶(hù)界面,系統(tǒng)提供了直觀(guān)的操作體驗(yàn)。用戶(hù)可以輕松獲取所需信息,并進(jìn)行簡(jiǎn)單有效的交互。這樣的人機(jī)交互設(shè)計(jì)考慮到了用戶(hù)的實(shí)際需求,使得高科技產(chǎn)品變得更加親民易用。

綜上所述,本項(xiàng)目不僅在技術(shù)層面上實(shí)現(xiàn)了對(duì)宿舍環(huán)境的全面監(jiān)測(cè)與智能控制,更是在實(shí)際應(yīng)用中為學(xué)生創(chuàng)造了一個(gè)更加安全、便捷和舒適的居住環(huán)境。它代表了未來(lái)智能家居的一個(gè)發(fā)展方向,對(duì)于推動(dòng)校園安全管理現(xiàn)代化、提升學(xué)生生活質(zhì)量具有重要意義。

【5】國(guó)內(nèi)外研究現(xiàn)狀

在中國(guó),隨著智慧校園和智慧城市概念的推廣,宿舍安防控制系統(tǒng)的研究與應(yīng)用逐漸增多。北京航空航天大學(xué)曾推出了一款基于物聯(lián)網(wǎng)技術(shù)的宿舍安全管理系統(tǒng),該系統(tǒng)不僅能夠監(jiān)測(cè)宿舍內(nèi)的溫濕度、煙霧、一氧化碳等環(huán)境參數(shù),還可以通過(guò)智能門(mén)鎖實(shí)現(xiàn)對(duì)進(jìn)出人員的身份驗(yàn)證。這套系統(tǒng)通過(guò)集成攝像頭和人臉識(shí)別技術(shù),進(jìn)一步增強(qiáng)了宿舍的安全性。此外,該系統(tǒng)還支持通過(guò)手機(jī)APP遠(yuǎn)程控制門(mén)鎖、查看宿舍內(nèi)環(huán)境數(shù)據(jù)以及接收警報(bào)信息,極大地方便了學(xué)生的生活。北京航空航天大學(xué)的這項(xiàng)研究展示了物聯(lián)網(wǎng)技術(shù)在提升宿舍安全性方面的巨大潛力。

在國(guó)外,類(lèi)似的智能安防解決方案也在不斷發(fā)展。美國(guó)的一些高校,如麻省理工學(xué)院(MIT),已經(jīng)在宿舍中應(yīng)用了先進(jìn)的安防技術(shù)。MIT的宿舍區(qū)采用了多種智能傳感器和監(jiān)控設(shè)備,如運(yùn)動(dòng)探測(cè)器、門(mén)窗傳感器以及智能煙霧報(bào)警器。這些設(shè)備通過(guò)無(wú)線(xiàn)網(wǎng)絡(luò)連接到中央管理系統(tǒng),一旦檢測(cè)到異常情況,系統(tǒng)會(huì)自動(dòng)向相關(guān)人員發(fā)送警報(bào)。此外,MIT還開(kāi)發(fā)了一款名為“SafeWalk”的應(yīng)用程序,允許學(xué)生在夜間步行回宿舍時(shí)請(qǐng)求護(hù)送服務(wù),進(jìn)一步提高了校園的安全水平。

歐洲方面,德國(guó)的亞琛工業(yè)大學(xué)(RWTH Aachen University)實(shí)施了一個(gè)名為“Smart Campus”的項(xiàng)目,其中包含了宿舍安防系統(tǒng)的改進(jìn)。該項(xiàng)目利用了LoRaWAN(低功耗廣域網(wǎng)絡(luò))技術(shù)來(lái)連接分布在宿舍區(qū)的各種傳感器,包括門(mén)窗傳感器、水浸傳感器以及溫度濕度傳感器等。通過(guò)這些傳感器收集的數(shù)據(jù),系統(tǒng)能夠?qū)崟r(shí)監(jiān)測(cè)宿舍的安全狀況,并通過(guò)手機(jī)應(yīng)用程序向住戶(hù)發(fā)送警報(bào)。此外,亞琛工業(yè)大學(xué)還在研究如何利用機(jī)器學(xué)習(xí)算法來(lái)優(yōu)化警報(bào)系統(tǒng)的性能,減少誤報(bào)率,提高準(zhǔn)確性。

新加坡國(guó)立大學(xué)(NUS)也致力于通過(guò)技術(shù)創(chuàng)新來(lái)提高宿舍區(qū)的安全性。該校部署了一套結(jié)合了視頻監(jiān)控、面部識(shí)別技術(shù)和物聯(lián)網(wǎng)傳感器的綜合安防系統(tǒng)。這套系統(tǒng)不僅可以監(jiān)控宿舍區(qū)內(nèi)的異常活動(dòng),還能通過(guò)面部識(shí)別技術(shù)來(lái)識(shí)別進(jìn)出宿舍的人員身份,從而確保只有授權(quán)的人員才能進(jìn)入宿舍。同時(shí),NUS還利用大數(shù)據(jù)分析來(lái)優(yōu)化宿舍區(qū)的安全管理策略,通過(guò)對(duì)大量數(shù)據(jù)的分析,識(shí)別潛在的安全隱患,并提前采取預(yù)防措施。

這些國(guó)內(nèi)外的實(shí)際案例表明,宿舍安防控制系統(tǒng)的研究正處于快速發(fā)展階段,新技術(shù)的應(yīng)用不僅提高了宿舍的安全水平,也大大提升了居住者的舒適度和便利性。隨著技術(shù)的不斷進(jìn)步,未來(lái)的宿舍安防系統(tǒng)將更加智能化、個(gè)性化,更好地服務(wù)于校園生活。

【6】摘要

本項(xiàng)目設(shè)計(jì)了一個(gè)基于STM32微控制器和NB-IoT通信技術(shù)的宿舍安防控制系統(tǒng)。系統(tǒng)集成了多種安防功能,包括火焰檢測(cè)、煙霧檢測(cè)、門(mén)磁控制、人體感應(yīng)、電氣監(jiān)測(cè)等。火焰和煙霧檢測(cè)通過(guò)相應(yīng)的傳感器實(shí)現(xiàn),一旦檢測(cè)到異常,系統(tǒng)會(huì)觸發(fā)蜂鳴器報(bào)警以提醒用戶(hù)。門(mén)磁控制功能允許用戶(hù)通過(guò)本地按鍵、手機(jī)APP和Windows電腦上位機(jī)遠(yuǎn)程控制門(mén)鎖的開(kāi)啟與關(guān)閉。人體感應(yīng)功能可檢測(cè)宿舍內(nèi)是否有人員存在,用于防止盜竊或異常情況發(fā)生。

系統(tǒng)還具有電氣監(jiān)測(cè)功能,能夠?qū)崟r(shí)監(jiān)測(cè)直流電與單相交流電的電壓、電流與功率,并在電流或功率超出設(shè)定閾值時(shí),通過(guò)蜂鳴器報(bào)警并自動(dòng)切斷電源,確保用電安全。所有采集的數(shù)據(jù)通過(guò)NB-IoT模塊和MQTT協(xié)議上傳至華為云物聯(lián)網(wǎng)平臺(tái),用戶(hù)可通過(guò)Android手機(jī)APP遠(yuǎn)程查看數(shù)據(jù)和控制設(shè)備。數(shù)據(jù)的本地顯示則通過(guò)1.44寸LCD屏完成,方便用戶(hù)實(shí)時(shí)獲取各項(xiàng)監(jiān)測(cè)信息。

本系統(tǒng)不僅具備本地和遠(yuǎn)程控制功能,還通過(guò)云平臺(tái)實(shí)現(xiàn)了數(shù)據(jù)的實(shí)時(shí)監(jiān)控和報(bào)警功能,增強(qiáng)了宿舍的安全性。該系統(tǒng)采用STM32F103RCT6作為主控芯片,結(jié)合MQ2、火焰檢測(cè)、人體感應(yīng)等傳感器,具有較高的集成度和實(shí)用性。

關(guān)鍵字

STM32, NB-IoT, 宿舍安防, 火焰檢測(cè), 煙霧檢測(cè), 門(mén)磁控制, 人體感應(yīng), 電氣監(jiān)測(cè), 數(shù)據(jù)上云, MQTT, 華為云物聯(lián)網(wǎng), LCD顯示, 無(wú)線(xiàn)通信, 遠(yuǎn)程控制, 安全報(bào)警

1.2 系統(tǒng)總體設(shè)計(jì)

【1】系統(tǒng)功能需求分析

系統(tǒng)功能需求分析是項(xiàng)目規(guī)劃階段的重要組成部分,它明確了系統(tǒng)需要實(shí)現(xiàn)的具體功能,確保開(kāi)發(fā)能夠準(zhǔn)確理解并滿(mǎn)足用戶(hù)的需求。對(duì)于基于STM32和NBIoT設(shè)計(jì)的宿舍安防控制系統(tǒng),以下是對(duì)其功能需求的詳細(xì)分析:

系統(tǒng)需配備高靈敏度的火焰檢測(cè)傳感器和煙霧傳感器,如MQ-2煙霧傳感器。這些傳感器應(yīng)能夠連續(xù)監(jiān)測(cè)宿舍環(huán)境,一旦檢測(cè)到火焰或異常煙霧濃度,系統(tǒng)應(yīng)當(dāng)立即觸發(fā)蜂鳴器發(fā)出警報(bào),并通過(guò)NBIoT模塊將警報(bào)信息發(fā)送到云端。同時(shí),警報(bào)信息也應(yīng)在本地LCD顯示屏上顯示,以便宿舍內(nèi)人員能夠迅速察覺(jué)并采取行動(dòng)。火焰與煙霧檢測(cè)是宿舍安防的基礎(chǔ),對(duì)于早期發(fā)現(xiàn)火災(zāi)隱患至關(guān)重要。

系統(tǒng)需要支持多種方式的門(mén)鎖控制,包括本地按鍵開(kāi)門(mén)、手機(jī)APP遠(yuǎn)程開(kāi)門(mén)以及通過(guò)Windows電腦上的上位機(jī)軟件遠(yuǎn)程控制。本地按鍵開(kāi)門(mén)適用于日常出入,而遠(yuǎn)程開(kāi)門(mén)則為特殊情況下的應(yīng)急處理提供了便利。電磁鎖應(yīng)由STM32控制,確保只有授權(quán)用戶(hù)才能通過(guò)合法途徑進(jìn)入宿舍。此外,每次開(kāi)門(mén)動(dòng)作都應(yīng)記錄下來(lái)并通過(guò)NBIoT模塊上傳至云端,以備后續(xù)審查和審計(jì)之用。

系統(tǒng)需集成紅外熱釋電人體感應(yīng)傳感器,用于檢測(cè)宿舍內(nèi)是否有人。當(dāng)檢測(cè)到有人時(shí),系統(tǒng)可以自動(dòng)調(diào)節(jié)照明和其他電器設(shè)備的狀態(tài),以節(jié)約能源。此外,人體感應(yīng)數(shù)據(jù)也可用于輔助判斷宿舍內(nèi)的安全狀態(tài),如在無(wú)人狀態(tài)下檢測(cè)到異常移動(dòng),系統(tǒng)應(yīng)立即發(fā)出警報(bào)并通知相關(guān)人員。人體感應(yīng)功能不僅提高了系統(tǒng)的智能化程度,也增強(qiáng)了安全性。

系統(tǒng)應(yīng)配置電力參數(shù)采集模塊,實(shí)時(shí)監(jiān)測(cè)宿舍內(nèi)的電壓、電流、功率等電氣參數(shù)。系統(tǒng)需設(shè)定合理的電流和功率閾值,一旦超過(guò)這些閾值,系統(tǒng)應(yīng)自動(dòng)切斷電源,以防止電氣故障導(dǎo)致的火災(zāi)或其他安全事故。同時(shí),電力監(jiān)測(cè)數(shù)據(jù)應(yīng)通過(guò)LCD顯示屏實(shí)時(shí)顯示,并通過(guò)NBIoT模塊定期上傳至云端,以便管理者進(jìn)行數(shù)據(jù)分析和趨勢(shì)預(yù)測(cè)。

通過(guò)NBIoT模塊和MQTT協(xié)議,系統(tǒng)需將所有收集到的數(shù)據(jù)上傳至華為云物聯(lián)網(wǎng)平臺(tái)。這包括火焰和煙霧警報(bào)、門(mén)鎖操作記錄、人體感應(yīng)數(shù)據(jù)以及電力參數(shù)等。數(shù)據(jù)上云后,可以通過(guò)Android手機(jī)APP和Windows電腦上的上位機(jī)軟件進(jìn)行遠(yuǎn)程查看。用戶(hù)可以隨時(shí)隨地監(jiān)控宿舍的安全狀況,并進(jìn)行遠(yuǎn)程控制,如遠(yuǎn)程開(kāi)門(mén)等。云端數(shù)據(jù)存儲(chǔ)還便于進(jìn)行長(zhǎng)期的數(shù)據(jù)分析和管理。

系統(tǒng)應(yīng)配備1.44寸LCD顯示屏,用于顯示實(shí)時(shí)的環(huán)境監(jiān)測(cè)數(shù)據(jù)和系統(tǒng)狀態(tài)。顯示屏應(yīng)清晰易讀,能夠顯示火焰檢測(cè)狀態(tài)、煙霧濃度、電力參數(shù)等關(guān)鍵信息。此外,顯示屏還應(yīng)顯示基本的操作指南和當(dāng)前設(shè)置狀態(tài),以方便用戶(hù)理解和操作。

系統(tǒng)設(shè)計(jì)需充分考慮穩(wěn)定性和安全性。硬件方面,應(yīng)選用可靠耐用的組件,并確保電源穩(wěn)定。軟件方面,程序應(yīng)具備良好的錯(cuò)誤處理機(jī)制和數(shù)據(jù)加密功能,以保護(hù)用戶(hù)隱私和系統(tǒng)安全。系統(tǒng)還應(yīng)支持掉電恢復(fù)功能,確保在電力中斷后能夠恢復(fù)正常工作。

通過(guò)上述功能需求的實(shí)現(xiàn),該宿舍安防控制系統(tǒng)將能夠提供全面的安全防護(hù),同時(shí)為用戶(hù)提供便捷的遠(yuǎn)程控制體驗(yàn)。系統(tǒng)不僅提升了宿舍的安全性,還促進(jìn)了能源的有效利用,體現(xiàn)了智能化管理的優(yōu)勢(shì)。

【2】系統(tǒng)總體方案設(shè)計(jì)

系統(tǒng)總體方案設(shè)計(jì)基于STM32微控制器和NBIoT通信技術(shù),旨在創(chuàng)建一個(gè)高度集成、智能化的宿舍安防控制系統(tǒng)。該系統(tǒng)集成了火焰檢測(cè)、煙霧檢測(cè)、門(mén)磁控制、人體感應(yīng)、電力監(jiān)測(cè)與保護(hù)以及數(shù)據(jù)上云等多項(xiàng)功能,確保宿舍環(huán)境的安全性、便捷性和智能化管理。核心組件包括STM32F103RCT6微控制器、MQ2煙霧傳感器、火焰檢測(cè)傳感器、紅外熱釋電人體感應(yīng)傳感器、電力參數(shù)采集模塊、蜂鳴器、NBIoT模塊BC26、5V電磁鎖、1.44寸LCD顯示屏以及一個(gè)5V 2A的穩(wěn)壓電源。

系統(tǒng)架構(gòu)分為三個(gè)主要部分:數(shù)據(jù)采集與處理、本地控制與顯示、遠(yuǎn)程監(jiān)控與管理。在數(shù)據(jù)采集與處理部分,STM32F103RCT6微控制器作為系統(tǒng)的大腦,負(fù)責(zé)接收來(lái)自各類(lèi)傳感器的數(shù)據(jù),并進(jìn)行初步處理。火焰檢測(cè)傳感器和煙霧傳感器分別用于監(jiān)測(cè)火焰和煙霧,一旦檢測(cè)到異常,立即觸發(fā)蜂鳴器報(bào)警,并通過(guò)NBIoT模塊將警報(bào)信息上傳至云端。電力參數(shù)采集模塊通過(guò)串口與STM32通信,實(shí)時(shí)監(jiān)測(cè)宿舍內(nèi)的電壓、電流、功率等參數(shù),若超出預(yù)設(shè)的安全閾值,系統(tǒng)將自動(dòng)切斷電源并發(fā)出警報(bào)。此外,紅外熱釋電人體感應(yīng)傳感器用于檢測(cè)宿舍內(nèi)是否有人存在,輔助判斷安全狀況并優(yōu)化能源使用。

在本地控制與顯示方面,系統(tǒng)通過(guò)1.44寸LCD顯示屏實(shí)時(shí)顯示各類(lèi)傳感器的監(jiān)測(cè)數(shù)據(jù)及系統(tǒng)狀態(tài)。用戶(hù)可以通過(guò)本地按鍵控制門(mén)鎖開(kāi)啟,同時(shí),LCD顯示屏還提供了系統(tǒng)操作指南和當(dāng)前設(shè)置狀態(tài),增強(qiáng)了用戶(hù)的交互體驗(yàn)。蜂鳴器作為報(bào)警裝置,會(huì)在檢測(cè)到異常情況時(shí)發(fā)出聲音警報(bào),確保及時(shí)引起注意。門(mén)鎖采用5V電磁鎖,支持本地按鍵、手機(jī)APP以及Windows上位機(jī)軟件遠(yuǎn)程控制,確保了宿舍入口的安全性和便利性。

遠(yuǎn)程監(jiān)控與管理部分是通過(guò)NBIoT模塊BC26實(shí)現(xiàn)的。該模塊利用NB-IoT網(wǎng)絡(luò)將采集到的數(shù)據(jù)上傳至華為云物聯(lián)網(wǎng)平臺(tái),實(shí)現(xiàn)了數(shù)據(jù)的遠(yuǎn)程存儲(chǔ)和管理。借助于華為云提供的服務(wù),用戶(hù)可以通過(guò)Android手機(jī)APP或Windows電腦上的上位機(jī)軟件隨時(shí)查看宿舍的實(shí)時(shí)狀態(tài),并執(zhí)行遠(yuǎn)程控制命令,如遠(yuǎn)程開(kāi)門(mén)等。數(shù)據(jù)上傳至云端后,還支持?jǐn)?shù)據(jù)分析和歷史記錄查詢(xún),為管理者提供了決策支持。

軟件開(kāi)發(fā)方面,STM32的固件采用C語(yǔ)言編寫(xiě),利用Keil MDK開(kāi)發(fā)環(huán)境進(jìn)行編譯和調(diào)試。固件代碼實(shí)現(xiàn)了傳感器數(shù)據(jù)采集、處理、報(bào)警邏輯以及與NBIoT模塊的通信。手機(jī)APP和Windows上位機(jī)軟件則基于Qt框架開(kāi)發(fā),使用C++語(yǔ)言編寫(xiě),提供了直觀(guān)的用戶(hù)界面,支持?jǐn)?shù)據(jù)查看、遠(yuǎn)程控制以及系統(tǒng)配置等功能。通過(guò)這些軟件的支持,系統(tǒng)不僅能夠?qū)崿F(xiàn)基本的安全監(jiān)測(cè)和控制功能,還能提供豐富的用戶(hù)體驗(yàn)。

綜上所述,本系統(tǒng)的總體設(shè)計(jì)方案綜合了先進(jìn)的傳感器技術(shù)、微控制器處理能力、NBIoT通信技術(shù)以及云端服務(wù),形成了一套完整且高效的宿舍安防解決方案。該方案不僅提高了宿舍的安全防護(hù)水平,還增強(qiáng)了用戶(hù)的便捷性和舒適度,是現(xiàn)代智慧校園建設(shè)的重要組成部分。

【3】系統(tǒng)工作原理

系統(tǒng)的工作原理基于STM32微控制器為核心,結(jié)合多種傳感器和執(zhí)行器,通過(guò)NBIoT通信技術(shù)實(shí)現(xiàn)數(shù)據(jù)的遠(yuǎn)程傳輸和云端管理。整個(gè)系統(tǒng)的設(shè)計(jì)提供一個(gè)全面的宿舍安防解決方案,確保居住環(huán)境的安全性和便利性。

系統(tǒng)通過(guò)各類(lèi)傳感器對(duì)宿舍環(huán)境進(jìn)行持續(xù)監(jiān)測(cè)。火焰檢測(cè)傳感器和煙霧傳感器(如MQ-2)分別用于檢測(cè)火焰和煙霧的存在。這些傳感器將環(huán)境中的物理變化轉(zhuǎn)化為電信號(hào),然后傳遞給STM32微控制器。一旦檢測(cè)到火焰或煙霧濃度超過(guò)預(yù)設(shè)閾值,STM32會(huì)立即觸發(fā)蜂鳴器發(fā)出警報(bào),提醒宿舍內(nèi)的人員注意潛在的火災(zāi)風(fēng)險(xiǎn)。同時(shí),系統(tǒng)會(huì)通過(guò)NBIoT模塊將警報(bào)信息發(fā)送到華為云物聯(lián)網(wǎng)平臺(tái),以便遠(yuǎn)程監(jiān)控和快速響應(yīng)。

對(duì)于門(mén)磁控制,系統(tǒng)配備了5V電磁鎖,支持多種開(kāi)門(mén)方式。用戶(hù)可以通過(guò)宿舍內(nèi)的本地按鍵手動(dòng)開(kāi)啟門(mén)鎖,也可以通過(guò)手機(jī)APP或Windows電腦上的上位機(jī)軟件發(fā)送遠(yuǎn)程開(kāi)門(mén)指令。這些指令通過(guò)NBIoT模塊傳輸?shù)絊TM32,由微控制器解析后控制電磁鎖的動(dòng)作。每次門(mén)鎖操作都會(huì)記錄下來(lái),并通過(guò)NBIoT模塊上傳至云端,便于后續(xù)的數(shù)據(jù)分析和安全審計(jì)。

人體感應(yīng)功能由紅外熱釋電傳感器實(shí)現(xiàn)。該傳感器能夠檢測(cè)宿舍內(nèi)是否有人存在,并將信號(hào)發(fā)送給STM32。這不僅有助于判斷宿舍內(nèi)是否有未經(jīng)授權(quán)的闖入者,還可以根據(jù)檢測(cè)結(jié)果自動(dòng)調(diào)整宿舍內(nèi)的照明和其他電器設(shè)備的狀態(tài),以節(jié)省能源。人體感應(yīng)數(shù)據(jù)同樣會(huì)被記錄并上傳至云端,以供進(jìn)一步分析和使用。

電力監(jiān)測(cè)是系統(tǒng)的一項(xiàng)重要功能。通過(guò)電力參數(shù)采集模塊,系統(tǒng)能夠?qū)崟r(shí)監(jiān)測(cè)宿舍內(nèi)的電壓、電流和功率等參數(shù)。當(dāng)這些參數(shù)超過(guò)預(yù)設(shè)的安全閾值時(shí),系統(tǒng)會(huì)自動(dòng)切斷電源以防止電氣故障,并通過(guò)蜂鳴器發(fā)出警報(bào)。電力監(jiān)測(cè)數(shù)據(jù)也會(huì)通過(guò)LCD顯示屏顯示,并通過(guò)NBIoT模塊上傳至云端,便于遠(yuǎn)程監(jiān)控和故障排查。

在數(shù)據(jù)處理和傳輸方面,STM32微控制器負(fù)責(zé)接收來(lái)自各個(gè)傳感器的數(shù)據(jù),進(jìn)行初步處理,并通過(guò)NBIoT模塊BC26將數(shù)據(jù)發(fā)送到華為云物聯(lián)網(wǎng)平臺(tái)。NBIoT技術(shù)以其低功耗和廣覆蓋的特點(diǎn),非常適合于這類(lèi)需要長(zhǎng)時(shí)間在線(xiàn)監(jiān)測(cè)的應(yīng)用場(chǎng)景。數(shù)據(jù)上傳至云端后,可以通過(guò)手機(jī)APP或Windows上位機(jī)軟件進(jìn)行遠(yuǎn)程查看和控制。用戶(hù)可以隨時(shí)隨地監(jiān)控宿舍的安全狀況,并執(zhí)行遠(yuǎn)程操作,如遠(yuǎn)程開(kāi)門(mén)等。

系統(tǒng)還配備了一個(gè)1.44寸LCD顯示屏,用于本地顯示各種監(jiān)測(cè)數(shù)據(jù)和系統(tǒng)狀態(tài)。這使得用戶(hù)可以直接在宿舍內(nèi)查看關(guān)鍵信息,而不需要依賴(lài)遠(yuǎn)程設(shè)備。顯示屏還可以顯示系統(tǒng)的基本操作指南,方便用戶(hù)理解和操作。

系統(tǒng)通過(guò)集成多種傳感器、執(zhí)行器和通信模塊,實(shí)現(xiàn)了對(duì)宿舍環(huán)境的全面監(jiān)測(cè)與控制。從火焰和煙霧檢測(cè)到門(mén)磁控制,再到電力監(jiān)測(cè)和人體感應(yīng),每一項(xiàng)功能都緊密配合,確保宿舍的安全和舒適。通過(guò)NBIoT技術(shù)與云端服務(wù)的結(jié)合,系統(tǒng)不僅實(shí)現(xiàn)了本地的即時(shí)響應(yīng),還提供了遠(yuǎn)程監(jiān)控和控制的能力,為用戶(hù)提供了一個(gè)全方位、智能化的宿舍安防解決方案。

1.3 系統(tǒng)框架圖

image-20241108103818629

1.4 系統(tǒng)功能總結(jié)

為了清晰地展示系統(tǒng)的主要功能,下面是一個(gè)系統(tǒng)功能總結(jié)的表格。這個(gè)表格列出了每個(gè)功能的描述、涉及的關(guān)鍵組件以及預(yù)期的效果。

功能模塊描述關(guān)鍵組件預(yù)期效果
火焰檢測(cè)檢測(cè)宿舍內(nèi)是否存在火焰,觸發(fā)警報(bào)火焰檢測(cè)傳感器, STM32, 蜂鳴器, NBIoT模塊及時(shí)發(fā)現(xiàn)火災(zāi)風(fēng)險(xiǎn),發(fā)出警報(bào)并上傳警報(bào)信息至云端
煙霧檢測(cè)檢測(cè)宿舍內(nèi)是否存在煙霧,觸發(fā)警報(bào)MQ2煙霧傳感器, STM32, 蜂鳴器, NBIoT模塊及時(shí)發(fā)現(xiàn)火災(zāi)風(fēng)險(xiǎn),發(fā)出警報(bào)并上傳警報(bào)信息至云端
門(mén)磁控制支持本地按鍵開(kāi)門(mén)、手機(jī)APP和Windows上位機(jī)遠(yuǎn)程開(kāi)門(mén)5V電磁鎖, STM32, NBIoT模塊提供多種開(kāi)門(mén)方式,增強(qiáng)便利性和安全性
人體感應(yīng)檢測(cè)宿舍內(nèi)是否有人存在紅外熱釋電傳感器, STM32, NBIoT模塊輔助判斷宿舍狀態(tài),優(yōu)化能源使用,提高安全性
電力監(jiān)測(cè)與保護(hù)監(jiān)測(cè)宿舍內(nèi)的電壓、電流、功率,超限時(shí)發(fā)出警報(bào)并切斷電源電力參數(shù)采集模塊, STM32, 蜂鳴器, NBIoT模塊防止電氣故障,確保用電安全
數(shù)據(jù)上云通過(guò)NBIoT模塊將采集的數(shù)據(jù)上傳至華為云物聯(lián)網(wǎng)平臺(tái)NBIoT模塊BC26, STM32實(shí)現(xiàn)遠(yuǎn)程監(jiān)控和數(shù)據(jù)分析
本地?cái)?shù)據(jù)顯示通過(guò)1.44寸LCD顯示屏顯示實(shí)時(shí)數(shù)據(jù)和系統(tǒng)狀態(tài)1.44寸LCD顯示屏, STM32提供直觀(guān)的數(shù)據(jù)展示,方便用戶(hù)查看和操作
遠(yuǎn)程控制通過(guò)手機(jī)APP和Windows上位機(jī)軟件實(shí)現(xiàn)遠(yuǎn)程監(jiān)控和控制NBIoT模塊, STM32, 手機(jī)APP, Windows上位機(jī)用戶(hù)可以隨時(shí)隨地查看宿舍狀態(tài)并執(zhí)行遠(yuǎn)程控制

功能總結(jié)

  • 火焰檢測(cè)與煙霧檢測(cè) :通過(guò)火焰檢測(cè)傳感器和MQ2煙霧傳感器實(shí)時(shí)監(jiān)測(cè)宿舍內(nèi)的火焰和煙霧情況,一旦檢測(cè)到異常,立即觸發(fā)蜂鳴器報(bào)警,并通過(guò)NBIoT模塊將警報(bào)信息上傳至云端,確保及時(shí)響應(yīng)火災(zāi)風(fēng)險(xiǎn)。
  • 門(mén)磁控制 :結(jié)合5V電磁鎖和STM32微控制器,支持本地按鍵開(kāi)門(mén)、手機(jī)APP和Windows上位機(jī)遠(yuǎn)程開(kāi)門(mén),提高宿舍入口的安全性和便利性。
  • 人體感應(yīng) :利用紅外熱釋電傳感器檢測(cè)宿舍內(nèi)是否有人存在,輔助判斷宿舍狀態(tài),優(yōu)化能源使用,并提高安全性。
  • 電力監(jiān)測(cè)與保護(hù) :通過(guò)電力參數(shù)采集模塊監(jiān)測(cè)宿舍內(nèi)的電壓、電流和功率,當(dāng)超過(guò)預(yù)設(shè)閾值時(shí),系統(tǒng)自動(dòng)切斷電源并發(fā)出警報(bào),確保用電安全。
  • 數(shù)據(jù)上云 :通過(guò)NBIoT模塊BC26將采集的數(shù)據(jù)上傳至華為云物聯(lián)網(wǎng)平臺(tái),實(shí)現(xiàn)遠(yuǎn)程監(jiān)控和數(shù)據(jù)分析,便于管理者進(jìn)行決策。
  • 本地?cái)?shù)據(jù)顯示 :1.44寸LCD顯示屏實(shí)時(shí)顯示宿舍內(nèi)的各種監(jiān)測(cè)數(shù)據(jù)和系統(tǒng)狀態(tài),提供直觀(guān)的信息展示。
  • 遠(yuǎn)程控制 :通過(guò)手機(jī)APP和Windows上位機(jī)軟件,用戶(hù)可以遠(yuǎn)程查看宿舍狀態(tài)并執(zhí)行控制命令,如遠(yuǎn)程開(kāi)門(mén)等,提高系統(tǒng)的靈活性和可用性。

1.5 系統(tǒng)原理圖

image-20241108112352828

1.6 實(shí)物圖

image-20241108112743410

image-20241108112554898

1.7 模塊的技術(shù)詳情介紹

【1】NBIOT-BC26模塊

NBIoT-BC26模塊是由中國(guó)移動(dòng)通信研究院和移遠(yuǎn)通信合作推出的一款NB-IoT(窄帶物聯(lián)網(wǎng))通信模塊,專(zhuān)為低功耗廣域網(wǎng)(LPWAN)應(yīng)用而設(shè)計(jì)。NB-IoT是物聯(lián)網(wǎng)領(lǐng)域的一項(xiàng)重要通信技術(shù),具有低功耗、低成本、大連接和廣覆蓋的特點(diǎn),能夠?yàn)楦鞣N智能終端提供穩(wěn)定、高效的無(wú)線(xiàn)連接。BC26模塊廣泛應(yīng)用于智能表計(jì)、智慧城市、資產(chǎn)追蹤、環(huán)境監(jiān)測(cè)和遠(yuǎn)程控制等領(lǐng)域。

BC26模塊的尺寸小巧(大約為19.9mm × 23.6mm),功耗極低,非常適合空間有限、功耗敏感的物聯(lián)網(wǎng)應(yīng)用。模塊支持電池供電,并具備深度睡眠模式,使其在無(wú)操作時(shí)的功耗極低,這在需要長(zhǎng)時(shí)間工作和持續(xù)連接的應(yīng)用中極為重要。BC26模塊在設(shè)計(jì)上特別注重能效管理,其低功耗特性為長(zhǎng)時(shí)間、低成本的物聯(lián)網(wǎng)部署提供了可行性。

BC26模塊支持NB-IoT標(biāo)準(zhǔn)的三種部署模式:獨(dú)立部署、保護(hù)帶部署和帶內(nèi)部署,使其能夠適應(yīng)不同網(wǎng)絡(luò)環(huán)境。它支持多個(gè)頻段,如B1、B3、B5、B8、B20等,能夠滿(mǎn)足不同地區(qū)和國(guó)家的通信需求。BC26模塊提供高達(dá)幾百kbps的下行速率,盡管比4G等高帶寬網(wǎng)絡(luò)慢得多,但對(duì)于大多數(shù)傳感器數(shù)據(jù)、環(huán)境監(jiān)測(cè)數(shù)據(jù)和狀態(tài)上報(bào)等低數(shù)據(jù)量的物聯(lián)網(wǎng)通信來(lái)說(shuō)已經(jīng)足夠。

在網(wǎng)絡(luò)連接上,BC26模塊使用了NB-IoT技術(shù)特有的窄帶無(wú)線(xiàn)頻譜,使其具備極強(qiáng)的網(wǎng)絡(luò)覆蓋能力。與傳統(tǒng)移動(dòng)網(wǎng)絡(luò)相比,NB-IoT模塊能夠在更深的樓宇或地下環(huán)境中保持穩(wěn)定連接。這一特性對(duì)于智慧城市建設(shè)中廣泛分布的智能設(shè)備至關(guān)重要,確保了物聯(lián)網(wǎng)設(shè)備的可靠通信。

BC26模塊支持標(biāo)準(zhǔn)的AT命令集,使得開(kāi)發(fā)者能夠通過(guò)簡(jiǎn)單的指令進(jìn)行配置和操作,包括網(wǎng)絡(luò)注冊(cè)、連接管理、數(shù)據(jù)發(fā)送與接收等。使用AT命令,開(kāi)發(fā)人員可以快速實(shí)現(xiàn)與云平臺(tái)的通信、數(shù)據(jù)傳輸和遠(yuǎn)程管理。BC26模塊還支持多種通信協(xié)議,如UDP和CoAP,可以通過(guò)這些協(xié)議實(shí)現(xiàn)高效的物聯(lián)網(wǎng)數(shù)據(jù)傳輸。

為了滿(mǎn)足物聯(lián)網(wǎng)的安全需求,BC26模塊支持多種加密和認(rèn)證機(jī)制,如數(shù)據(jù)加密、SIM卡認(rèn)證等。這些功能增強(qiáng)了通信過(guò)程中的安全性,確保數(shù)據(jù)在傳輸過(guò)程中不會(huì)被惡意截取或篡改。通過(guò)與云平臺(tái)的連接,BC26模塊能夠?qū)⒉杉降脑O(shè)備數(shù)據(jù)上傳至云端,實(shí)現(xiàn)遠(yuǎn)程監(jiān)控、數(shù)據(jù)分析和設(shè)備管理等功能,助力企業(yè)構(gòu)建智能化的物聯(lián)網(wǎng)應(yīng)用。

BC26模塊具備較強(qiáng)的抗干擾能力和穩(wěn)定性,即使在復(fù)雜的無(wú)線(xiàn)環(huán)境下也能保持高效通信。它的接口類(lèi)型包括UART、SPI和I2C等,方便與各種單片機(jī)、傳感器和其他外圍設(shè)備集成。BC26模塊還支持多種電源管理模式,開(kāi)發(fā)者可以根據(jù)應(yīng)用需求設(shè)置不同的功耗模式,以?xún)?yōu)化能源使用。

NBIoT-BC26模塊以其低功耗、高效能、廣覆蓋和易于開(kāi)發(fā)的特點(diǎn),為物聯(lián)網(wǎng)應(yīng)用提供了可靠的無(wú)線(xiàn)通信解決方案。它特別適用于大規(guī)模、分布廣泛、低數(shù)據(jù)量傳輸?shù)膱?chǎng)景,成為智能終端和遠(yuǎn)程數(shù)據(jù)采集的重要通信模塊之一。BC26模塊的靈活性和可靠性為各類(lèi)物聯(lián)網(wǎng)項(xiàng)目的構(gòu)建和部署提供了理想的支持。

【2】MQ2氣體傳感器

MQ2氣體傳感器是一種常見(jiàn)的氣體檢測(cè)設(shè)備,能夠用于監(jiān)測(cè)環(huán)境中的多種氣體,包括可燃性氣體和煙霧等。其工作原理基于金屬氧化物半導(dǎo)體(MOS),當(dāng)傳感器暴露于特定氣體環(huán)境中時(shí),其電阻會(huì)發(fā)生變化,從而使傳感器產(chǎn)生不同的電信號(hào),進(jìn)而被檢測(cè)出來(lái)。以下是MQ2傳感器的詳細(xì)介紹:

MQ2傳感器的主要特點(diǎn)是能夠檢測(cè)多種氣體,如液化氣(LPG)、丙烷、氫氣、一氧化碳(CO)、酒精和煙霧。由于其靈敏度較高,尤其在檢測(cè)煙霧和可燃性氣體方面表現(xiàn)優(yōu)異,因此被廣泛應(yīng)用于家庭安全系統(tǒng)、氣體泄漏報(bào)警設(shè)備、工業(yè)監(jiān)測(cè)和其他涉及氣體檢測(cè)的應(yīng)用場(chǎng)景中。它在確保居家安全和工業(yè)生產(chǎn)安全方面扮演著重要角色。

MQ2傳感器通常由一個(gè)加熱元件和一個(gè)電阻傳感元件組成。當(dāng)傳感器通電時(shí),其內(nèi)部加熱元件會(huì)加熱傳感表面,這一過(guò)程有助于加速氣體與傳感層之間的反應(yīng)速度。加熱器會(huì)在傳感器表面形成一個(gè)高溫環(huán)境,從而提高檢測(cè)氣體的反應(yīng)速度。傳感元件的電阻在不同濃度的可燃?xì)怏w或煙霧中會(huì)發(fā)生變化,通過(guò)測(cè)量該電阻的變化,可以得到環(huán)境中氣體的濃度信息。

該傳感器的輸出為模擬信號(hào),通常需要通過(guò)微控制器(如STM32)進(jìn)行信號(hào)的采集和處理。為了將MQ2的模擬信號(hào)轉(zhuǎn)化為數(shù)字信號(hào),通常會(huì)配合ADC模數(shù)轉(zhuǎn)換器)模塊。還可以使用合適的閾值設(shè)定來(lái)判斷是否達(dá)到報(bào)警條件。大多數(shù)情況下,它需要一定的預(yù)熱時(shí)間來(lái)達(dá)到穩(wěn)定的工作狀態(tài)(一般為20至30秒),以確保檢測(cè)結(jié)果的準(zhǔn)確性。

MQ2傳感器的優(yōu)點(diǎn)在于價(jià)格低廉、靈敏度較高、易于使用并且能夠適應(yīng)不同氣體檢測(cè)需求。它的工作電壓通常為5V,并支持模擬和數(shù)字兩種輸出模式。需要注意的是,MQ2的輸出信號(hào)會(huì)受到環(huán)境溫濕度的影響,因此在某些特殊環(huán)境下需要進(jìn)行校準(zhǔn)或考慮其影響。同時(shí),由于傳感器對(duì)多種氣體具有一定的反應(yīng),因此有可能出現(xiàn)干擾,需要針對(duì)特定場(chǎng)景做專(zhuān)門(mén)的氣體選擇性檢測(cè)。

在使用時(shí),MQ2氣體傳感器通常與負(fù)載電阻(Load Resistor)連接形成一個(gè)簡(jiǎn)單的電路。負(fù)載電阻的大小可以影響傳感器的靈敏度和響應(yīng)時(shí)間,因此需要根據(jù)應(yīng)用需求進(jìn)行合理選擇。MQ2氣體傳感器適用于氣體檢測(cè)報(bào)警、電路保護(hù)、消防報(bào)警和家用安全等領(lǐng)域。

【3】火焰檢測(cè)模塊

火焰檢測(cè)模塊是一種基于紅外或紫外光譜檢測(cè)火焰的傳感器裝置,廣泛用于火災(zāi)預(yù)警、工業(yè)安全、家居安防和自動(dòng)化系統(tǒng)等領(lǐng)域。它通過(guò)感應(yīng)火焰發(fā)出的光信號(hào)來(lái)實(shí)現(xiàn)火焰的檢測(cè)和監(jiān)控,可以快速識(shí)別火源并提供警報(bào)信號(hào),從而有效降低火災(zāi)風(fēng)險(xiǎn),保護(hù)生命和財(cái)產(chǎn)安全。

火焰檢測(cè)模塊通常依靠感應(yīng)火焰所產(chǎn)生的特定波長(zhǎng)的光線(xiàn)來(lái)進(jìn)行檢測(cè)。大多數(shù)火焰檢測(cè)模塊基于紅外感應(yīng)技術(shù),能夠探測(cè)到760納米至1100納米波長(zhǎng)的紅外光,部分高精度的模塊也能夠探測(cè)紫外光(185-260納米范圍)。由于火焰中含有熾熱的燃燒氣體,這些氣體會(huì)在燃燒過(guò)程中發(fā)出特定波長(zhǎng)的紅外或紫外線(xiàn),因此火焰檢測(cè)模塊可以通過(guò)識(shí)別這些光信號(hào)來(lái)判斷火焰的存在。

火焰檢測(cè)模塊一般由光敏元件、濾光器和放大電路等組成。光敏元件可以是光電二極管、光敏晶體管或其他類(lèi)型的紅外傳感器。當(dāng)火焰光線(xiàn)被光敏元件接收時(shí),會(huì)引起光電效應(yīng),從而產(chǎn)生電信號(hào)。經(jīng)過(guò)濾波和放大處理后,這一信號(hào)被傳遞到微控制器(如STM32)或報(bào)警電路中,觸發(fā)相應(yīng)的動(dòng)作,比如蜂鳴器報(bào)警或關(guān)閉電源。

火焰檢測(cè)模塊的輸出通常為數(shù)字和模擬信號(hào)兩種模式。數(shù)字信號(hào)輸出通常以高低電平的形式表示是否檢測(cè)到火焰。對(duì)于許多簡(jiǎn)單應(yīng)用,數(shù)字信號(hào)足以實(shí)現(xiàn)火焰的快速識(shí)別。模擬信號(hào)輸出則提供了更精確的測(cè)量值,可以反映火焰的強(qiáng)度和距離。通過(guò)對(duì)模擬信號(hào)的采集和處理,可以對(duì)火焰的狀態(tài)和變化進(jìn)行更深入的分析和判斷。

火焰檢測(cè)模塊具有反應(yīng)迅速、靈敏度高和抗干擾性強(qiáng)的特點(diǎn),能夠在短時(shí)間內(nèi)檢測(cè)到火焰的存在并發(fā)出警報(bào)。其檢測(cè)距離和角度通常受光敏元件的靈敏度和透鏡的設(shè)計(jì)影響,一般的檢測(cè)角度為60°至120°,檢測(cè)距離可達(dá)幾米至十幾米。用戶(hù)可以通過(guò)調(diào)節(jié)模塊上的靈敏度電位器來(lái)設(shè)定檢測(cè)靈敏度,從而滿(mǎn)足不同應(yīng)用場(chǎng)景的需求。

在使用火焰檢測(cè)模塊時(shí),環(huán)境光和反射物體可能會(huì)對(duì)檢測(cè)結(jié)果產(chǎn)生影響。因此,在安裝和應(yīng)用時(shí)需要注意避免陽(yáng)光直射或強(qiáng)光干擾。模塊應(yīng)對(duì)準(zhǔn)可能的火源方向,以便獲得最佳的檢測(cè)效果。此外,為了提高火焰檢測(cè)的可靠性,模塊通常與其他傳感器(如煙霧傳感器、溫度傳感器)聯(lián)合使用,形成多層次的火災(zāi)預(yù)警系統(tǒng),以減少誤報(bào)警的風(fēng)險(xiǎn)。

火焰檢測(cè)模塊被廣泛用于工業(yè)設(shè)備監(jiān)控、燃?xì)庠罹甙踩刂啤⒒馂?zāi)報(bào)警器等場(chǎng)合。它能夠在火災(zāi)初期迅速響應(yīng),及時(shí)發(fā)出報(bào)警信號(hào)或采取控制措施,從而大大提高火災(zāi)防控能力,保護(hù)生命和財(cái)產(chǎn)安全。總的來(lái)說(shuō),火焰檢測(cè)模塊是一個(gè)重要的安防組件,為多種應(yīng)用提供了可靠的火災(zāi)預(yù)警和安全保障功能。

【4】蜂鳴器模塊

高低電平控制的有源蜂鳴器是一種集成了振蕩電路和發(fā)聲組件的電子器件,通過(guò)簡(jiǎn)單的電平控制即可產(chǎn)生聲音提示,廣泛用于報(bào)警系統(tǒng)、家電、智能設(shè)備以及工控系統(tǒng)等需要聲音提示的場(chǎng)合。相比無(wú)源蜂鳴器,有源蜂鳴器不需要外部提供驅(qū)動(dòng)頻率信號(hào),內(nèi)部已包含振蕩電路,因此只需提供電源和控制電平就能發(fā)聲,使用更加方便。

有源蜂鳴器通常由電磁線(xiàn)圈、鐵芯、磁鐵、振蕩器、以及振膜等組成。當(dāng)給蜂鳴器供電時(shí),內(nèi)置振蕩電路開(kāi)始工作,產(chǎn)生一定頻率的交變磁場(chǎng),使振膜不斷振動(dòng),從而發(fā)出連續(xù)的“嘀嘀”聲。蜂鳴器的工作頻率通常在2kHz至4kHz之間,這一頻段的聲音刺耳,便于在嘈雜環(huán)境中引起注意。

高低電平控制的有源蜂鳴器根據(jù)輸入信號(hào)的不同可以分為高電平觸發(fā)和低電平觸發(fā)兩種類(lèi)型。高電平觸發(fā)的蜂鳴器在輸入信號(hào)為高電平時(shí)發(fā)聲,而低電平觸發(fā)的蜂鳴器則在輸入信號(hào)為低電平時(shí)發(fā)聲。此設(shè)計(jì)使得蜂鳴器能夠靈活適應(yīng)不同的控制電路要求,便于和各類(lèi)控制器(如單片機(jī)、PLC)直接對(duì)接,通過(guò)簡(jiǎn)單的GPIO信號(hào)即可控制蜂鳴器發(fā)聲或停止。

在電氣特性方面,有源蜂鳴器的工作電壓通常在3V到12V之間,常見(jiàn)的規(guī)格為5V和12V兩種,用戶(hù)可以根據(jù)應(yīng)用場(chǎng)合選擇適合的電壓等級(jí)。有源蜂鳴器的功耗較低,工作電流通常在幾十毫安左右,因此適合電池供電設(shè)備以及低功耗應(yīng)用場(chǎng)景。蜂鳴器的封裝形式有插件式和貼片式兩種,插件式適合在PCB上直接安裝,而貼片式則適合自動(dòng)化設(shè)備生產(chǎn),更加適合高密度電路板應(yīng)用。

由于內(nèi)置了振蕩電路,有源蜂鳴器在使用中不需要考慮驅(qū)動(dòng)頻率的問(wèn)題,只需控制電平即可實(shí)現(xiàn)發(fā)聲與停止,因此開(kāi)發(fā)簡(jiǎn)單,安裝便捷。在實(shí)際應(yīng)用中,若需實(shí)現(xiàn)不同的報(bào)警音效,可以通過(guò)脈沖信號(hào)控制發(fā)聲的間歇頻率,使蜂鳴器產(chǎn)生間歇報(bào)警聲。此外,在電平驅(qū)動(dòng)的電路中,有源蜂鳴器還可以與其他傳感器、開(kāi)關(guān)、按鍵等組件配合,構(gòu)建智能化的聲音提示系統(tǒng),以提升設(shè)備的交互體驗(yàn)。

【5】人體感應(yīng)傳感器

熱釋電人體感應(yīng)傳感器,也稱(chēng)為PIR(Passive Infrared)傳感器,是一種常用于檢測(cè)人體活動(dòng)的傳感設(shè)備。它基于紅外輻射感應(yīng)原理,能夠探測(cè)到人體發(fā)出的紅外熱輻射并產(chǎn)生信號(hào)輸出,從而感知人體的存在或運(yùn)動(dòng)。PIR傳感器廣泛應(yīng)用于自動(dòng)門(mén)、安防報(bào)警系統(tǒng)、智能家居照明控制等領(lǐng)域,憑借其可靠性高、成本低和易于集成的特點(diǎn),成為了主流的人體感應(yīng)方案。

PIR傳感器的核心組件是一個(gè)熱釋電元件,該元件能夠?qū)t外線(xiàn)的變化產(chǎn)生響應(yīng)。人體通常會(huì)發(fā)出紅外線(xiàn),其波長(zhǎng)在8到14微米范圍內(nèi)。當(dāng)一個(gè)人進(jìn)入傳感器的檢測(cè)范圍時(shí),會(huì)引起傳感器探測(cè)區(qū)域內(nèi)紅外輻射的變化。傳感器內(nèi)的熱釋電元件在接收到紅外信號(hào)后,會(huì)產(chǎn)生微弱的電壓變化,通過(guò)放大電路將這種變化轉(zhuǎn)化為可用的電信號(hào)。這一電信號(hào)可以用于控制后續(xù)電路,比如啟動(dòng)蜂鳴器報(bào)警或觸發(fā)電路開(kāi)關(guān)等。

為了提高檢測(cè)精度和靈敏度,PIR傳感器通常會(huì)配備菲涅爾透鏡。菲涅爾透鏡可以將紅外線(xiàn)聚焦到傳感器的熱釋電元件上,并分成多個(gè)“檢測(cè)區(qū)域”,以便更精確地感知人體活動(dòng)。這一設(shè)計(jì)使得傳感器能夠區(qū)分不同方向和距離的運(yùn)動(dòng),從而更準(zhǔn)確地觸發(fā)感應(yīng)。

熱釋電人體感應(yīng)傳感器通常有兩種工作模式:觸發(fā)模式和非觸發(fā)模式。觸發(fā)模式用于檢測(cè)到運(yùn)動(dòng)后產(chǎn)生高低電平信號(hào),并在延時(shí)后恢復(fù)初始狀態(tài)。這種模式適用于自動(dòng)門(mén)控制和智能燈控制等場(chǎng)景。而在非觸發(fā)模式下,傳感器檢測(cè)到運(yùn)動(dòng)信號(hào)時(shí),會(huì)保持高電平輸出,適合需要長(zhǎng)時(shí)間信號(hào)保持的應(yīng)用。

PIR傳感器具有高靈敏度和較低的功耗,這使其非常適合電池供電的設(shè)備。同時(shí),由于PIR傳感器本身是“被動(dòng)”的,只需感知外界紅外輻射,無(wú)需主動(dòng)發(fā)射信號(hào),因此具有抗干擾能力強(qiáng)和安全性好的特點(diǎn)。此外,PIR傳感器的檢測(cè)距離和范圍通常可以通過(guò)調(diào)整其光學(xué)鏡頭和電路參數(shù)來(lái)設(shè)定,一般的檢測(cè)距離為3-7米,覆蓋角度約為120°至180°,具體參數(shù)可以根據(jù)應(yīng)用需求進(jìn)行配置。

需要注意的是,熱釋電人體感應(yīng)傳感器可能會(huì)受環(huán)境溫度變化影響。在高溫或低溫環(huán)境下,其檢測(cè)靈敏度可能會(huì)有所變化。此外,傳感器也可能受到電磁干擾的影響,因此在設(shè)計(jì)和使用時(shí)需注意電磁屏蔽和環(huán)境適配,以提高系統(tǒng)的穩(wěn)定性和可靠性。總體來(lái)說(shuō),PIR傳感器以其簡(jiǎn)便的操作和廣泛的適用性,在智能家居、安防系統(tǒng)和自動(dòng)化控制等方面得到了廣泛應(yīng)用。

【6】電磁鎖

電磁鎖是一種利用電磁力進(jìn)行控制的鎖具,常用于門(mén)禁系統(tǒng)、安防系統(tǒng)以及其他需要電子控制的場(chǎng)景。它以可靠性高、響應(yīng)快速、使用方便而著稱(chēng),是現(xiàn)代智能控制設(shè)備中常見(jiàn)的組件。電磁鎖的工作原理是通過(guò)電流產(chǎn)生的磁力來(lái)實(shí)現(xiàn)鎖定和解鎖,當(dāng)電流通過(guò)電磁線(xiàn)圈時(shí),線(xiàn)圈內(nèi)會(huì)產(chǎn)生強(qiáng)磁場(chǎng),使金屬鎖體吸附或釋放,從而控制門(mén)的開(kāi)關(guān)狀態(tài)。

電磁鎖的基本結(jié)構(gòu)包括線(xiàn)圈、鐵芯和鎖體。通常情況下,當(dāng)鎖需要處于鎖定狀態(tài)時(shí),通電后的線(xiàn)圈會(huì)產(chǎn)生強(qiáng)大的磁力,將鎖舌牢牢吸附在鎖體內(nèi),形成一個(gè)封閉的門(mén)鎖結(jié)構(gòu)。相反,當(dāng)需要解鎖時(shí),切斷電源,電磁力隨之消失,鎖體便會(huì)自動(dòng)釋放。由于其操作原理基于電磁效應(yīng),電磁鎖通常需要穩(wěn)定的直流電源供電,一般為12V或24V直流電。

電磁鎖有多種類(lèi)型,常見(jiàn)的有普通電磁鎖、磁力鎖、斷電型和通電型。普通電磁鎖常用于門(mén)禁控制系統(tǒng),具有高強(qiáng)度的磁力吸附,能夠有效防止非法闖入。磁力鎖一般安裝在門(mén)框頂部,通過(guò)磁力將門(mén)吸住,適用于輕型門(mén)的開(kāi)關(guān)控制。斷電型電磁鎖在斷電時(shí)解鎖,這種設(shè)計(jì)適用于緊急出口或消防安全通道,確保在斷電時(shí)門(mén)能夠自動(dòng)解鎖,方便人員迅速疏散。而通電型電磁鎖則相反,在通電時(shí)解鎖,適用于某些特定的安防場(chǎng)景。

電磁鎖的優(yōu)勢(shì)在于其耐用性和安全性。由于其內(nèi)部沒(méi)有機(jī)械活動(dòng)部件,工作時(shí)沒(méi)有磨損和卡滯,使用壽命長(zhǎng)且維護(hù)成本較低。與傳統(tǒng)機(jī)械鎖相比,電磁鎖的操作也更加安靜和穩(wěn)定,尤其適合對(duì)噪音敏感的環(huán)境。此外,電磁鎖還可以與多種智能設(shè)備集成,支持遠(yuǎn)程控制、指紋識(shí)別、密碼輸入等多種解鎖方式,使其廣泛應(yīng)用于現(xiàn)代建筑的安防系統(tǒng)中。

在使用電磁鎖時(shí),需要注意供電的穩(wěn)定性,防止電源波動(dòng)或中斷可能導(dǎo)致的誤動(dòng)作。通常,電磁鎖會(huì)配備斷電保護(hù)機(jī)制或后備電源,以確保在電力中斷的情況下依然能夠保持安全性。另外,在實(shí)際應(yīng)用中,電磁鎖的安裝位置和固定方式會(huì)影響其鎖緊力。為了確保安全性,必須保證鎖具與門(mén)體或門(mén)框緊密接觸,并避免松動(dòng)或錯(cuò)位。

電磁鎖的應(yīng)用范圍涵蓋了住宅小區(qū)、辦公樓、商場(chǎng)、機(jī)場(chǎng)、醫(yī)院等場(chǎng)所。由于其響應(yīng)快速、鎖定力強(qiáng)和易于與電子系統(tǒng)集成,電磁鎖在智能門(mén)禁系統(tǒng)中占據(jù)重要位置,為提升場(chǎng)所的安全性和管理便捷性提供了可靠的解決方案。

【7】MQTT協(xié)議

MQTT(Message Queuing Telemetry Transport,消息隊(duì)列遙測(cè)傳輸協(xié)議)是一種輕量級(jí)、發(fā)布/訂閱模式的消息傳輸協(xié)議,專(zhuān)為低帶寬、不可靠網(wǎng)絡(luò)環(huán)境設(shè)計(jì)。它最早由IBM提出,現(xiàn)已成為物聯(lián)網(wǎng)(IoT)通信的重要協(xié)議之一。由于其高效、低功耗和實(shí)時(shí)性等特點(diǎn),MQTT在智能家居、工業(yè)自動(dòng)化、遠(yuǎn)程監(jiān)控和車(chē)聯(lián)網(wǎng)等領(lǐng)域得到了廣泛應(yīng)用。

MQTT的工作原理基于發(fā)布/訂閱模型。這種模型有別于傳統(tǒng)的客戶(hù)端-服務(wù)器模型,通信方不需要直接建立連接。MQTT由三個(gè)核心組件構(gòu)成:客戶(hù)端、代理(Broker)和主題(Topic)。客戶(hù)端可以作為消息的發(fā)布者或訂閱者,消息通過(guò)代理進(jìn)行路由。代理是一個(gè)中間服務(wù)端,用于接收和分發(fā)來(lái)自不同客戶(hù)端的消息。發(fā)布者發(fā)送消息到一個(gè)特定的主題上,代理負(fù)責(zé)將這些消息分發(fā)給所有訂閱了該主題的客戶(hù)端。通過(guò)這種解耦的架構(gòu)設(shè)計(jì),客戶(hù)端之間可以實(shí)現(xiàn)松耦合的通信,降低了復(fù)雜性和依賴(lài)性。

在MQTT協(xié)議中,消息被分為不同的主題(Topic),例如“home/sensor/temperature”可以用來(lái)代表溫度傳感器數(shù)據(jù)。客戶(hù)端可以訂閱這個(gè)主題,當(dāng)發(fā)布者發(fā)送新的數(shù)據(jù)到該主題時(shí),所有訂閱該主題的客戶(hù)端都會(huì)收到更新信息。這種靈活的主題結(jié)構(gòu)和層次化的命名規(guī)則,使得MQTT在復(fù)雜場(chǎng)景下也能快速組織和管理消息流。

MQTT協(xié)議支持三種服務(wù)質(zhì)量(QoS)等級(jí),分別為“至多一次”(QoS 0)、“至少一次”(QoS 1)和“僅一次”(QoS 2)。QoS 0表示消息傳輸盡力而為,可能會(huì)丟失或重復(fù);QoS 1確保消息至少送達(dá)一次,但可能會(huì)有重復(fù);QoS 2則確保消息恰好傳輸一次,保證消息的嚴(yán)格可靠性。這種設(shè)計(jì)使MQTT能夠適應(yīng)不同的應(yīng)用場(chǎng)景,用戶(hù)可以根據(jù)應(yīng)用需求選擇合適的QoS級(jí)別。

為了保證通信的安全性,MQTT支持用戶(hù)名和密碼驗(yàn)證,代理可以對(duì)連接進(jìn)行身份認(rèn)證。此外,許多實(shí)現(xiàn)中還支持TLS/SSL加密通信,確保數(shù)據(jù)在傳輸過(guò)程中不會(huì)被竊取或篡改。用戶(hù)也可以使用不同的認(rèn)證方式來(lái)增強(qiáng)系統(tǒng)的安全性,適應(yīng)物聯(lián)網(wǎng)應(yīng)用中對(duì)安全性的高需求。

MQTT非常注重輕量化和低功耗。它的報(bào)文頭非常小,通信開(kāi)銷(xiāo)很低,這使其特別適合在資源受限的設(shè)備或不穩(wěn)定的網(wǎng)絡(luò)環(huán)境中使用。MQTT支持“保持連接”和“遺囑消息”功能,客戶(hù)端可以在連接斷開(kāi)時(shí)自動(dòng)向代理發(fā)送遺囑消息,通知其他客戶(hù)端連接狀態(tài)的變化。這種特性有助于提高網(wǎng)絡(luò)的健壯性和系統(tǒng)的可用性。

MQTT的典型使用場(chǎng)景包括物聯(lián)網(wǎng)設(shè)備數(shù)據(jù)采集、實(shí)時(shí)監(jiān)控、消息推送和控制命令的發(fā)布。比如在智能家居中,傳感器可以發(fā)布環(huán)境數(shù)據(jù),如溫濕度、煙霧濃度等,控制設(shè)備根據(jù)收到的消息作出響應(yīng),實(shí)現(xiàn)自動(dòng)化操作。在工業(yè)場(chǎng)景中,MQTT可以幫助收集和管理大規(guī)模設(shè)備的運(yùn)行狀態(tài),實(shí)現(xiàn)集中化和高效的設(shè)備監(jiān)控。

總的來(lái)說(shuō),MQTT協(xié)議憑借其低功耗、高效能、實(shí)時(shí)性強(qiáng)等優(yōu)勢(shì),已成為物聯(lián)網(wǎng)通信的主要協(xié)議之一。它的發(fā)布/訂閱模式簡(jiǎn)化了設(shè)備之間的通信,使其特別適合多對(duì)多、低延遲、高可靠性的數(shù)據(jù)傳輸場(chǎng)景。MQTT易于使用、拓展性強(qiáng),為開(kāi)發(fā)者提供了靈活的解決方案來(lái)構(gòu)建各種物聯(lián)網(wǎng)應(yīng)用。

1.8 參考文獻(xiàn)

1. 韓軍,胡坤朋.基于STM32的宿舍防火防盜系統(tǒng)[J].電子技術(shù)與軟件工程,2019. 
2. 蘇世雄,劉洲洲,李川等.基于STM32的高校智能宿舍系統(tǒng)研究與設(shè)計(jì)[J].自動(dòng)化與儀器儀表,2023. 
3. 李宇航,秦紅星,史苗紅等.基于STM32的宿舍智能防盜報(bào)警系統(tǒng)設(shè)計(jì)[J].物聯(lián)網(wǎng)技術(shù),2023. 
4. 麥家裕,吳家輝,倫文康.智能宿舍安全管理系統(tǒng)設(shè)計(jì)[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2021. 
5. 廣西民族師范學(xué)院.基于物聯(lián)網(wǎng)技術(shù)智慧宿舍系統(tǒng)的設(shè)計(jì)[J].電子制作,2024. 
6. 史振江.基于stm32單片機(jī)的公寓安全控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].石家莊鐵路職業(yè)技術(shù)學(xué)院學(xué)報(bào),2017. 
7. 陜西鐵路工程職業(yè)技術(shù)學(xué)院.基于NB-IoT的校園宿舍智能鎖控制系統(tǒng)設(shè)計(jì)[J].自動(dòng)化與儀器儀表,2024. 
8. 陸麗娟,劉亞榮,謝曉蘭.基于物聯(lián)網(wǎng)技術(shù)的高校宿舍監(jiān)控管理系統(tǒng)[J].科技和產(chǎn)業(yè),2022. 
9. 沈陽(yáng)城市建設(shè)學(xué)院信息與控制工程系.基于物聯(lián)網(wǎng)的智能宿舍管理系統(tǒng)[J].電子技術(shù)與軟件工程,2018. 
10. 趙娜,于克龍,王貴和等.基于A(yíng)ndroid和STM32的學(xué)生宿舍智能防盜鎖[J].遼東學(xué)院學(xué)報(bào)(自然科學(xué)版),2021. 
11. 曲阜師范大學(xué)工學(xué)院.基于LabVIEW的網(wǎng)絡(luò)數(shù)據(jù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù),2017. 
12. 尹德睿,題原,范高倫.智能高校寢室安全監(jiān)控和學(xué)生管理系統(tǒng)[J].電工技術(shù),2019. 
13. 馬光偉,樊廣曉,王玉虎等.宿舍用電監(jiān)控系統(tǒng)設(shè)計(jì)[J].河南科技學(xué)院學(xué)報(bào)(自然科學(xué)版),2020. 
14. 王賾坤,桂玲.基于NB-IoT技術(shù)的智能安防監(jiān)測(cè)系統(tǒng)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2021. 
15. 王桂君,蔣蓁.基于STM32的室內(nèi)安防監(jiān)控系統(tǒng)設(shè)計(jì)[J].自動(dòng)化儀表,2020. 
16. 張鵬,苗鳳娟,田朋博等.基于stm32學(xué)生公寓消防安全監(jiān)控管理系統(tǒng)V1.0.齊齊哈爾大學(xué);,2021. 
17. 何龍,冉東陽(yáng),楊柳.宿舍燈光與預(yù)警智能控制系統(tǒng)設(shè)計(jì)[J].電子制作,2023. 
18. 李鵬霞,李宛睿.高校學(xué)生宿舍智慧化管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].長(zhǎng)江信息通信,2023. 
19. 宋耀華,王梅霞.基于物聯(lián)網(wǎng)技術(shù)的宿舍安防系統(tǒng)設(shè)計(jì)[J].機(jī)械與電子,2013. 
20. 任建明,盧宇,管立偉.室內(nèi)環(huán)境無(wú)線(xiàn)監(jiān)控系統(tǒng)的設(shè)計(jì)[J].信息通信,2017. 
21. 張強(qiáng)志,房楚杰,楊永華等.基于STM32的智能門(mén)控安防系統(tǒng)設(shè)計(jì)[J].嘉應(yīng)學(xué)院學(xué)報(bào),2022. 
22. 王歡.基于ZigBee網(wǎng)絡(luò)的高校宿舍智能安防系統(tǒng)設(shè)計(jì)[J].襄陽(yáng)職業(yè)技術(shù)學(xué)院學(xué)報(bào),2021. 
23. 武漢理工大學(xué)自動(dòng)化學(xué)院.基于NB-IOT的室內(nèi)環(huán)境監(jiān)測(cè)和報(bào)警系統(tǒng)[J].科技與創(chuàng)新,2021. 
24. 章魁,衛(wèi)新華.遠(yuǎn)程智能安防與控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].科技信息,2012. 
25. He Bai, Yun Gao et al. “Study on College Apartment Fire Monitoring System Based on GSM.” Applied Mechanics and Materials(2014). 
26. 王鵬,于潤(rùn)嘉,羅全珍.基于物聯(lián)網(wǎng)的家庭智慧安防系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].物聯(lián)網(wǎng)技術(shù),2020. 
27. Xiangjun Su, G. Guo et al. “Design and Implementation of Dormitory Disciplinary Monitoring and Management System.” Applied Mechanics and Materials(2014). 
28. Lele Niu, Zu‐Pei Ou et al. “Design of Indoor Intelligent Alarm System Based on STM32.” Proceedings of the 6th International Conference on Intelligent Information Processing(2021). 
29. Fengshan Huang, Shaozi Li et al. “Design on Intelligent Smoke Alarm System.” 2022 12th International Conference on Information Technology in Medicine and Education (ITME)v(2022). 
30. Biao Chen, Shihong Qin et al. “Design of Smart Home Control System Based on STM32.” 2021 4th International Conference on Robotics, Control and Automation Engineering (RCAE)(2021).

二、部署華為云物聯(lián)網(wǎng)平臺(tái)

華為云官網(wǎng): https://www.huaweicloud.com/

打開(kāi)官網(wǎng),搜索物聯(lián)網(wǎng),就能快速找到 設(shè)備接入IoTDA

image-20221204193824815

2.1 物聯(lián)網(wǎng)平臺(tái)介紹

華為云物聯(lián)網(wǎng)平臺(tái)(IoT 設(shè)備接入云服務(wù))提供海量設(shè)備的接入和管理能力,將物理設(shè)備聯(lián)接到云,支撐設(shè)備數(shù)據(jù)采集上云和云端下發(fā)命令給設(shè)備進(jìn)行遠(yuǎn)程控制,配合華為云其他產(chǎn)品,幫助我們快速構(gòu)筑物聯(lián)網(wǎng)解決方案。

使用物聯(lián)網(wǎng)平臺(tái)構(gòu)建一個(gè)完整的物聯(lián)網(wǎng)解決方案主要包括3部分:物聯(lián)網(wǎng)平臺(tái)、業(yè)務(wù)應(yīng)用和設(shè)備。

物聯(lián)網(wǎng)平臺(tái)作為連接業(yè)務(wù)應(yīng)用和設(shè)備的中間層,屏蔽了各種復(fù)雜的設(shè)備接口,實(shí)現(xiàn)設(shè)備的快速接入;同時(shí)提供強(qiáng)大的開(kāi)放能力,支撐行業(yè)用戶(hù)構(gòu)建各種物聯(lián)網(wǎng)解決方案。

設(shè)備可以通過(guò)固網(wǎng)、2G/3G/4G/5G、NB-IoT、Wifi等多種網(wǎng)絡(luò)接入物聯(lián)網(wǎng)平臺(tái),并使用LWM2M/CoAP、MQTT、HTTPS協(xié)議將業(yè)務(wù)數(shù)據(jù)上報(bào)到平臺(tái),平臺(tái)也可以將控制命令下發(fā)給設(shè)備。

業(yè)務(wù)應(yīng)用通過(guò)調(diào)用物聯(lián)網(wǎng)平臺(tái)提供的API,實(shí)現(xiàn)設(shè)備數(shù)據(jù)采集、命令下發(fā)、設(shè)備管理等業(yè)務(wù)場(chǎng)景。

img

2.2 開(kāi)通物聯(lián)網(wǎng)服務(wù)

地址: https://www.huaweicloud.com/product/iothub.html

image-20221204194233414

點(diǎn)擊立即創(chuàng)建

image-20240117134653452

正在創(chuàng)建標(biāo)準(zhǔn)版實(shí)例,需要等待片刻。

image-20240117134729401

創(chuàng)建完成之后,點(diǎn)擊實(shí)例名稱(chēng)。 可以看到標(biāo)準(zhǔn)版實(shí)例的設(shè)備接入端口和地址。

image-20240425180759670

在上面也能看到 免費(fèi)單元的限制。

image-20240425180817704

開(kāi)通之后,點(diǎn)擊總覽,也能查看接入信息。 我們當(dāng)前設(shè)備準(zhǔn)備采用MQTT協(xié)議接入華為云平臺(tái),這里可以看到MQTT協(xié)議的地址和端口號(hào)等信息。

image-20240425180845461

總結(jié):

端口號(hào):   MQTT (1883)| MQTTS (8883)	
接入地址:ad635970a1.st1.iotda-device.cn-north-4.myhuaweicloud.com

**根據(jù)域名地址得到IP地址信息: **

打開(kāi)Windows電腦的命令行控制臺(tái)終端,使用ping 命令。ping一下即可。

Microsoft Windows [版本 10.0.19045.4170]
(c) Microsoft Corporation。保留所有權(quán)利。

C:Users11266 >ping ad635970a1.st1.iotda-device.cn-north-4.myhuaweicloud.com

正在 Ping ad635970a1.st1.iotda-device.cn-north-4.myhuaweicloud.com [117.78.5.125] 具有 32 字節(jié)的數(shù)據(jù):
來(lái)自 117.78.5.125 的回復(fù): 字節(jié)=32 時(shí)間=35ms TTL=93
來(lái)自 117.78.5.125 的回復(fù): 字節(jié)=32 時(shí)間=36ms TTL=93
來(lái)自 117.78.5.125 的回復(fù): 字節(jié)=32 時(shí)間=36ms TTL=93
來(lái)自 117.78.5.125 的回復(fù): 字節(jié)=32 時(shí)間=39ms TTL=93

117.78.5.125 的 Ping 統(tǒng)計(jì)信息:
    數(shù)據(jù)包: 已發(fā)送 = 4,已接收 = 4,丟失 = 0 (0% 丟失),
往返行程的估計(jì)時(shí)間(以毫秒為單位):
    最短 = 35ms,最長(zhǎng) = 39ms,平均 = 36ms

C:Users11266 >

MQTT協(xié)議接入端口號(hào)有兩個(gè),1883是非加密端口,8883是證書(shū)加密端口,單片機(jī)無(wú)法加載證書(shū),所以使用1883端口比較合適。 接下來(lái)的ESP8266就采用1883端口連接華為云物聯(lián)網(wǎng)平臺(tái)。

2.3 創(chuàng)建產(chǎn)品

(1)創(chuàng)建產(chǎn)品

image-20230109164412041

(2)填寫(xiě)產(chǎn)品信息

根據(jù)自己產(chǎn)品名字填寫(xiě),下面的設(shè)備類(lèi)型選擇自定義類(lèi)型。

image-20240612094809689

(3)產(chǎn)品創(chuàng)建成功

image-20240612095148945

創(chuàng)建完成之后點(diǎn)擊查看詳情。

image-20240612095134263

(4)添加自定義模型

產(chǎn)品創(chuàng)建完成之后,點(diǎn)擊進(jìn)入產(chǎn)品詳情頁(yè)面,翻到最下面可以看到模型定義。

模型簡(jiǎn)單來(lái)說(shuō): 就是存放設(shè)備上傳到云平臺(tái)的數(shù)據(jù)。

你可以根據(jù)自己的產(chǎn)品進(jìn)行創(chuàng)建。

比如:

煙霧可以叫  MQ2
溫度可以叫  Temperature
濕度可以叫  humidity
火焰可以叫  flame
其他的傳感器自己用單詞簡(jiǎn)寫(xiě)命名即可。 這就是你的單片機(jī)設(shè)備端上傳到服務(wù)器的數(shù)據(jù)名字。

先點(diǎn)擊自定義模型。

image-20240612095517900

再創(chuàng)建一個(gè)服務(wù)ID。

image-20240612095542749

接著點(diǎn)擊新增屬性。

image-20240612095648815

image-20240612095711898

2.4 添加設(shè)備

產(chǎn)品是屬于上層的抽象模型,接下來(lái)在產(chǎn)品模型下添加實(shí)際的設(shè)備。添加的設(shè)備最終需要與真實(shí)的設(shè)備關(guān)聯(lián)在一起,完成數(shù)據(jù)交互。

(1)注冊(cè)設(shè)備

image-20240425181935561

(2)根據(jù)自己的設(shè)備填寫(xiě)

image-20240612100115167

(3)保存設(shè)備信息

創(chuàng)建完畢之后,點(diǎn)擊保存并關(guān)閉,得到創(chuàng)建的設(shè)備密匙信息。該信息在后續(xù)生成MQTT三元組的時(shí)候需要使用。

image-20240612100128061

(4)設(shè)備創(chuàng)建完成

image-20240612100147232

(5)設(shè)備詳情

image-20240612100202960

image-20240612100217236

2.5 MQTT協(xié)議主題訂閱與發(fā)布

(1)MQTT協(xié)議介紹

當(dāng)前的設(shè)備是采用MQTT協(xié)議與華為云平臺(tái)進(jìn)行通信。

MQTT是一個(gè)物聯(lián)網(wǎng)傳輸協(xié)議,它被設(shè)計(jì)用于輕量級(jí)的發(fā)布/訂閱式消息傳輸,旨在為低帶寬和不穩(wěn)定的網(wǎng)絡(luò)環(huán)境中的物聯(lián)網(wǎng)設(shè)備提供可靠的網(wǎng)絡(luò)服務(wù)。MQTT是專(zhuān)門(mén)針對(duì)物聯(lián)網(wǎng)開(kāi)發(fā)的輕量級(jí)傳輸協(xié)議。MQTT協(xié)議針對(duì)低帶寬網(wǎng)絡(luò),低計(jì)算能力的設(shè)備,做了特殊的優(yōu)化,使得其能適應(yīng)各種物聯(lián)網(wǎng)應(yīng)用場(chǎng)景。目前MQTT擁有各種平臺(tái)和設(shè)備上的客戶(hù)端,已經(jīng)形成了初步的生態(tài)系統(tǒng)。

MQTT是一種消息隊(duì)列協(xié)議,使用發(fā)布/訂閱消息模式,提供一對(duì)多的消息發(fā)布,解除應(yīng)用程序耦合,相對(duì)于其他協(xié)議,開(kāi)發(fā)更簡(jiǎn)單;MQTT協(xié)議是工作在TCP/IP協(xié)議上;由TCP/IP協(xié)議提供穩(wěn)定的網(wǎng)絡(luò)連接;所以,只要具備TCP協(xié)議棧的網(wǎng)絡(luò)設(shè)備都可以使用MQTT協(xié)議。 本次設(shè)備采用的ESP8266就具備TCP協(xié)議棧,能夠建立TCP連接,所以,配合STM32代碼里封裝的MQTT協(xié)議,就可以與華為云平臺(tái)完成通信。

華為云的MQTT協(xié)議接入幫助文檔在這里: https://support.huaweicloud.com/devg-iothub/iot_02_2200.html

img

業(yè)務(wù)流程:

img

(2)華為云平臺(tái)MQTT協(xié)議使用限制

描述限制
支持的MQTT協(xié)議版本3.1.1
與標(biāo)準(zhǔn)MQTT協(xié)議的區(qū)別支持Qos 0和Qos 1支持Topic自定義不支持QoS2不支持will、retain msg
MQTTS支持的安全等級(jí)采用TCP通道基礎(chǔ) + TLS協(xié)議(最高TLSv1.3版本)
單帳號(hào)每秒最大MQTT連接請(qǐng)求數(shù)無(wú)限制
單個(gè)設(shè)備每分鐘支持的最大MQTT連接數(shù)1
單個(gè)MQTT連接每秒的吞吐量,即帶寬,包含直連設(shè)備和網(wǎng)關(guān)3KB/s
MQTT單個(gè)發(fā)布消息最大長(zhǎng)度,超過(guò)此大小的發(fā)布請(qǐng)求將被直接拒絕1MB
MQTT連接心跳時(shí)間建議值心跳時(shí)間限定為30至1200秒,推薦設(shè)置為120秒
產(chǎn)品是否支持自定義Topic支持
消息發(fā)布與訂閱設(shè)備只能對(duì)自己的Topic進(jìn)行消息發(fā)布與訂閱
每個(gè)訂閱請(qǐng)求的最大訂閱數(shù)無(wú)限制

(3)主題訂閱格式

幫助文檔地址:https://support.huaweicloud.com/devg-iothub/iot_02_2200.html

image-20221207153310037

對(duì)于設(shè)備而言,一般會(huì)訂閱平臺(tái)下發(fā)消息給設(shè)備 這個(gè)主題。

設(shè)備想接收平臺(tái)下發(fā)的消息,就需要訂閱平臺(tái)下發(fā)消息給設(shè)備 的主題,訂閱后,平臺(tái)下發(fā)消息給設(shè)備,設(shè)備就會(huì)收到消息。

如果設(shè)備想要知道平臺(tái)下發(fā)的消息,需要訂閱上面圖片里標(biāo)注的主題。

以當(dāng)前設(shè)備為例,最終訂閱主題的格式如下:
$oc/devices/{device_id}/sys/messages/down
    
最終的格式:
$oc/devices/663cb18871d845632a0912e7_dev1/sys/messages/down

(4)主題發(fā)布格式

對(duì)于設(shè)備來(lái)說(shuō),主題發(fā)布表示向云平臺(tái)上傳數(shù)據(jù),將最新的傳感器數(shù)據(jù),設(shè)備狀態(tài)上傳到云平臺(tái)。

這個(gè)操作稱(chēng)為:屬性上報(bào)。

幫助文檔地址:https://support.huaweicloud.com/usermanual-iothub/iot_06_v5_3010.html

image-20221207153637391

根據(jù)幫助文檔的介紹, 當(dāng)前設(shè)備發(fā)布主題,上報(bào)屬性的格式總結(jié)如下:

發(fā)布的主題格式:
$oc/devices/{device_id}/sys/properties/report
 
最終的格式:
$oc/devices/663cb18871d845632a0912e7_dev1/sys/properties/report
發(fā)布主題時(shí),需要上傳數(shù)據(jù),這個(gè)數(shù)據(jù)格式是JSON格式。

上傳的JSON數(shù)據(jù)格式如下:

{
  "services": [
    {
      "service_id": < 填服務(wù)ID >,
      "properties": {
        "< 填屬性名稱(chēng)1 >": < 填屬性值 >,
        "< 填屬性名稱(chēng)2 >": < 填屬性值 >,
        ..........
      }
    }
  ]
}
根據(jù)JSON格式,一次可以上傳多個(gè)屬性字段。 這個(gè)JSON格式里的,服務(wù)ID,屬性字段名稱(chēng),屬性值類(lèi)型,在前面創(chuàng)建產(chǎn)品的時(shí)候就已經(jīng)介紹了,不記得可以翻到前面去查看。

根據(jù)這個(gè)格式,組合一次上傳的屬性數(shù)據(jù):
{"services": [{"service_id": "stm32","properties":{"DHT11_T":30,"DHT11_H":10,"BH1750":1,"MQ135":0}}]}

2.6 MQTT三元組

MQTT協(xié)議登錄需要填用戶(hù)ID,設(shè)備ID,設(shè)備密碼等信息,就像我們平時(shí)登錄QQ,微信一樣要輸入賬號(hào)密碼才能登錄。MQTT協(xié)議登錄的這3個(gè)參數(shù),一般稱(chēng)為MQTT三元組。

接下來(lái)介紹,華為云平臺(tái)的MQTT三元組參數(shù)如何得到。

(1)MQTT服務(wù)器地址

要登錄MQTT服務(wù)器,首先記得先知道服務(wù)器的地址是多少,端口是多少。

幫助文檔地址:https://console.huaweicloud.com/iotdm/?region=cn-north-4#/dm-portal/home

image-20240509193207359

MQTT協(xié)議的端口支持1883和8883,它們的區(qū)別是:8883 是加密端口更加安全。但是單片機(jī)上使用比較困難,所以當(dāng)前的設(shè)備是采用1883端口進(jìn)連接的。

根據(jù)上面的域名和端口號(hào),得到下面的IP地址和端口號(hào)信息: 如果設(shè)備支持填寫(xiě)域名可以直接填域名,不支持就直接填寫(xiě)IP地址。 (IP地址就是域名解析得到的)

華為云的MQTT服務(wù)器地址:117.78.5.125
華為云的MQTT端口號(hào):1883

如何得到IP地址?如何域名轉(zhuǎn)IP? 打開(kāi)Windows的命令行輸入以下命令。

ping  ad635970a1.st1.iotda-device.cn-north-4.myhuaweicloud.com

image-20240425182610048

(2)生成MQTT三元組

華為云提供了一個(gè)在線(xiàn)工具,用來(lái)生成MQTT鑒權(quán)三元組: https://iot-tool.obs-website.cn-north-4.myhuaweicloud.com/

打開(kāi)這個(gè)工具,填入設(shè)備的信息(也就是剛才創(chuàng)建完設(shè)備之后保存的信息),點(diǎn)擊生成,就可以得到MQTT的登錄信息了。

下面是打開(kāi)的頁(yè)面:

image-20240425183025893

填入設(shè)備的信息: (上面兩行就是設(shè)備創(chuàng)建完成之后保存得到的)

直接得到三元組信息。

image-20240509193310020

得到三元組之后,設(shè)備端通過(guò)MQTT協(xié)議登錄鑒權(quán)的時(shí)候,填入?yún)?shù)即可。

ClientId  663cb18871d845632a0912e7_dev1_0_0_2024050911
Username  663cb18871d845632a0912e7_dev1
Password  71b82deae83e80f04c4269b5bbce3b2fc7c13f610948fe210ce18650909ac237

2.7 模擬設(shè)備登錄測(cè)試

經(jīng)過(guò)上面的步驟介紹,已經(jīng)創(chuàng)建了產(chǎn)品,設(shè)備,數(shù)據(jù)模型,得到MQTT登錄信息。 接下來(lái)就用MQTT客戶(hù)端軟件模擬真實(shí)的設(shè)備來(lái)登錄平臺(tái)。測(cè)試與服務(wù)器通信是否正常。

(1)填入登錄信息

打開(kāi)MQTT客戶(hù)端軟件,對(duì)號(hào)填入相關(guān)信息(就是上面的文本介紹)。然后,點(diǎn)擊登錄,訂閱主題,發(fā)布主題。

image-20240509193457358

(2)打開(kāi)網(wǎng)頁(yè)查看

完成上面的操作之后,打開(kāi)華為云網(wǎng)頁(yè)后臺(tái),可以看到設(shè)備已經(jīng)在線(xiàn)了。

image-20240612100508790

點(diǎn)擊詳情頁(yè)面,可以看到上傳的數(shù)據(jù):

image-20240612100529581

到此,云平臺(tái)的部署已經(jīng)完成,設(shè)備已經(jīng)可以正常上傳數(shù)據(jù)了。

(3)MQTT登錄測(cè)試參數(shù)總結(jié)

MQTT服務(wù)器:  117.78.5.125
MQTT端口號(hào):  183

//物聯(lián)網(wǎng)服務(wù)器的設(shè)備信息
#define MQTT_ClientID "663cb18871d845632a0912e7_dev1_0_0_2024050911"
#define MQTT_UserName "663cb18871d845632a0912e7_dev1"
#define MQTT_PassWord "71b82deae83e80f04c4269b5bbce3b2fc7c13f610948fe210ce18650909ac237"

//訂閱與發(fā)布的主題
#define SET_TOPIC  "$oc/devices/663cb18871d845632a0912e7_dev1/sys/messages/down"  //訂閱
#define POST_TOPIC "$oc/devices/663cb18871d845632a0912e7_dev1/sys/properties/report"  //發(fā)布


發(fā)布的數(shù)據(jù):
{"services": [{"service_id": "stm32","properties":{"DHT11_T":30,"DHT11_H":10,"BH1750":1,"MQ135":0}}]}

2.8 創(chuàng)建IAM賬戶(hù)

創(chuàng)建一個(gè)IAM賬戶(hù),因?yàn)榻酉聛?lái)開(kāi)發(fā)上位機(jī),需要使用云平臺(tái)的API接口,這些接口都需要token進(jìn)行鑒權(quán)。簡(jiǎn)單來(lái)說(shuō),就是身份的認(rèn)證。 調(diào)用接口獲取Token時(shí),就需要填寫(xiě)IAM賬號(hào)信息。所以,接下來(lái)演示一下過(guò)程。

地址: https://console.huaweicloud.com/iam/?region=cn-north-4#/iam/users

**【1】獲取項(xiàng)目憑證 ** 點(diǎn)擊左上角用戶(hù)名,選擇下拉菜單里的我的憑證

image-20240509193646253

image-20240509193701262

項(xiàng)目憑證:

28add376c01e4a61ac8b621c714bf459

【2】創(chuàng)建IAM用戶(hù)

鼠標(biāo)放在左上角頭像上,在下拉菜單里選擇統(tǒng)一身份認(rèn)證

image-20240509193729078

點(diǎn)擊左上角創(chuàng)建用戶(hù)

image-20240509193744287

image-20240314153208692

image-20240314153228359

image-20240314153258229

創(chuàng)建成功:

image-20240314153315444

【3】創(chuàng)建完成

image-20240509193828289

用戶(hù)信息如下:

主用戶(hù)名  l19504562721
IAM用戶(hù)  ds_abc
密碼     DS12345678

2.9 獲取影子數(shù)據(jù)

幫助文檔:https://support.huaweicloud.com/api-iothub/iot_06_v5_0079.html

設(shè)備影子介紹:

設(shè)備影子是一個(gè)用于存儲(chǔ)和檢索設(shè)備當(dāng)前狀態(tài)信息的JSON文檔。
每個(gè)設(shè)備有且只有一個(gè)設(shè)備影子,由設(shè)備ID唯一標(biāo)識(shí)
設(shè)備影子僅保存最近一次設(shè)備的上報(bào)數(shù)據(jù)和預(yù)期數(shù)據(jù)
無(wú)論該設(shè)備是否在線(xiàn),都可以通過(guò)該影子獲取和設(shè)置設(shè)備的屬性

簡(jiǎn)單來(lái)說(shuō):設(shè)備影子就是保存,設(shè)備最新上傳的一次數(shù)據(jù)。

我們?cè)O(shè)計(jì)的軟件里,如果想要獲取設(shè)備的最新?tīng)顟B(tài)信息,就采用設(shè)備影子接口。

如果對(duì)接口不熟悉,可以先進(jìn)行在線(xiàn)調(diào)試:https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=IoTDA&api=ShowDeviceShadow

在線(xiàn)調(diào)試接口,可以請(qǐng)求影子接口,了解請(qǐng)求,與返回的數(shù)據(jù)格式。

調(diào)試完成看右下角的響應(yīng)體,就是返回的影子數(shù)據(jù)。

image-20240509194152229

設(shè)備影子接口返回的數(shù)據(jù)如下:

{
 "device_id": "663cb18871d845632a0912e7_dev1",
 "shadow": [
  {
   "service_id": "stm32",
   "desired": {
    "properties": null,
    "event_time": null
   },
   "reported": {
    "properties": {
     "DHT11_T": 18,
     "DHT11_H": 90,
     "BH1750": 38,
     "MQ135": 70
    },
    "event_time": "20240509T113448Z"
   },
   "version": 3
  }
 ]
}

調(diào)試成功之后,可以得到訪(fǎng)問(wèn)影子數(shù)據(jù)的真實(shí)鏈接,接下來(lái)的代碼開(kāi)發(fā)中,就采用Qt寫(xiě)代碼訪(fǎng)問(wèn)此鏈接,獲取影子數(shù)據(jù),完成上位機(jī)開(kāi)發(fā)。

image-20240509194214716

鏈接如下:

https://ad635970a1.st1.iotda-app.cn-north-4.myhuaweicloud.com:443/v5/iot/28add376c01e4a61ac8b621c714bf459/devices/663cb18871d845632a0912e7_dev1/shadow

三、上位機(jī)開(kāi)發(fā)

為了方便查看設(shè)備上傳的數(shù)據(jù),接下來(lái)利用Qt開(kāi)發(fā)一款A(yù)ndroid手機(jī)APP 和 Windows上位機(jī)。

使用華為云平臺(tái)提供的API接口獲取設(shè)備上傳的數(shù)據(jù),進(jìn)行可視化顯示,以及遠(yuǎn)程控制設(shè)備。

3.1 Qt開(kāi)發(fā)環(huán)境安裝

Qt的中文官網(wǎng): https://www.qt.io/zh-cn/image-20221207160550486

image-20221207160606892

QT5.12.6的下載地址:https://download.qt.io/archive/qt/5.12/5.12.6

或者去網(wǎng)盤(pán)里下載:https://pan.quark.cn/s/145a9b3f7f53

打開(kāi)下載鏈接后選擇下面的版本進(jìn)行下載:

qt-opensource-windows-x86-5.12.6.exe 13-Nov-2019 07:28 3.7G Details

軟件安裝時(shí)斷網(wǎng)安裝,否則會(huì)提示輸入賬戶(hù)。

安裝的時(shí)候,第一個(gè)復(fù)選框里勾選一個(gè)mingw 32編譯器即可,其他的不管默認(rèn)就行,直接點(diǎn)擊下一步繼續(xù)安裝。

image-20221203151742653

選擇MinGW 32-bit 編譯器: (一定要看清楚了)

image-20221203151750344

說(shuō)明: 我這里只是介紹PC端,也就是Windows系統(tǒng)下的Qt環(huán)境搭建。 Android的開(kāi)發(fā)環(huán)境比較麻煩,如果想學(xué)習(xí)Android開(kāi)發(fā),想編譯Android程序的APP,需要自己去搭建Android環(huán)境。

也可以看下面這篇文章,不過(guò)這個(gè)文章是在Qt開(kāi)發(fā)專(zhuān)欄里付費(fèi)的,需要訂閱專(zhuān)欄才可以看。 如果不想付費(fèi)看,也可以自行找其他教程,自己搭建好必須的環(huán)境就行了

Android環(huán)境搭建的博客鏈接: https://blog.csdn.net/xiaolong1126626497/article/details/117254453

3.2 新建上位機(jī)工程

前面2講解了需要用的API接口,接下來(lái)就使用Qt設(shè)計(jì)上位機(jī),設(shè)計(jì)界面,完成整體上位機(jī)的邏輯設(shè)計(jì)。

【1】新建工程

image-20240117144052547

【2】設(shè)置項(xiàng)目的名稱(chēng)。

image-20240509195711965

【3】選擇編譯系統(tǒng)

image-20240117144239681

【4】選擇默認(rèn)繼承的類(lèi)

image-20240117144302275

【5】選擇編譯器

image-20240314162137170

【6】點(diǎn)擊完成

image-20240117144354252

【7】工程創(chuàng)建完成

image-20230421094133333

3.3 設(shè)計(jì)UI界面與工程配置

【1】打開(kāi)UI文件

image-20230421094815236

打開(kāi)默認(rèn)的界面如下:

image-20240425194845233

【2】開(kāi)始設(shè)計(jì)界面

根據(jù)自己需求設(shè)計(jì)界面。

3.5 編譯Windows上位機(jī)

點(diǎn)擊軟件左下角的綠色三角形按鈕進(jìn)行編譯運(yùn)行。

image-20240509202031739

3.6 配置Android環(huán)境

如果想編譯Android手機(jī)APP,必須要先自己配置好自己的Android環(huán)境。(搭建環(huán)境的過(guò)程可以自行百度搜索學(xué)習(xí))

然后才可以進(jìn)行下面的步驟。

【1】選擇Android編譯器

image-20240425232651515

image-20240509202408776

【2】創(chuàng)建Android配置文件

image-20240117144604025

image-20240117144635052

image-20240117144652014

創(chuàng)建完成。

【3】配置Android圖標(biāo)與名稱(chēng)

image-20240612100947190

【3】編譯Android上位機(jī)

Qt本身是跨平臺(tái)的,直接選擇Android的編譯器,就可以將程序編譯到Android平臺(tái)。

然后點(diǎn)擊構(gòu)建。

image-20240509202534407

成功之后,在目錄下可以看到生成的apk文件,也就是Android手機(jī)的安裝包,電腦端使用QQ發(fā)送給手機(jī)QQ,手機(jī)登錄QQ接收,就能直接安裝。

生成的apk的目錄在哪里呢? 編譯完成之后,在控制臺(tái)會(huì)輸出APK文件的路徑。

知道目錄在哪里之后,在Windows的文件資源管理器里,找到路徑,具體看下圖,找到生成的apk文件。

image-20240509202712295

D:/linux-share-dir/QT/build-app_Huawei_Eco_tracking-Android_for_arm64_v8a_Clang_Qt_5_12_6_for_Android_ARM64_v8a-Release/android-build//build/outputs/apk/debug/android-build-debug.apk

四、STM32代碼開(kāi)發(fā)

4.1 硬件接線(xiàn)說(shuō)明

1】 BC26-NBIOT模塊 接線(xiàn)
PA2------ >BC26的RXD
PA3------ >BC26的TXD
PB6------ >BC26的RST(復(fù)位腳)
GND---GND 地
VCC---VCC 電源(5.0V)



【2TFT 1.44 寸彩屏接線(xiàn)
GND   電源地
VCC   3.3v電源
SCL   接PC8(SCL)
SDA   接PC9(SDA)
RST   接PC10
DC    接PB7
CS    接PB8
BL	  接PB11



【3】電力信息檢測(cè)模塊---波特率9600
PD2(RX)  ----- >模塊的TXD
PC12(TX) ----- >模塊的RXD
VCC----------5V
GND----------GND


【4】蜂鳴器
GND----GND
VCC---3.3V
OUT---PC7


【5】MQ2煙霧濃度檢測(cè)
DO---PC0
AO---PA1
GND---GND 地
VCC---VCC 電源(5.0V)


【6】火焰檢測(cè)
GND----GND
VCC---5V
OUT---PC0


【7】人體檢測(cè)
GND----GND
VCC---5V
OUT---PC1


【7】門(mén)鎖開(kāi)關(guān)
GND----GND
VCC---5V
OUT---PC2



【8】板載LED燈接線(xiàn)(這個(gè)不用接,這是開(kāi)發(fā)板本身的)
LED1---PA8
LED2---PD2


【9】板載按鍵接線(xiàn)(這個(gè)不用接,這是開(kāi)發(fā)板本身的)
K0---PA0 
K1---PC5 
K2---PA15

4.2 原理圖

image-20241108112340489

4.3 框架圖

image-20241108110919088

4.4 程序下載

打STM32的keil工程,編譯代碼、然后,使用USB線(xiàn)將開(kāi)發(fā)板的左邊的USB口(串口1)與電腦的USB連接,打開(kāi)程序下載軟件下載程序。

具體下載過(guò)程看下面圖:

image-20240319223247836

打開(kāi)程序下載軟件:[軟件就在資料包里的軟件工具目錄下]

image-20240120160735942

4.5 程序正常運(yùn)行效果

設(shè)備運(yùn)行過(guò)程中會(huì)通過(guò)串口打印調(diào)試信息,我們可以通過(guò)串口打印了解程序是否正常。

程序下載之后,可以打開(kāi)串口調(diào)試助手查看程序運(yùn)行的狀態(tài)信息。[軟件就在資料包里的軟件工具目錄下]

image-20240327212042050

4.6 主項(xiàng)目的邏輯代碼

當(dāng)前項(xiàng)目源碼已經(jīng)上傳到網(wǎng)盤(pán):https://ccnr8sukk85n.feishu.cn/wiki/QjY8weDYHibqRYkFP2qcA9aGnvb?from=from_copylink

下面是提供的項(xiàng)目主項(xiàng)目的偽代碼。展示整個(gè)項(xiàng)目的運(yùn)行邏輯思路。

#include "stm32f10x.h"
#include "lcd.h"
#include "nbiot.h"
#include "mq2.h"
#include "flame_sensor.h"
#include "pir_sensor.h"
#include "power_module.h"
#include "door_lock.h"
#include "buzzer.h"
#include "keypad.h"
#include "usart.h"
#include "cloud_comm.h"

// 定義報(bào)警閾值
#define CURRENT_THRESHOLD 10.0
#define POWER_THRESHOLD 50.0

// 初始化函數(shù)聲明
void System_Init(void);
void Flame_Detection_Handler(void);
void Smoke_Detection_Handler(void);
void Human_Detection_Handler(void);
void Power_Monitoring_Handler(void);
void Door_Control_Handler(void);

int main(void) {
    // 系統(tǒng)初始化
    System_Init();
    
    while (1) {
        // 火焰檢測(cè)處理
        Flame_Detection_Handler();

        // 煙霧檢測(cè)處理
        Smoke_Detection_Handler();

        // 人體檢測(cè)處理
        Human_Detection_Handler();

        // 電力監(jiān)控處理
        Power_Monitoring_Handler();

        // 門(mén)磁控制處理
        Door_Control_Handler();

        // 其他操作,可以添加延時(shí)或功耗管理策略等
    }
}

void System_Init(void) {
    // 初始化外設(shè)和模塊
    LCD_Init();
    NBIOT_Init();
    MQ2_Init();
    FlameSensor_Init();
    PIRSensor_Init();
    PowerModule_Init();
    DoorLock_Init();
    Buzzer_Init();
    Keypad_Init();
    USART_Init();
    CloudComm_Init();

    LCD_DisplayString("System Initialized");
}

// 火焰檢測(cè)處理函數(shù)
void Flame_Detection_Handler(void) {
    if (FlameSensor_Detect()) {
        Buzzer_On();
        LCD_DisplayString("Flame Detected!");
        CloudComm_SendAlert("Flame detected in room!");
    } else {
        Buzzer_Off();
    }
}

// 煙霧檢測(cè)處理函數(shù)
void Smoke_Detection_Handler(void) {
    if (MQ2_DetectSmoke()) {
        Buzzer_On();
        LCD_DisplayString("Smoke Detected!");
        CloudComm_SendAlert("Smoke detected in room!");
    } else {
        Buzzer_Off();
    }
}

// 人體檢測(cè)處理函數(shù)
void Human_Detection_Handler(void) {
    if (PIRSensor_Detect()) {
        LCD_DisplayString("Human Detected");
        CloudComm_SendData("Human detected in the room.");
    }
}

// 電力監(jiān)控處理函數(shù)
void Power_Monitoring_Handler(void) {
    float current = PowerModule_GetCurrent();
    float power = PowerModule_GetPower();

    // 顯示電力信息
    LCD_DisplayPower(current, power);

    // 超過(guò)閾值時(shí)報(bào)警并切斷電源
    if (current > CURRENT_THRESHOLD || power > POWER_THRESHOLD) {
        Buzzer_On();
        LCD_DisplayString("Power Overload!");
        PowerModule_Disconnect();
        CloudComm_SendAlert("Power overload detected!");
    } else {
        Buzzer_Off();
    }
}

// 門(mén)磁控制處理函數(shù)
void Door_Control_Handler(void) {
    if (Keypad_Pressed()) {
        DoorLock_Open();
        CloudComm_SendData("Door opened via local keypad.");
    }

    // 遠(yuǎn)程開(kāi)門(mén)請(qǐng)求處理
    if (CloudComm_ReceiveCommand() == OPEN_DOOR_COMMAND) {
        DoorLock_Open();
        CloudComm_SendData("Door opened via remote control.");
    }
}

4.7 MQTT協(xié)議設(shè)計(jì)

下面是BC26模塊的子模塊代碼框架,展示了如何利用BC26 NB-IoT模塊實(shí)現(xiàn)數(shù)據(jù)的初始化、發(fā)送和接收功能。

#include "bc26.h"
#include "usart.h"
#include < string.h >

// 發(fā)送和接收緩沖區(qū)
#define BC26_BUFFER_SIZE 256
static char txBuffer[BC26_BUFFER_SIZE];
static char rxBuffer[BC26_BUFFER_SIZE];

// 內(nèi)部函數(shù)聲明
static void BC26_SendCommand(const char* command);
static int BC26_WaitForResponse(const char* expectedResponse, uint32_t timeout);

// 初始化BC26模塊
void BC26_Init(void) {
    // 配置USART用于通信
    USART_Config();

    // 復(fù)位BC26模塊
    BC26_SendCommand("AT+NRBr");
    if (BC26_WaitForResponse("OK", 5000) != 0) {
        // 復(fù)位失敗處理
        LCD_DisplayString("BC26 Reset Failed");
        return;
    }
    LCD_DisplayString("BC26 Initialized");

    // 配置BC26為NB-IoT網(wǎng)絡(luò)
    BC26_SendCommand("AT+CGATT=1r"); // 附著網(wǎng)絡(luò)
    if (BC26_WaitForResponse("OK", 3000) != 0) {
        LCD_DisplayString("Network Attach Failed");
        return;
    }

    // 配置MQTT連接(示例)
    BC26_SendCommand("AT+QMTCFG="version",0,4r");
    BC26_WaitForResponse("OK", 2000);
}

// 發(fā)送數(shù)據(jù)到云平臺(tái)
int BC26_SendData(const char* topic, const char* payload) {
    // 設(shè)置發(fā)送MQTT消息
    snprintf(txBuffer, sizeof(txBuffer), "AT+QMTPUB=0,0,0,0,"%s"r", topic);
    BC26_SendCommand(txBuffer);

    if (BC26_WaitForResponse(" >", 2000) != 0) {
        return -1; // 等待消息提示失敗
    }

    // 發(fā)送實(shí)際消息負(fù)載
    BC26_SendCommand(payload);
    BC26_SendCommand("x1A"); // 結(jié)束符(Ctrl+Z)
    return BC26_WaitForResponse("OK", 5000);
}

// 接收數(shù)據(jù)
int BC26_ReceiveData(char* buffer, size_t bufferSize) {
    // 監(jiān)聽(tīng)來(lái)自BC26的數(shù)據(jù)
    size_t len = USART_ReceiveData(buffer, bufferSize, 1000);
    if (len > 0) {
        buffer[len] = '?'; // 確保字符串以NULL結(jié)尾
        return len;
    }
    return 0; // 無(wú)數(shù)據(jù)接收
}

// 內(nèi)部函數(shù)實(shí)現(xiàn)

// 發(fā)送命令
static void BC26_SendCommand(const char* command) {
    USART_SendString(command);
}

// 等待特定響應(yīng)
static int BC26_WaitForResponse(const char* expectedResponse, uint32_t timeout) {
    uint32_t startTime = HAL_GetTick();
    while ((HAL_GetTick() - startTime) < timeout) {
        size_t len = USART_ReceiveData(rxBuffer, sizeof(rxBuffer) - 1, 100);
        if (len > 0) {
            rxBuffer[len] = '?';
            if (strstr(rxBuffer, expectedResponse) != NULL) {
                return 0; // 找到期望響應(yīng)
            }
        }
    }
    return -1; // 超時(shí)或失敗
}

4.8 MQ2煙霧檢測(cè)

在這個(gè)項(xiàng)目中,MQ2傳感器用于煙霧檢測(cè)。MQ2傳感器的輸出是一個(gè)模擬信號(hào),需要通過(guò)ADC(模擬到數(shù)字轉(zhuǎn)換器)讀取數(shù)據(jù),并根據(jù)讀取的值來(lái)判斷是否發(fā)生煙霧或氣體泄漏。

#include "stm32f10x.h"
#include "MQ2.h"
#include "stdio.h"

#define MQ2_ADC_CHANNEL  0  // 假設(shè)MQ2連接在A(yíng)DC通道0
#define MQ2_THRESHOLD    3000 // 假設(shè)閾值為3000,可以根據(jù)實(shí)際情況調(diào)整

// 定義函數(shù)原型
void MQ2_Init(void);
uint16_t MQ2_Read(void);
void MQ2_Process(void);

// 初始化MQ2傳感器
void MQ2_Init(void) {
    // 配置ADC
    ADC_InitTypeDef ADC_InitStructure;
    ADC_CommonInitTypeDef ADC_CommonInitStructure;
    GPIO_InitTypeDef GPIO_InitStructure;

    // 開(kāi)啟ADC和GPIO時(shí)鐘
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1 | RCC_APB2Periph_GPIOA, ENABLE);

    // 配置GPIO:假設(shè)MQ2傳感器連接在PA0引腳
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN; // 設(shè)置為模擬輸入模式
    GPIO_Init(GPIOA, &GPIO_InitStructure);

    // 配置ADC
    ADC_CommonInitStructure.ADC_Mode = ADC_Mode_Independent;
    ADC_CommonInitStructure.ADC_Prescaler = ADC_Prescaler_Div2; // 設(shè)置ADC預(yù)分頻器
    ADC_CommonInitStructure.ADC_DMAAccessMode = ADC_DMAAccessMode_Disabled;
    ADC_CommonInitStructure.ADC_TwoSamplingDelay = ADC_TwoSamplingDelay_5Cycles;
    ADC_CommonInit(&ADC_CommonInitStructure);

    ADC_InitStructure.ADC_ScanConvMode = DISABLE;    // 單通道模式
    ADC_InitStructure.ADC_ContinuousConvMode = ENABLE; // 連續(xù)轉(zhuǎn)換
    ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_T1_CC1; // 軟件觸發(fā)
    ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; // 右對(duì)齊
    ADC_InitStructure.ADC_NbrOfChannel = 1;  // 只有一個(gè)通道
    ADC_Init(ADC1, &ADC_InitStructure);

    // 啟動(dòng)ADC
    ADC_Cmd(ADC1, ENABLE);
    ADC_ResetCalibration(ADC1);
    while (ADC_GetFlagStatus(ADC1, ADC_FLAG_ADEN) == RESET);
    ADC_StartCalibration(ADC1);
    while (ADC_GetFlagStatus(ADC1, ADC_FLAG_ADCAL) != RESET);
}

// 讀取MQ2傳感器數(shù)據(jù)
uint16_t MQ2_Read(void) {
    ADC_SoftwareStartConvCmd(ADC1, ENABLE);  // 啟動(dòng)轉(zhuǎn)換
    while (ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC) == RESET);  // 等待轉(zhuǎn)換完成
    return ADC_GetConversionValue(ADC1);  // 返回轉(zhuǎn)換結(jié)果
}

// 處理MQ2傳感器數(shù)據(jù)
void MQ2_Process(void) {
    uint16_t MQ2_value = MQ2_Read();
    printf("MQ2 Sensor Value: %dn", MQ2_value);

    // 判斷是否超過(guò)煙霧閾值
    if (MQ2_value > MQ2_THRESHOLD) {
        printf("Warning: Smoke detected!n");
        // 在此觸發(fā)報(bào)警或者其他動(dòng)作,比如蜂鳴器
        // Beeper_Alarm();
    } else {
        printf("No smoke detected.n");
    }
}

代碼說(shuō)明

  1. MQ2_Init函數(shù) :初始化ADC和GPIO模塊,為讀取MQ2傳感器的模擬信號(hào)做準(zhǔn)備。GPIOA引腳0被配置為模擬輸入模式,供ADC讀取數(shù)據(jù)。ADC1的相關(guān)配置包括單通道模式、連續(xù)轉(zhuǎn)換模式以及數(shù)據(jù)右對(duì)齊。
  2. MQ2_Read函數(shù) :?jiǎn)?dòng)ADC轉(zhuǎn)換,等待轉(zhuǎn)換完成后返回轉(zhuǎn)換值。這個(gè)值是MQ2傳感器的模擬電壓值被轉(zhuǎn)換成的數(shù)字信號(hào)。根據(jù)這個(gè)值,可以推斷煙霧的濃度。
  3. MQ2_Process函數(shù) :這是一個(gè)高層處理函數(shù),它讀取MQ2傳感器的值,并判斷值是否超過(guò)預(yù)設(shè)的閾值。如果超過(guò)閾值,則認(rèn)為發(fā)生了煙霧或有害氣體泄漏,并進(jìn)行報(bào)警處理(此處通過(guò)打印信息顯示報(bào)警狀態(tài))。

五、總結(jié)

本項(xiàng)目設(shè)計(jì)并實(shí)現(xiàn)了一種基于STM32微控制器和NB-IoT通信技術(shù)的宿舍安防控制系統(tǒng),結(jié)合了多種傳感器和智能控制模塊,提供了全方位的安全保障。通過(guò)硬件和軟件的綜合設(shè)計(jì),系統(tǒng)能夠?qū)崟r(shí)監(jiān)測(cè)宿舍環(huán)境的各種安全參數(shù),并能夠在發(fā)生火焰、煙霧、電氣異常等危險(xiǎn)情況時(shí)自動(dòng)觸發(fā)報(bào)警。項(xiàng)目的主要功能包括火焰檢測(cè)、煙霧檢測(cè)、門(mén)磁控制、人體感應(yīng)、電氣監(jiān)測(cè)以及遠(yuǎn)程數(shù)據(jù)監(jiān)控,充分實(shí)現(xiàn)了智能化安防的目標(biāo)。

系統(tǒng)特點(diǎn)

  1. 多種傳感器集成 :系統(tǒng)集成了MQ2煙霧傳感器、火焰?zhèn)鞲衅鳌⑷梭w感應(yīng)傳感器、電流電壓采集模塊等硬件,能夠多角度實(shí)時(shí)檢測(cè)宿舍內(nèi)的安全狀況。
  2. 報(bào)警和控制功能 :當(dāng)檢測(cè)到火焰、煙霧、人體移動(dòng)或電氣參數(shù)異常時(shí),系統(tǒng)會(huì)通過(guò)蜂鳴器報(bào)警,并可以通過(guò)本地按鍵或遠(yuǎn)程控制(通過(guò)手機(jī)APP或PC上位機(jī))進(jìn)行門(mén)鎖控制和其他應(yīng)急措施。
  3. 電氣監(jiān)測(cè)與保護(hù) :系統(tǒng)具備電氣監(jiān)測(cè)功能,能夠?qū)崟r(shí)檢測(cè)直流電和單相交流電的電壓、電流、功率等參數(shù),并在電流或功率超過(guò)設(shè)定閾值時(shí)自動(dòng)切斷電源,確保用電安全。
  4. 數(shù)據(jù)云端管理 :通過(guò)NB-IoT通信模塊和MQTT協(xié)議,系統(tǒng)能夠?qū)⒉杉降臄?shù)據(jù)上傳至華為云物聯(lián)網(wǎng)平臺(tái),實(shí)現(xiàn)數(shù)據(jù)的遠(yuǎn)程監(jiān)控和設(shè)備的遠(yuǎn)程管理。用戶(hù)可以通過(guò)Android手機(jī)APP遠(yuǎn)程查看設(shè)備狀態(tài)、調(diào)整參數(shù)并進(jìn)行控制。
  5. 本地顯示功能 :1.44寸LCD顯示屏提供了實(shí)時(shí)的本地?cái)?shù)據(jù)顯示,用戶(hù)可以直接在本地查看傳感器的實(shí)時(shí)數(shù)據(jù)和報(bào)警狀態(tài),增強(qiáng)了系統(tǒng)的用戶(hù)友好性和可操作性。

項(xiàng)目實(shí)現(xiàn)過(guò)程

項(xiàng)目的實(shí)現(xiàn)過(guò)程中,在硬件設(shè)計(jì)階段選擇了合適的傳感器和控制模塊,確保能夠高效地進(jìn)行火焰、煙霧、人體感應(yīng)及電氣參數(shù)的實(shí)時(shí)檢測(cè)。STM32F103RCT6微控制器作為主控芯片,提供了足夠的處理能力來(lái)支持各個(gè)傳感器的數(shù)據(jù)采集和處理。

在軟件開(kāi)發(fā)方面,使用Keil5開(kāi)發(fā)環(huán)境,編寫(xiě)了包括硬件初始化、傳感器數(shù)據(jù)采集、報(bào)警邏輯、LCD顯示及NB-IoT通信的完整代碼。數(shù)據(jù)上傳功能通過(guò)MQTT協(xié)議實(shí)現(xiàn),確保了數(shù)據(jù)能夠穩(wěn)定、安全地傳輸?shù)皆贫似脚_(tái)。

遇到的挑戰(zhàn)與解決方案

  1. 傳感器調(diào)試與靈敏度調(diào)整 :由于不同傳感器對(duì)環(huán)境因素的響應(yīng)差異較大,調(diào)試過(guò)程中需要精確設(shè)置各傳感器的閾值。例如,MQ2煙霧傳感器對(duì)氣體的反應(yīng)受環(huán)境濕度、溫度等因素的影響較大,通過(guò)反復(fù)測(cè)試和調(diào)整,最終確定了合理的觸發(fā)閾值。
  2. NB-IoT通信穩(wěn)定性 :NB-IoT模塊需要良好的信號(hào)覆蓋以保證數(shù)據(jù)上傳的穩(wěn)定性。為此,項(xiàng)目在硬件設(shè)計(jì)時(shí)加強(qiáng)了天線(xiàn)的布置,并對(duì)NB-IoT模塊的參數(shù)進(jìn)行了多次優(yōu)化測(cè)試,確保了數(shù)據(jù)傳輸?shù)目煽啃浴?/li>
  3. 系統(tǒng)功耗優(yōu)化 :由于該系統(tǒng)需要長(zhǎng)時(shí)間運(yùn)行,為了延長(zhǎng)設(shè)備的使用壽命,采用了低功耗設(shè)計(jì),如適時(shí)的休眠模式和合理的電源管理策略,確保了系統(tǒng)的高效能和低功耗。

項(xiàng)目創(chuàng)新點(diǎn)

  1. 集成化設(shè)計(jì) :本項(xiàng)目通過(guò)將多種傳感器(如火焰、煙霧、人體、氣體、電氣參數(shù)等)和控制模塊(如門(mén)鎖控制、蜂鳴器報(bào)警)集成在一個(gè)系統(tǒng)中,實(shí)現(xiàn)了全方位的安防監(jiān)控,提升了宿舍的安全性。
  2. 云端與遠(yuǎn)程控制 :通過(guò)NB-IoT通信和MQTT協(xié)議,系統(tǒng)不僅支持本地控制,還可以通過(guò)云平臺(tái)進(jìn)行遠(yuǎn)程管理和控制。這種設(shè)計(jì)為宿舍管理者提供了便捷的實(shí)時(shí)監(jiān)控和遠(yuǎn)程操作功能,增強(qiáng)了系統(tǒng)的智能化和便捷性。
  3. 數(shù)據(jù)安全與監(jiān)控 :通過(guò)將實(shí)時(shí)監(jiān)測(cè)數(shù)據(jù)上傳到華為云物聯(lián)網(wǎng)平臺(tái),確保了數(shù)據(jù)的安全存儲(chǔ)與備份,同時(shí)用戶(hù)可以隨時(shí)查看設(shè)備狀態(tài),并根據(jù)實(shí)際情況進(jìn)行調(diào)整,保證了宿舍環(huán)境的安全和舒適。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6043

    文章

    44621

    瀏覽量

    638488
  • 控制系統(tǒng)
    +關(guān)注

    關(guān)注

    41

    文章

    6658

    瀏覽量

    110884
  • STM32
    +關(guān)注

    關(guān)注

    2272

    文章

    10923

    瀏覽量

    357547
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    [原創(chuàng)]專(zhuān)業(yè)弱電培訓(xùn)(電視監(jiān)控系統(tǒng)集成師、系統(tǒng)集成師、系統(tǒng)集成項(xiàng)目經(jīng)

    數(shù)基本持平。課程名稱(chēng):系統(tǒng)集成師模塊:系統(tǒng)概述、電視監(jiān)控系統(tǒng)、樓宇對(duì)講系統(tǒng)、室內(nèi)防盜報(bào)警
    發(fā)表于 10-16 14:49

    【OK210申請(qǐng)】智能汽車(chē)系統(tǒng)

    申請(qǐng)理由:本人之前主要是做智能控制方面,做過(guò)智能家居,智能汽車(chē)電子。智能汽車(chē)主要是汽車(chē)系統(tǒng),主控芯片是用STM32
    發(fā)表于 07-08 14:50

    【IntoRobot Atom申請(qǐng)】智能家庭系統(tǒng)

    , 讓物聯(lián)網(wǎng)走進(jìn)家庭,實(shí)現(xiàn)智能家庭。將有很好的發(fā)展前景.項(xiàng)目描述:我們家庭系統(tǒng)分為以下幾個(gè)部分,首先是人臉識(shí)別系統(tǒng), wifi無(wú)線(xiàn)開(kāi)門(mén)系統(tǒng)
    發(fā)表于 12-29 16:20

    基于STM32和漢楓LPB100無(wú)線(xiàn)WIFI模塊的家電狀態(tài)顯示及控制系統(tǒng)

    家電狀態(tài)顯示及控制系統(tǒng)分為中央控制系統(tǒng)系統(tǒng)中央控制系統(tǒng)采用
    發(fā)表于 07-04 20:07

    【uFun試用申請(qǐng)】智能門(mén)鎖控制系統(tǒng)

    項(xiàng)目名稱(chēng):智能門(mén)鎖控制系統(tǒng)試用計(jì)劃:本人在智能領(lǐng)域有超過(guò)五年開(kāi)發(fā)經(jīng)驗(yàn),所開(kāi)發(fā)的人臉識(shí)別門(mén)禁控制系
    發(fā)表于 04-09 14:12

    智能化公寓測(cè)控系統(tǒng)的原理是什么?

    基于A(yíng)RM的學(xué)生公寓智能測(cè)控系統(tǒng)。該系統(tǒng)由采集終端和異地集中控制終端兩部分組成,兩者通過(guò)RS232總線(xiàn)進(jìn)行串行通信,可實(shí)現(xiàn)異地
    發(fā)表于 03-30 06:59

    監(jiān)控系統(tǒng)的組成部分

      一、表現(xiàn)層  表現(xiàn)城是我們最直觀(guān)感受到的,它展現(xiàn)了整個(gè)監(jiān)控系統(tǒng)的品質(zhì)。如監(jiān)控電視墻、監(jiān)視器、高音報(bào)警喇叭、報(bào)警自動(dòng)駁接電話(huà)等等都屬于這一層。  二、控制層  
    發(fā)表于 12-11 14:08

    制動(dòng)抱死控制系統(tǒng)(ABS)是什么意思

    制動(dòng)抱死控制系統(tǒng)(ABS)是什么意思 制動(dòng)抱死控制系統(tǒng)(ABS—Anti-lock Barke System)最初來(lái)源于機(jī)車(chē)制動(dòng)中的“小平面現(xiàn)象”,即列車(chē)緊急制動(dòng)
    發(fā)表于 03-11 17:20 ?7730次閱讀

    基于STM32的太陽(yáng)自動(dòng)跟蹤控制系統(tǒng)的設(shè)計(jì)

    基于STM32的太陽(yáng)自動(dòng)跟蹤控制系統(tǒng)的設(shè)計(jì),有需要的看看
    發(fā)表于 11-02 10:14 ?56次下載

    基于ZigBee的學(xué)生宿舍智能限電控制系統(tǒng)_滕志軍

    基于ZigBee的學(xué)生宿舍智能限電控制系統(tǒng)_滕志軍
    發(fā)表于 01-31 15:22 ?10次下載

    STM32的智能溫室控制系統(tǒng)

    STM32的智能溫室控制系統(tǒng)
    發(fā)表于 09-28 15:05 ?74次下載
    <b class='flag-5'>STM32</b>的智能溫室<b class='flag-5'>控制系統(tǒng)</b>

    基于STM32的步進(jìn)電機(jī)控制系統(tǒng)

    摘 要 本文的主要工作是基于STM32步進(jìn)電機(jī)控制系統(tǒng)的設(shè)計(jì)。隨著越來(lái)越多的高科技產(chǎn)品逐漸融入了日常生活中,步進(jìn)電機(jī)控制系統(tǒng)發(fā)生了巨大的變化。單片機(jī)、C語(yǔ)言等前沿學(xué)科的技術(shù)的日趨成熟與實(shí)用化,使得
    發(fā)表于 11-27 18:49 ?93次下載

    智能系統(tǒng)散熱問(wèn)題如何解決

    智能系統(tǒng)在傳統(tǒng)系統(tǒng)的基礎(chǔ)上,加入機(jī)器人性化學(xué)習(xí)、更加深入的學(xué)習(xí)、智能算法、
    發(fā)表于 05-06 10:06 ?1061次閱讀

    基于單片機(jī)的學(xué)生宿舍控制系統(tǒng)

    為了方便學(xué)校對(duì)各個(gè)寢室樓進(jìn)行管理,本次設(shè)計(jì)了學(xué)生宿舍控制系統(tǒng)
    的頭像 發(fā)表于 09-02 09:30 ?1364次閱讀

    基于A(yíng)RM的宿舍智能監(jiān)測(cè)系統(tǒng)設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于A(yíng)RM的宿舍智能監(jiān)測(cè)系統(tǒng)設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 11-07 14:50 ?13次下載
    基于A(yíng)RM的<b class='flag-5'>宿舍</b>智能<b class='flag-5'>安</b><b class='flag-5'>防</b>監(jiān)測(cè)<b class='flag-5'>系統(tǒng)</b>設(shè)計(jì)
    大发888游戏平台3403| 牌九百家乐官网的玩法技巧和规则 | 温州百家乐真人网| 百家乐官网法则| 新乐园百家乐官网娱乐城| 海尔百家乐官网的玩法技巧和规则| 百家乐官网谋略| 玩百家乐官网犯法| 百家乐官网太阳城 | 大发888 娱乐| 大发888注册开户| 金博士娱乐城备用网址| 德州扑克大小| 棋牌游戏赚钱| 球探比分 | 百家乐官网平台开发| 新东方百家乐娱乐城| 乐宝百家乐的玩法技巧和规则| 全讯网77| 大发888大发体育| 百家乐官网对付抽水| 百家乐官网游戏机图片| 百家乐官网美国玩法| 单张百家乐论坛| 百家乐科学打法| 新濠百家乐官网娱乐城| 百家乐真人娱乐场开户注册| 大发888娱乐场游戏下载| 皇星娱乐城| 百家乐官网玩揽法的论坛| 百家乐技巧大全| 大发888娱乐城官网| 百家乐官网游戏看路| 网上百家乐官网做假| 百家乐发牌靴遥控| 大发888娱乐场 zb8| 百家乐官网教父方法| 百家乐官网试玩1000元| 百家乐高手论坛| 大发888娱乐注册| 网络百家乐官网游赌博|