色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

基于單片機(jī)+物聯(lián)網(wǎng)設(shè)計(jì)的居家電路保護(hù)裝置

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

一、前言

1.1 項(xiàng)目介紹

【1】項(xiàng)目開(kāi)發(fā)背景

隨著現(xiàn)代家庭電器設(shè)備的日益增多,家庭用電安全問(wèn)題逐漸成為人們關(guān)注的重點(diǎn)。為了確保家庭電路的安全可靠運(yùn)行,預(yù)防因電路故障或不當(dāng)使用電器而導(dǎo)致的安全事故,設(shè)計(jì)一款高效、智能的居家電路保護(hù)裝置顯得尤為重要。該裝置不僅能夠?qū)崟r(shí)監(jiān)測(cè)家庭電路中的電壓、電流和功率等關(guān)鍵參數(shù),還能對(duì)環(huán)境溫濕度及煙霧濃度進(jìn)行監(jiān)控,從而為用戶(hù)提供全方位的家庭用電安全保障。

在傳統(tǒng)家庭電路保護(hù)方案中,通常僅依靠斷路器來(lái)提供過(guò)載保護(hù),但這種方式無(wú)法實(shí)現(xiàn)精細(xì)化管理,也無(wú)法為用戶(hù)提供詳細(xì)的用電信息反饋。因此,我們基于單片機(jī)物聯(lián)網(wǎng)技術(shù),開(kāi)發(fā)了一款集成了多種功能的智能居家電路保護(hù)裝置。這款裝置安裝于家庭總電表輸出端,支持多達(dá)20路獨(dú)立線(xiàn)路的連接,每一路都可以單獨(dú)監(jiān)控其用電情況,包括電壓、電流、功率的變化。通過(guò)內(nèi)置的高精度電力參數(shù)采集模塊,裝置能夠準(zhǔn)確測(cè)量并分析各線(xiàn)路的用電數(shù)據(jù),一旦檢測(cè)到異常,如電流或功率超過(guò)設(shè)定閾值,它將立即切斷電源,并通過(guò)本地蜂鳴器發(fā)出警報(bào),同時(shí)向用戶(hù)的手機(jī)APP發(fā)送通知,以便用戶(hù)及時(shí)采取措施。

考慮到智能家居系統(tǒng)的普及以及用戶(hù)對(duì)于遠(yuǎn)程監(jiān)控的需求,我們的設(shè)計(jì)方案特別加入了WIFI聯(lián)網(wǎng)功能。利用MQTT協(xié)議,所有狀態(tài)信息都可以上傳至華為云物聯(lián)網(wǎng)服務(wù)器,用戶(hù)無(wú)論身處何地,只需打開(kāi)手機(jī)上的Android應(yīng)用程序,即可查看家中的用電狀況,了解歷史變化趨勢(shì),并可查看以波形或數(shù)字形式呈現(xiàn)的數(shù)據(jù)。此外,通過(guò)這個(gè)應(yīng)用程序,用戶(hù)還能夠?qū)崿F(xiàn)遠(yuǎn)程控制,例如恢復(fù)被切斷的電源或者調(diào)整報(bào)警閾值。

為了讓用戶(hù)更直觀地掌握當(dāng)前的用電情況,我們?cè)谘b置上配置了一個(gè)OLED顯示屏,可以實(shí)時(shí)顯示采集到的所有信息。這樣即使沒(méi)有智能手機(jī),用戶(hù)也能一目了然地看到重要的用電數(shù)據(jù)。同時(shí),我們也選用了SHT30傳感器來(lái)監(jiān)測(cè)環(huán)境溫濕度,以及MQ2傳感器用于煙霧濃度監(jiān)測(cè),這些都進(jìn)一步增強(qiáng)了裝置的安全性和功能性。

整個(gè)項(xiàng)目采用STM32F103RCT6作為主控芯片,它具有高性能、低功耗的特點(diǎn),非常適合處理復(fù)雜的計(jì)算任務(wù)和通信任務(wù)。軟件方面,STM32的開(kāi)發(fā)使用Keil5工具鏈,編程語(yǔ)言選擇C語(yǔ)言,而Android應(yīng)用則采用Qt框架進(jìn)行開(kāi)發(fā),編程語(yǔ)言為C++。這種組合不僅保證了硬件和軟件之間的緊密配合,也使得系統(tǒng)具備良好的穩(wěn)定性和擴(kuò)展性。通過(guò)這樣一個(gè)智能居家電路保護(hù)裝置,我們希望能夠?yàn)槊恳粋€(gè)家庭帶來(lái)更加安心、便捷的用電體驗(yàn)。

image-20241211113521546

image-20241211113607405

【2】設(shè)計(jì)實(shí)現(xiàn)的功能

當(dāng)前項(xiàng)目使用的硬件模塊對(duì)應(yīng)的代碼工程已經(jīng)更新到網(wǎng)盤(pán):https://ccnr8sukk85n.feishu.cn/wiki/QjY8weDYHibqRYkFP2qcA9aGnvb?from=from_copylink

(1) 電路監(jiān)測(cè)與保護(hù)功能
支持直流電和單相交流電的電壓、電流、功率監(jiān)測(cè)功能。當(dāng)檢測(cè)到某一路線(xiàn)路的電流或功率超過(guò)設(shè)定閥值時(shí),裝置會(huì)立即切斷電源,同時(shí)通過(guò)本地蜂鳴器報(bào)警,上傳告警信息至物聯(lián)網(wǎng)服務(wù)器,并推送到手機(jī)APP。

(2) 多路電路獨(dú)立監(jiān)控
支持最多20路獨(dú)立線(xiàn)路的用電參數(shù)監(jiān)測(cè),包括電壓、電流、功率等。各路參數(shù)的歷史變化數(shù)據(jù)會(huì)以波形圖或數(shù)字形式在手機(jī)APP中顯示,方便用戶(hù)掌握各電器的用電情況。

(3) 環(huán)境溫濕度監(jiān)測(cè)功能
通過(guò)SHT30傳感器實(shí)時(shí)測(cè)量周?chē)h(huán)境的溫度和濕度,并將數(shù)據(jù)上傳到物聯(lián)網(wǎng)服務(wù)器和手機(jī)APP,同時(shí)支持在本地OLED顯示屏上顯示當(dāng)前的環(huán)境信息。

(4) 煙霧濃度檢測(cè)功能
利用MQ2傳感器監(jiān)測(cè)空氣中的煙霧濃度。如果煙霧濃度超過(guò)設(shè)定的安全閾值,裝置會(huì)立即觸發(fā)本地蜂鳴器報(bào)警,同時(shí)將告警信息上傳至物聯(lián)網(wǎng)服務(wù)器,并推送到手機(jī)APP進(jìn)行遠(yuǎn)程提醒。

(5) 數(shù)據(jù)上云與遠(yuǎn)程監(jiān)控
支持通過(guò)WIFI模塊與物聯(lián)網(wǎng)服務(wù)器連接,采用MQTT協(xié)議上傳設(shè)備的各類(lèi)數(shù)據(jù)(包括電路監(jiān)測(cè)數(shù)據(jù)、環(huán)境溫濕度數(shù)據(jù)、煙霧濃度數(shù)據(jù)等)。用戶(hù)可通過(guò)Android手機(jī)APP實(shí)時(shí)查看設(shè)備狀態(tài),獲取數(shù)據(jù)歷史記錄,并遠(yuǎn)程操作和管理設(shè)備。

(6) 本地實(shí)時(shí)數(shù)據(jù)顯示
采用0.96英寸OLED顯示屏,實(shí)時(shí)顯示所有監(jiān)測(cè)數(shù)據(jù),包括電壓、電流、功率、環(huán)境溫濕度、煙霧濃度等信息,便于用戶(hù)在現(xiàn)場(chǎng)查看設(shè)備工作狀態(tài)。

(7) 超限保護(hù)與告警功能
當(dāng)檢測(cè)到任何線(xiàn)路的電流、功率超出設(shè)定閥值,或煙霧濃度超標(biāo)時(shí),裝置會(huì)自動(dòng)切斷相關(guān)線(xiàn)路的電源,并發(fā)出蜂鳴器告警,同時(shí)通過(guò)物聯(lián)網(wǎng)服務(wù)器將信息傳遞至手機(jī)APP。

(8) 歷史數(shù)據(jù)存儲(chǔ)與波形顯示
支持電壓、電流、功率等參數(shù)的歷史變化數(shù)據(jù)存儲(chǔ),并通過(guò)手機(jī)APP以波形圖形式顯示,方便用戶(hù)進(jìn)行用電分析和趨勢(shì)判斷。

(9) 手機(jī)APP遠(yuǎn)程控制功能
用戶(hù)可通過(guò)手機(jī)APP遠(yuǎn)程控制設(shè)備,包括開(kāi)關(guān)各路電路、修改參數(shù)閾值,以及查看歷史數(shù)據(jù)和告警記錄等。

(10) 智能化與模塊化設(shè)計(jì)
所有功能模塊化設(shè)計(jì),方便硬件擴(kuò)展與維護(hù),同時(shí)通過(guò)軟件配置和調(diào)試實(shí)現(xiàn)靈活功能升級(jí),適應(yīng)不同家庭需求。

(11) 全面的安全與節(jié)能方案
通過(guò)精準(zhǔn)的監(jiān)測(cè)和智能控制,幫助用戶(hù)在確保安全的前提下合理用電、減少浪費(fèi),實(shí)現(xiàn)節(jié)能減排的目標(biāo)。

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

(1) 主控模塊 :采用STM32F103RCT6作為核心控制器,該芯片具備高性能ARM Cortex-M3內(nèi)核,提供豐富的外設(shè)接口和足夠的處理能力,以滿(mǎn)足對(duì)多路電力參數(shù)的實(shí)時(shí)監(jiān)測(cè)、數(shù)據(jù)處理以及與云端通信的需求。

(2) 電力參數(shù)采集模塊 :選用支持串口通信的電力參數(shù)采集模塊,用于精確測(cè)量每一路電路中的電壓、電流和功率等電能參數(shù)。此模塊能夠?qū)⒉杉降臄?shù)據(jù)通過(guò)串行接口發(fā)送給主控MCU進(jìn)行分析處理,確保了數(shù)據(jù)的準(zhǔn)確性與穩(wěn)定性。

(3) 環(huán)境溫濕度傳感器 :安裝SHT30數(shù)字溫濕度傳感器,用以監(jiān)控周?chē)h(huán)境的溫度和濕度變化。該傳感器具有高精度和快速響應(yīng)的特點(diǎn),可以為用戶(hù)提供準(zhǔn)確的室內(nèi)環(huán)境信息,并幫助檢測(cè)潛在的安全隱患。

(4) 煙霧濃度檢測(cè)模塊 :集成MQ2氣體傳感器,專(zhuān)門(mén)用來(lái)探測(cè)空氣中煙霧濃度。當(dāng)檢測(cè)到異常高的煙霧水平時(shí),系統(tǒng)會(huì)觸發(fā)報(bào)警機(jī)制,提醒用戶(hù)可能存在火災(zāi)風(fēng)險(xiǎn)。

(5) 無(wú)線(xiàn)通信模塊 :采用ESP8266 WIFI模塊,負(fù)責(zé)實(shí)現(xiàn)設(shè)備與互聯(lián)網(wǎng)之間的連接,使得裝置可以通過(guò)MQTT協(xié)議向華為云物聯(lián)網(wǎng)平臺(tái)上傳數(shù)據(jù)。此外,它還支持遠(yuǎn)程配置和控制功能,允許用戶(hù)通過(guò)手機(jī)APP管理家居用電情況。

(6) 本地顯示模塊 :配備一塊OLED顯示屏,用于直觀地呈現(xiàn)當(dāng)前各路電路的電壓、電流、功率狀態(tài),以及環(huán)境溫濕度和煙霧濃度等信息。OLED屏幕提供了清晰的視覺(jué)效果,便于用戶(hù)即時(shí)了解家庭用電狀況。

(7) 聲光報(bào)警模塊 :包括一個(gè)高電平觸發(fā)的有源蜂鳴器,當(dāng)檢測(cè)到任何危險(xiǎn)信號(hào)(如過(guò)載、短路或者高煙霧濃度)時(shí),蜂鳴器會(huì)發(fā)出響亮的聲音警報(bào);同時(shí)還可以添加LED指示燈來(lái)增強(qiáng)視覺(jué)警示效果。

(8) 電源管理模塊 :設(shè)計(jì)專(zhuān)門(mén)的電源管理系統(tǒng),確保整個(gè)系統(tǒng)的穩(wěn)定供電。考慮到不同應(yīng)用場(chǎng)景下的需求,該模塊應(yīng)能兼容直流和單相交流輸入,并且擁有適當(dāng)?shù)倪^(guò)壓、欠壓保護(hù)措施,以保障系統(tǒng)長(zhǎng)期可靠運(yùn)行。

(9) 繼電器控制模塊 :為了實(shí)現(xiàn)對(duì)各路電路的通斷控制,每個(gè)回路上都會(huì)串聯(lián)一個(gè)小型繼電器。這些繼電器受主控MCU控制,在發(fā)生異常情況時(shí)迅速切斷相關(guān)電路,防止事故擴(kuò)大化。

1.2 設(shè)計(jì)思路

本項(xiàng)目設(shè)計(jì)的核心思路是將電路保護(hù)功能與物聯(lián)網(wǎng)技術(shù)相結(jié)合,構(gòu)建一個(gè)智能化、模塊化的居家電路保護(hù)裝置。通過(guò)對(duì)家庭電路的實(shí)時(shí)監(jiān)控和遠(yuǎn)程管理,實(shí)現(xiàn)對(duì)電路安全的全面保障和對(duì)用電信息的高效管理。整個(gè)設(shè)計(jì)從功能需求出發(fā),綜合硬件選型、軟件開(kāi)發(fā)、數(shù)據(jù)通信和用戶(hù)體驗(yàn)等多個(gè)方面展開(kāi),力求提供一套完整且實(shí)用的解決方案。

基于對(duì)家庭用電安全問(wèn)題的分析,確定了裝置的主要功能,包括電路監(jiān)測(cè)與保護(hù)、環(huán)境參數(shù)監(jiān)測(cè)、煙霧濃度檢測(cè)等。為了實(shí)現(xiàn)這些功能,選擇STM32F103RCT6作為主控芯片,利用其性能穩(wěn)定、資源豐富的特點(diǎn),通過(guò)與外部傳感器和模塊的結(jié)合,構(gòu)建多功能數(shù)據(jù)采集與處理系統(tǒng)。設(shè)計(jì)中采用的電力參數(shù)采集模塊通過(guò)串口通信采集電壓、電流、功率等關(guān)鍵參數(shù),確保數(shù)據(jù)的精確性和可靠性。同時(shí),為提升系統(tǒng)的適用性,支持最多20路獨(dú)立線(xiàn)路的電路監(jiān)控與保護(hù),滿(mǎn)足大多數(shù)家庭的用電需求。

考慮到家庭環(huán)境對(duì)安全和舒適的雙重要求,設(shè)計(jì)中加入了環(huán)境溫濕度監(jiān)測(cè)和煙霧濃度檢測(cè)功能。環(huán)境溫濕度通過(guò)SHT30傳感器獲取,實(shí)時(shí)反映家庭的環(huán)境狀態(tài),幫助用戶(hù)及時(shí)調(diào)整室內(nèi)環(huán)境。煙霧濃度通過(guò)MQ2傳感器檢測(cè),當(dāng)煙霧濃度超限時(shí)觸發(fā)報(bào)警,及時(shí)預(yù)警潛在火災(zāi)風(fēng)險(xiǎn),為家庭安全提供額外保障。這些功能的加入,不僅豐富了裝置的應(yīng)用場(chǎng)景,還顯著提升了用戶(hù)的安全感。

為了實(shí)現(xiàn)設(shè)備的智能化和遠(yuǎn)程管理,項(xiàng)目設(shè)計(jì)中引入了物聯(lián)網(wǎng)技術(shù)。裝置通過(guò)WIFI模塊接入互聯(lián)網(wǎng),利用MQTT協(xié)議與華為云物聯(lián)網(wǎng)服務(wù)器通信。所有數(shù)據(jù),包括電路參數(shù)、環(huán)境參數(shù)和報(bào)警信息,都將實(shí)時(shí)上傳至服務(wù)器。用戶(hù)可通過(guò)Android手機(jī)APP查看這些數(shù)據(jù),APP采用Qt開(kāi)發(fā),提供直觀的用戶(hù)界面和高效的交互方式。此外,APP還支持遠(yuǎn)程操作,包括線(xiàn)路開(kāi)關(guān)控制、參數(shù)閾值設(shè)置等,極大地提升了用戶(hù)的便捷性和對(duì)設(shè)備的掌控能力。

數(shù)據(jù)展示方面,項(xiàng)目設(shè)計(jì)兼顧了遠(yuǎn)程和本地兩種場(chǎng)景。在遠(yuǎn)程端,手機(jī)APP提供波形和數(shù)字兩種顯示方式,滿(mǎn)足用戶(hù)對(duì)用電數(shù)據(jù)的詳細(xì)分析需求。在本地端,使用0.96英寸OLED顯示屏實(shí)時(shí)顯示當(dāng)前監(jiān)測(cè)的所有數(shù)據(jù),方便用戶(hù)在現(xiàn)場(chǎng)直觀了解設(shè)備的運(yùn)行狀態(tài)。此外,歷史數(shù)據(jù)的存儲(chǔ)和展示功能,使用戶(hù)能夠回顧和分析各項(xiàng)參數(shù)的變化趨勢(shì),幫助優(yōu)化用電習(xí)慣。

為了確保系統(tǒng)的穩(wěn)定性與可靠性,設(shè)計(jì)中采用了模塊化思路,各功能模塊相對(duì)獨(dú)立,互不干擾。例如,電路監(jiān)測(cè)模塊、環(huán)境監(jiān)測(cè)模塊、煙霧檢測(cè)模塊和數(shù)據(jù)通信模塊分別設(shè)計(jì)和測(cè)試,在主控芯片的統(tǒng)一管理下協(xié)調(diào)運(yùn)行。這樣不僅簡(jiǎn)化了硬件設(shè)計(jì)和軟件開(kāi)發(fā)過(guò)程,還提高了系統(tǒng)的可維護(hù)性和擴(kuò)展性。

整體設(shè)計(jì)還充分考慮了設(shè)備的安全性。通過(guò)硬件和軟件的結(jié)合,裝置在檢測(cè)到電路超載或煙霧超標(biāo)時(shí),能迅速切斷電源并發(fā)出警報(bào),最大程度降低風(fēng)險(xiǎn)。同時(shí),利用物聯(lián)網(wǎng)技術(shù)實(shí)現(xiàn)遠(yuǎn)程報(bào)警提醒,讓用戶(hù)即使不在家中也能及時(shí)掌握安全狀況。綜合以上設(shè)計(jì)思路,本項(xiàng)目不僅滿(mǎn)足了現(xiàn)代家庭對(duì)電路保護(hù)的基本需求,還通過(guò)智能化手段提升了用戶(hù)體驗(yàn),為建設(shè)更加安全、舒適和節(jié)能的家庭環(huán)境提供了可靠的技術(shù)支持。

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

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

功能模塊描述
主控模塊使用STM32F103RCT6作為核心控制器,負(fù)責(zé)整體數(shù)據(jù)處理、邏輯控制及與各子系統(tǒng)的通信。
電力參數(shù)監(jiān)測(cè)實(shí)時(shí)監(jiān)測(cè)每一路線(xiàn)路上的電壓、電流和功率,并在超過(guò)設(shè)定閾值時(shí)自動(dòng)切斷電源并報(bào)警。
環(huán)境溫濕度監(jiān)測(cè)通過(guò)SHT30傳感器實(shí)時(shí)監(jiān)測(cè)環(huán)境溫度和濕度,提供室內(nèi)環(huán)境信息,幫助識(shí)別潛在的安全風(fēng)險(xiǎn)。
煙霧濃度監(jiān)測(cè)利用MQ2傳感器檢測(cè)空氣中的煙霧濃度,在濃度超標(biāo)時(shí)觸發(fā)警報(bào)并向用戶(hù)發(fā)送通知。
無(wú)線(xiàn)通信功能內(nèi)置WIFI模塊ESP8266,使用MQTT協(xié)議將設(shè)備狀態(tài)上傳至華為云物聯(lián)網(wǎng)平臺(tái),支持遠(yuǎn)程監(jiān)控。
本地顯示功能配備OLED顯示屏,實(shí)時(shí)顯示當(dāng)前用電情況、環(huán)境參數(shù)等信息,方便用戶(hù)查看。
聲光報(bào)警功能包含高電平觸發(fā)的有源蜂鳴器和可能的LED指示燈,在檢測(cè)到異常情況時(shí)發(fā)出聲音和燈光警示。
遠(yuǎn)程控制功能用戶(hù)可通過(guò)手機(jī)APP實(shí)現(xiàn)對(duì)設(shè)備的遠(yuǎn)程控制,包括但不限于調(diào)整報(bào)警閾值、恢復(fù)被切斷的電源等。
歷史數(shù)據(jù)分析支持對(duì)測(cè)量的電壓、電流、功率參數(shù)的歷史變化進(jìn)行記錄,并能在APP上以波形或數(shù)字形式展示。
電源管理功能設(shè)計(jì)有專(zhuān)門(mén)的電源管理系統(tǒng),確保系統(tǒng)穩(wěn)定供電,同時(shí)具備過(guò)壓、欠壓保護(hù)等功能。
繼電器控制功能每個(gè)回路配備小型繼電器,用于快速響應(yīng)異常情況下的斷電操作,保障安全。
外部接口擴(kuò)展功能提供擴(kuò)展接口,為未來(lái)的硬件升級(jí)或連接額外傳感器留出空間。

1.4 開(kāi)發(fā)工具的選擇

【1】設(shè)備端開(kāi)發(fā)

STM32的編程語(yǔ)言選擇C語(yǔ)言,C語(yǔ)言執(zhí)行效率高,大學(xué)里主學(xué)的C語(yǔ)言,C語(yǔ)言編譯出來(lái)的可執(zhí)行文件最接近于機(jī)器碼,匯編語(yǔ)言執(zhí)行效率最高,但是匯編的移植性比較差,目前在一些操作系統(tǒng)內(nèi)核里還有一些低配的單片機(jī)使用的較多,平常的單片機(jī)編程還是以C語(yǔ)言為主。C語(yǔ)言的執(zhí)行效率僅次于匯編,語(yǔ)法理解簡(jiǎn)單、代碼通用性強(qiáng),也支持跨平臺(tái),在嵌入式底層、單片機(jī)編程里用的非常多,當(dāng)前的設(shè)計(jì)就是采用C語(yǔ)言開(kāi)發(fā)。

開(kāi)發(fā)工具選擇Keil,keil是一家世界領(lǐng)先的嵌入式微控制器軟件開(kāi)發(fā)商,在2015年,keil被ARM公司收購(gòu)。因?yàn)楫?dāng)前芯片選擇的是STM32F103系列,STMF103是屬于ARM公司的芯片構(gòu)架、Cortex-M3內(nèi)核系列的芯片,所以使用Kile來(lái)開(kāi)發(fā)STM32是有先天優(yōu)勢(shì)的,而keil在各大高校使用的也非常多,很多教科書(shū)里都是以keil來(lái)教學(xué),開(kāi)發(fā)51單片機(jī)、STM32單片機(jī)等等。目前作為MCU芯片開(kāi)發(fā)的軟件也不只是keil一家獨(dú)大,IAR在MCU微處理器開(kāi)發(fā)領(lǐng)域里也使用的非常多,IAR擴(kuò)展性更強(qiáng),也支持STM32開(kāi)發(fā),也支持其他芯片,比如:CC2530,51單片機(jī)的開(kāi)發(fā)。從軟件的使用上來(lái)講,IAR比keil更加簡(jiǎn)潔,功能相對(duì)少一些。如果之前使用過(guò)keil,而且使用頻率較多,已經(jīng)習(xí)慣再使用IAR是有點(diǎn)不適應(yīng)界面的。

image-20221210225339928

【2】上位機(jī)開(kāi)發(fā)

上位機(jī)的開(kāi)發(fā)選擇Qt框架,編程語(yǔ)言采用C++;Qt是一個(gè)1991年由Qt Company開(kāi)發(fā)的跨平臺(tái)C++圖形用戶(hù)界面應(yīng)用程序開(kāi)發(fā)框架。它既可以開(kāi)發(fā)GUI程序,也可用于開(kāi)發(fā)非GUI程序,比如控制臺(tái)工具和服務(wù)器。Qt是面向?qū)ο蟮目蚣埽褂锰厥獾拇a生成擴(kuò)展(稱(chēng)為元對(duì)象編譯器(Meta Object Compiler, moc))以及一些宏,Qt很容易擴(kuò)展,并且允許真正地組件編程。Qt能輕松創(chuàng)建具有原生C++性能的連接設(shè)備、用戶(hù)界面(UI)和應(yīng)用程序。它功能強(qiáng)大且結(jié)構(gòu)緊湊,擁有直觀的工具和庫(kù)。

image-20230218001243591

image-20230218001219105

二、部署華為云物聯(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/5GNB-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ā)(C++版)

為了方便查看設(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

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

如果下載不了,可以在網(wǎng)盤(pán)里找到安裝包下載: 飛書(shū)文檔記錄的網(wǎng)盤(pán)地址:https://ccnr8sukk85n.feishu.cn/wiki/QjY8weDYHibqRYkFP2qcA9aGnvb?from=from_copylink

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

安裝的時(shí)候,第一個(gè)復(fù)選框里的編譯器可以全選,直接點(diǎn)擊下一步繼續(xù)安裝。

image-20221203151742653

選擇編譯器: (一定要看清楚了)

image-20241028152725134

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-20241112142627805

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

image-20240117144239681

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

image-20240117144302275

【5】選擇編譯器

image-20241028153603487

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

image-20240117144354252

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

image-20241112142836874

3.3 切換編譯器

在左下角是可以切換編譯器的。 可以選擇用什么樣的編譯器編譯程序。

目前新建工程的時(shí)候選擇了2種編譯器。 一種是mingw32這個(gè)編譯Windows下運(yùn)行的程序。 一種是Android編譯器,可以生成Android手機(jī)APP。

不過(guò)要注意:Android的編譯器需要配置一些環(huán)境才可以正常使用,這個(gè)大家可以網(wǎng)上找找教程配置一下就行了。

比如:https://blog.csdn.net/xiaolong1126626497/article/details/117254453

windows的編譯器就沒(méi)有這么麻煩,安裝好Qt就可以編譯使用。

下面我這里就選擇的 mingw32這個(gè)編譯器,編譯Windows下運(yùn)行的程序。

image-20241112142912481

3.4 編譯測(cè)試功能

創(chuàng)建完畢之后,編譯測(cè)試一下功能是否OK。

點(diǎn)擊左下角的綠色三角形按鈕

正常運(yùn)行就可以看到彈出一個(gè)白色的框框。這就表示工程環(huán)境沒(méi)有問(wèn)題了。 接下來(lái)就可以放心的設(shè)計(jì)界面了。

image-20241112142939735

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

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

image-20241112143019233

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

image-20240425194845233

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

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

3.6 編譯Windows上位機(jī)

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

image-20240509202031739

3.7 配置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

四、PyQt5(Python版)

4.1 安裝PyQt5

在Python中安裝PyQt庫(kù)非常簡(jiǎn)單,可以使用pip這個(gè)包管理工具來(lái)完成。PyQt有兩個(gè)主要版本:PyQt5(基于Qt 5)和PyQt6(基于Qt 6)。

我這里安裝Qt5,以Qt5為例進(jìn)行開(kāi)發(fā)。

要安裝PyQt5,打開(kāi)命令行界面,然后運(yùn)行以下命令:

pip install PyQt5

安裝過(guò)程中:

image-20241128222327822

安裝完畢。

image-20241128222708039

4.2 安裝QtDesigner

如果想使用PyQt5的設(shè)計(jì)工具(Qt Designer),用圖形方式設(shè)計(jì)界面,可以安裝pyqt5-tools

pip install pyqt5-tools

安裝過(guò)程如下:

image-20241128222745062

安裝過(guò)程中

image-20241128223523710

安裝完畢。

image-20241128224259036

4.3 測(cè)試Qt環(huán)境

安裝完成后,先寫(xiě)一份測(cè)試代碼,創(chuàng)建一個(gè)窗口,運(yùn)行測(cè)試Qt環(huán)境是否正常。

新建一個(gè)文件:hello_pyqt.py

image-20241128224337337

編寫(xiě)代碼如下:

import sys
from PyQt5.QtWidgets import QApplication, QWidget  # 如果使用PyQt6,這里改為 from PyQt6.QtWidgets import QApplication, QWidget

app = QApplication(sys.argv)

window = QWidget()
window.setWindowTitle('Hello PyQt')
window.show()

sys.exit(app.exec_())

在終端命令行中運(yùn)行:

python hello_pyqt.py

如果一切正常,應(yīng)該能看到一個(gè)標(biāo)題為Hello PyQt的空白窗口。這表明PyQt已經(jīng)成功安裝并且可以正常使用了。

4.4 設(shè)計(jì)代碼

PyQt5 展示了獲取數(shù)據(jù)后如何構(gòu)建圖形界面,實(shí)時(shí)顯示溫度、濕度、煙霧濃度、電壓、電流、功率的數(shù)值及其波形圖。

安裝依賴(lài):

pip install pyqt5 pyqtchart

完整代碼

import sys
import random
from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel, QVBoxLayout, QWidget
from PyQt5.QtChart import QChart, QChartView, QLineSeries
from PyQt5.QtCore import QTimer, QPointF


class DataFetcher:
    """模擬從服務(wù)器獲取數(shù)據(jù)的類(lèi)"""
    def get_data(self):
        """獲取模擬數(shù)據(jù)"""
        return {
            "temperature": random.uniform(20.0, 30.0),
            "humidity": random.uniform(40.0, 60.0),
            "smoke_level": random.randint(200, 400),
            "voltage": random.uniform(220.0, 240.0),
            "current": random.uniform(5.0, 15.0),
            "power": random.uniform(500, 2000)
        }


class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("Home Circuit Protection Monitor")

        # 初始化布局和標(biāo)簽
        self.temperature_label = QLabel("Temperature: 0 °C")
        self.humidity_label = QLabel("Humidity: 0 %")
        self.smoke_label = QLabel("Smoke: 0 ppm")
        self.voltage_label = QLabel("Voltage: 0 V")
        self.current_label = QLabel("Current: 0 A")
        self.power_label = QLabel("Power: 0 W")

        # 初始化波形圖
        self.voltage_chart, self.voltage_series = self.create_chart("Voltage Waveform")
        self.current_chart, self.current_series = self.create_chart("Current Waveform")
        self.power_chart, self.power_series = self.create_chart("Power Waveform")

        # 布局
        layout = QVBoxLayout()
        layout.addWidget(self.temperature_label)
        layout.addWidget(self.humidity_label)
        layout.addWidget(self.smoke_label)
        layout.addWidget(self.voltage_label)
        layout.addWidget(self.current_label)
        layout.addWidget(self.power_label)
        layout.addWidget(QChartView(self.voltage_chart))
        layout.addWidget(QChartView(self.current_chart))
        layout.addWidget(QChartView(self.power_chart))

        container = QWidget()
        container.setLayout(layout)
        self.setCentralWidget(container)

        # 初始化數(shù)據(jù)獲取器
        self.data_fetcher = DataFetcher()

        # 定時(shí)器,每秒刷新數(shù)據(jù)
        self.timer = QTimer()
        self.timer.timeout.connect(self.update_data)
        self.timer.start(1000)

        # 時(shí)間步計(jì)數(shù)
        self.time_step = 0

    def create_chart(self, title):
        """創(chuàng)建一個(gè)帶有標(biāo)題的波形圖"""
        chart = QChart()
        chart.setTitle(title)
        series = QLineSeries()
        chart.addSeries(series)
        chart.createDefaultAxes()
        chart.axisX().setTitleText("Time")
        chart.axisY().setTitleText("Value")
        return chart, series

    def update_data(self):
        """更新界面和波形圖的數(shù)據(jù)"""
        data = self.data_fetcher.get_data()

        # 更新文本標(biāo)簽
        self.temperature_label.setText(f"Temperature: {data['temperature']:.1f} °C")
        self.humidity_label.setText(f"Humidity: {data['humidity']:.1f} %")
        self.smoke_label.setText(f"Smoke: {data['smoke_level']} ppm")
        self.voltage_label.setText(f"Voltage: {data['voltage']:.1f} V")
        self.current_label.setText(f"Current: {data['current']:.1f} A")
        self.power_label.setText(f"Power: {data['power']:.1f} W")

        # 更新波形圖
        self.update_chart(self.voltage_series, data['voltage'])
        self.update_chart(self.current_series, data['current'])
        self.update_chart(self.power_series, data['power'])

        self.time_step += 1

    def update_chart(self, series, value):
        """更新指定波形圖的數(shù)據(jù)"""
        series.append(QPointF(self.time_step, value))
        if series.count() > 100:  # 限制最大點(diǎn)數(shù)
            series.remove(0)


if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = MainWindow()
    window.resize(800, 600)
    window.show()
    sys.exit(app.exec_())

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

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

【1】完整代碼

下面是核心框架和主程序。

#include "stm32f10x.h"
#include "usart.h"
#include "oled.h"
#include "buzzer.h"
#include "sht30.h"
#include "mq2.h"
#include "esp8266.h"
#include "power_monitor.h"

// 定義電流和功率閾值
#define CURRENT_THRESHOLD 15.0    // 15A
#define POWER_THRESHOLD 3000.0    // 3000W

// 煙霧濃度閾值
#define SMOKE_THRESHOLD 300       // 示例值

// 全局變量
float voltage = 0.0;
float current = 0.0;
float power = 0.0;
float energy = 0.0;
float temperature = 0.0;
float humidity = 0.0;
uint16_t smoke_level = 0;

// 警告標(biāo)志
uint8_t overcurrent_flag = 0;
uint8_t overpower_flag = 0;
uint8_t smoke_alarm_flag = 0;

// 初始化函數(shù)
void System_Init(void) {
    // 初始化串口
    USART_Init();
    
    // 初始化OLED顯示屏
    OLED_Init();
    
    // 初始化蜂鳴器
    Buzzer_Init();
    
    // 初始化環(huán)境溫濕度傳感器
    SHT30_Init();
    
    // 初始化煙霧傳感器
    MQ2_Init();
    
    // 初始化ESP8266 WiFi模塊
    ESP8266_Init();
    
    // 初始化電力參數(shù)采集模塊
    PowerMonitor_Init();
}

// 讀取傳感器數(shù)據(jù)
void Read_Sensors(void) {
    // 讀取電力參數(shù)
    PowerMonitor_Read(&voltage, ¤t, &power, &energy);
    
    // 讀取溫濕度
    SHT30_Read(&temperature, &humidity);
    
    // 讀取煙霧濃度
    smoke_level = MQ2_Read();
}

// 顯示數(shù)據(jù)到OLED
void Display_Data(void) {
    OLED_Clear();
    OLED_ShowString(0, 0, "Voltage:");
    OLED_ShowFloat(56, 0, voltage, 1);
    OLED_ShowString(90, 0, "V");
    
    OLED_ShowString(0, 10, "Current:");
    OLED_ShowFloat(56, 10, current, 1);
    OLED_ShowString(90, 10, "A");
    
    OLED_ShowString(0, 20, "Power:");
    OLED_ShowFloat(56, 20, power, 1);
    OLED_ShowString(90, 20, "W");
    
    OLED_ShowString(0, 30, "Temp:");
    OLED_ShowFloat(56, 30, temperature, 1);
    OLED_ShowString(90, 30, "C");
    
    OLED_ShowString(0, 40, "Humi:");
    OLED_ShowFloat(56, 40, humidity, 1);
    OLED_ShowString(90, 40, "%");
    
    OLED_ShowString(0, 50, "Smoke:");
    OLED_ShowNumber(56, 50, smoke_level);
    OLED_Refresh();
}

// 檢查報(bào)警條件
void Check_Alarm(void) {
    overcurrent_flag = (current > CURRENT_THRESHOLD);
    overpower_flag = (power > POWER_THRESHOLD);
    smoke_alarm_flag = (smoke_level > SMOKE_THRESHOLD);
    
    if (overcurrent_flag || overpower_flag || smoke_alarm_flag) {
        Buzzer_On(); // 啟動(dòng)蜂鳴器
    } else {
        Buzzer_Off(); // 關(guān)閉蜂鳴器
    }
}

// 上傳數(shù)據(jù)到云端
void Upload_Data(void) {
    char mqtt_message[256];
    sprintf(mqtt_message, 
        "{ "voltage": %.1f, "current": %.1f, "power": %.1f, "
        ""temperature": %.1f, "humidity": %.1f, "smoke": %d }",
        voltage, current, power, temperature, humidity, smoke_level);
    
    ESP8266_MQTT_Publish("home/protection", mqtt_message);
}

// 主程序
int main(void) {
    System_Init(); // 系統(tǒng)初始化
    
    while (1) {
        Read_Sensors();    // 讀取傳感器數(shù)據(jù)
        Display_Data();    // 顯示數(shù)據(jù)到OLED
        Check_Alarm();     // 檢查是否報(bào)警
        Upload_Data();     // 上傳數(shù)據(jù)到云端
    }
}

【2】說(shuō)明

  1. 模塊初始化
    • 初始化所有必要的模塊,包括串口、OLED、蜂鳴器、傳感器和WiFi模塊。
  2. 傳感器讀取
    • 通過(guò)調(diào)用子模塊的接口,獲取電力參數(shù)、溫濕度以及煙霧濃度。
  3. 數(shù)據(jù)展示
    • 使用OLED顯示屏展示實(shí)時(shí)數(shù)據(jù)。
  4. 報(bào)警檢查
    • 比較測(cè)量值與設(shè)定的閾值,如果超出范圍,激活蜂鳴器報(bào)警。
  5. 數(shù)據(jù)上傳
    • 通過(guò)ESP8266模塊,利用MQTT協(xié)議上傳數(shù)據(jù)到華為云物聯(lián)網(wǎng)平臺(tái)。
  6. 主循環(huán)
    • 循環(huán)讀取數(shù)據(jù)、顯示數(shù)據(jù)、檢查報(bào)警和上傳云端數(shù)據(jù)。

六、總結(jié)

在本項(xiàng)目中,設(shè)計(jì)并開(kāi)發(fā)了一款基于單片機(jī)和物聯(lián)網(wǎng)技術(shù)的智能居家電路保護(hù)裝置。這一裝置不僅解決了傳統(tǒng)家庭電路保護(hù)方案中信息反饋不足、管理粗放的問(wèn)題,還通過(guò)引入先進(jìn)的傳感技術(shù)網(wǎng)絡(luò)通信手段,實(shí)現(xiàn)了對(duì)家庭用電情況的精細(xì)化管理和全方位監(jiān)控。該裝置安裝于家庭總電表輸出端,能夠支持多達(dá)20路獨(dú)立線(xiàn)路的連接,并為每一路提供電壓、電流和功率的實(shí)時(shí)監(jiān)測(cè)服務(wù)。

通過(guò)集成高精度的電力參數(shù)采集模塊,裝置可以準(zhǔn)確地測(cè)量并分析各線(xiàn)路的用電數(shù)據(jù),確保了監(jiān)測(cè)結(jié)果的真實(shí)性和可靠性。一旦檢測(cè)到異常情況,如電流或功率超過(guò)設(shè)定閾值,系統(tǒng)會(huì)立即采取行動(dòng):切斷電源以防止?jié)撛诘陌踩鹿剩⑼ㄟ^(guò)本地蜂鳴器發(fā)出警報(bào)提醒用戶(hù)。同時(shí),借助內(nèi)置的WIFI模塊,所有狀態(tài)信息都可以上傳至華為云物聯(lián)網(wǎng)平臺(tái),用戶(hù)無(wú)論身處何地,只需打開(kāi)手機(jī)上的Android應(yīng)用程序,即可查看家中的用電狀況,了解歷史變化趨勢(shì),并可查看以波形或數(shù)字形式呈現(xiàn)的數(shù)據(jù)。此外,通過(guò)這個(gè)應(yīng)用程序,用戶(hù)還可以實(shí)現(xiàn)遠(yuǎn)程控制,例如恢復(fù)被切斷的電源或者調(diào)整報(bào)警閾值,極大地提升了用戶(hù)體驗(yàn)。

為了增強(qiáng)裝置的功能性與安全性,我們?cè)谠O(shè)計(jì)中加入了環(huán)境溫濕度傳感器SHT30和煙霧濃度檢測(cè)傳感器MQ2,它們分別用于監(jiān)控室內(nèi)環(huán)境條件和空氣中的煙霧水平。這些額外的監(jiān)測(cè)功能進(jìn)一步提高了裝置對(duì)于突發(fā)狀況的響應(yīng)能力,使得它不僅僅是一個(gè)電路保護(hù)設(shè)備,更成為了一個(gè)智能家居生態(tài)系統(tǒng)的重要組成部分。OLED顯示屏的應(yīng)用,則讓用戶(hù)無(wú)需依賴(lài)智能手機(jī)也能隨時(shí)掌握當(dāng)前的用電情況和其他關(guān)鍵信息,提供了更加直觀的操作體驗(yàn)。

在硬件選型方面,選擇了STM32F103RCT6作為主控芯片,它具備高性能ARM Cortex-M3內(nèi)核,不僅滿(mǎn)足了復(fù)雜的計(jì)算任務(wù)需求,也保證了系統(tǒng)的穩(wěn)定運(yùn)行。軟件開(kāi)發(fā)采用了Keil5工具鏈進(jìn)行編程,結(jié)合C語(yǔ)言編寫(xiě)代碼,而Android應(yīng)用則使用Qt框架開(kāi)發(fā),采用C++語(yǔ)言編寫(xiě),確保了不同部分之間的無(wú)縫對(duì)接。整個(gè)項(xiàng)目的實(shí)施過(guò)程中,注重每一個(gè)細(xì)節(jié),從選擇合適的元器件到優(yōu)化算法邏輯,力求打造出一個(gè)高效、可靠且易于使用的智能居家電路保護(hù)解決方案。

這款智能居家電路保護(hù)裝置集成了多種先進(jìn)技術(shù),為用戶(hù)提供更加安全、便捷的家庭用電管理方式。它不僅是現(xiàn)代家居生活中不可或缺的安全保障工具,也是邁向智慧生活的一大步。隨著智能家居市場(chǎng)的不斷發(fā)展和技術(shù)的進(jìn)步,我們相信,這一裝置將為更多家庭帶來(lái)安心、舒適的居住體驗(yàn),并推動(dòng)智能家居領(lǐng)域向著更高層次發(fā)展。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎ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)注

    6040

    文章

    44592

    瀏覽量

    636886
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2911

    文章

    44824

    瀏覽量

    375117
  • STM32
    +關(guān)注

    關(guān)注

    2270

    文章

    10915

    瀏覽量

    356754
  • 電路保護(hù)
    +關(guān)注

    關(guān)注

    4

    文章

    361

    瀏覽量

    55311
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    按用戶(hù)技術(shù)要求定制功能的保護(hù)裝置

    按用戶(hù)技術(shù)要求定制功能的保護(hù)裝置廣眾科技自成立以來(lái)就潛力于礦山設(shè)備保護(hù)方面的業(yè)務(wù),當(dāng)然一些基本的保護(hù)裝置——QHF釋壓閥,儲(chǔ)氣罐超溫超壓保護(hù)裝置,空壓機(jī)斷油
    發(fā)表于 10-31 14:51

    微機(jī)綜合繼電器保護(hù)裝置

    微機(jī)綜合繼電器保護(hù)裝置,即微機(jī)繼電保護(hù)裝置或微機(jī)綜保裝置,是電力系統(tǒng)中的重要組成部分。以下是對(duì)其的詳細(xì)介紹: 一、定義與組成 微機(jī)繼電保護(hù)裝置是由高集成度、總線(xiàn)不出芯片
    的頭像 發(fā)表于 10-25 14:49 ?561次閱讀
    微機(jī)綜合繼電器<b class='flag-5'>保護(hù)裝置</b>

    你知道弧光保護(hù)裝置都是有哪些功能嗎?

    同時(shí)檢測(cè)到弧光和電流增量時(shí),系統(tǒng)發(fā)出跳閘指令迅速切斷故障電路;當(dāng)僅檢測(cè)到弧光或者電流增量時(shí),則發(fā)出報(bào)警信號(hào),提醒工作人員進(jìn)行檢查。 構(gòu)成部件: 主控單元:是弧光保護(hù)裝置的核心部分,負(fù)責(zé)接收、處理和分析來(lái)自弧光探頭和
    的頭像 發(fā)表于 10-16 15:12 ?312次閱讀
    你知道弧光<b class='flag-5'>保護(hù)裝置</b>都是有哪些功能嗎?

    放電保護(hù)裝置的作用是什么

    放電保護(hù)裝置是一種用于保護(hù)電路和設(shè)備免受過(guò)電壓和過(guò)電流損害的電氣設(shè)備。它通過(guò)在電路中引入一個(gè)可以吸收或釋放能量的元件,來(lái)限制電壓或電流的峰值,從而
    的頭像 發(fā)表于 10-14 09:37 ?426次閱讀

    放電保護(hù)裝置有哪些

    放電保護(hù)裝置在多個(gè)領(lǐng)域都有廣泛應(yīng)用,包括電力系統(tǒng)、電子設(shè)備以及集成電路等。這些裝置的主要作用是檢測(cè)并響應(yīng)系統(tǒng)中的異常放電情況,以保護(hù)設(shè)備和系統(tǒng)的安全穩(wěn)定運(yùn)行。 一、電力系統(tǒng)中的放電
    的頭像 發(fā)表于 10-12 16:53 ?329次閱讀

    電流速斷保護(hù)裝置的實(shí)際應(yīng)用和保護(hù)范圍

    電流速斷保護(hù)裝置是一種電氣保護(hù)設(shè)備,用于在電氣系統(tǒng)中檢測(cè)到短路或過(guò)載時(shí)迅速切斷電源,以保護(hù)設(shè)備和人員安全。 1. 電流速斷保護(hù)裝置的基本原理 電流速斷
    的頭像 發(fā)表于 09-26 16:33 ?1527次閱讀

    儲(chǔ)氣罐超溫保護(hù)裝置 發(fā)貨記錄# 單片機(jī)

    保護(hù)裝置
    jf_35231275
    發(fā)布于 :2024年09月20日 14:25:04

    儲(chǔ)氣罐超溫保護(hù)裝置發(fā)貨中#單片機(jī) #電工知識(shí)

    保護(hù)裝置
    jf_35231275
    發(fā)布于 :2024年09月10日 15:39:24

    繼電保護(hù)裝置是由什么組成的

    繼電保護(hù)裝置是電力系統(tǒng)中非常重要的一種設(shè)備,它能夠?qū)﹄娏ο到y(tǒng)的故障進(jìn)行快速、準(zhǔn)確的判斷和處理,從而保證電力系統(tǒng)的安全、穩(wěn)定和可靠運(yùn)行。本文將詳細(xì)介紹繼電保護(hù)裝置的組成、工作原理以及其在電力系統(tǒng)中
    的頭像 發(fā)表于 06-24 14:22 ?2640次閱讀

    簡(jiǎn)述壓力機(jī)過(guò)載保護(hù)裝置的種類(lèi)和工作原理

    壓力機(jī)過(guò)載保護(hù)裝置是用于保護(hù)壓力機(jī)在工作過(guò)程中不受損壞的重要設(shè)備。它能夠?qū)崟r(shí)監(jiān)測(cè)壓力機(jī)的工作狀態(tài),當(dāng)壓力
    的頭像 發(fā)表于 06-17 10:43 ?1567次閱讀

    煤電鉆綜合保護(hù)裝置有哪些保護(hù)

    煤電鉆綜合保護(hù)裝置是一種用于煤礦井下鉆探作業(yè)的設(shè)備,其主要作用是保護(hù)鉆探設(shè)備和操作人員的安全。本文將詳細(xì)介紹煤電鉆綜合保護(hù)裝置的各類(lèi)保護(hù)功能,以確保鉆探作業(yè)的順利進(jìn)行。 過(guò)載
    的頭像 發(fā)表于 06-06 09:30 ?1248次閱讀

    金方圓折彎機(jī)安裝保護(hù)裝置案例# #電路知識(shí) #電工 #單片機(jī)

    保護(hù)裝置電工
    jf_90620027
    發(fā)布于 :2024年03月16日 15:01:45

    杭州穩(wěn)控94S防孤島保護(hù)裝置及微機(jī)綜合保護(hù)裝置說(shuō)明書(shū)

    杭州穩(wěn)控94S防孤島保護(hù)裝置及微機(jī)綜合保護(hù)裝置說(shuō)明書(shū)
    發(fā)表于 02-29 14:47 ?0次下載

    杭州穩(wěn)控91S防孤島保護(hù)裝置及微機(jī)綜合保護(hù)裝置說(shuō)明書(shū)

    杭州穩(wěn)控91S防孤島保護(hù)裝置及微機(jī)綜合保護(hù)裝置說(shuō)明書(shū)
    發(fā)表于 02-29 14:46 ?1次下載

    熄火保護(hù)裝置燃?xì)庠钤?/a>

    主站蜘蛛池模板: 999久久国产精品免费人妻| 午夜免费小视频| 久久视热频这里只精品| 久久久黄色片| 老阿姨儿子一二三区| 免费看b站| 欧美无码专区| 秋霞午夜一级理论片久久| 乳欲性高清在线| 亚洲AV精品无码成人| 亚洲视频在线观看免费| 中文字幕乱偷无码AV蜜桃| 午夜影院费试看黄| 亚洲精品成人无码区一在线观看| 涩涩视频下载| 亚洲国产在线视频精品 | 国产精品嫩草99AV在线| 国内精品久久久久影院男同志| 精品国产免费第一区二区| 久青草国产在线视频亚瑟影视| 精品无人区麻豆乱码无限制 | jaPanesmature儿母| 99热久久视频只有精品6| Y8848高清私人影院软件优势| 鬼灭之刃花街篇免费樱花动漫| 国产又粗又黄又爽的大片| 久久久久久久久亚洲| 欧美午夜不卡在线观看| 同桌上课把奶露出来给我玩| 亚洲三级视频在线| 99精品视频在线观看免费| 第七色男人天堂| 韩国和日本免费不卡在线| 乱淫67194| 色欲AV人妻精品麻豆AV| 亚洲综合香蕉在线视频| 99视频全部看免费观| 国产精品人妻无码久久久蜜桃臀 | 永久免费的无码中文字幕| 阿片在线播放| 国产中文视频|