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

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

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

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

基于物聯(lián)網(wǎng)地下煤礦安全監(jiān)測與預(yù)警

DS小龍哥-嵌入式技術(shù) ? 來源:DS小龍哥-嵌入式技術(shù) ? 作者:DS小龍哥-嵌入式技 ? 2024-12-25 17:24 ? 次閱讀

[TOC]

一、前言

1.1 項目介紹

本項目設(shè)計里用到的全部工具軟件、模塊的源代碼都可以在這里下載(放在夸克網(wǎng)盤里了)。

https://pan.quark.cn/s/145a9b3f7f53

【1】項目開發(fā)背景

隨著全球?qū)δ茉葱枨蟮某掷m(xù)增長,煤炭作為重要的傳統(tǒng)能源之一,在許多國家和地區(qū)依然扮演著不可或缺的角色。然而,煤礦開采作業(yè)由于其特殊的地下環(huán)境,常常伴隨著較高的安全風(fēng)險,包括瓦斯爆炸、火災(zāi)、透水事故等。這些事故不僅會導(dǎo)致嚴(yán)重的人員傷亡和經(jīng)濟(jì)損失,還可能引發(fā)長期的環(huán)境問題。因此,提高煤礦的安全管理水平,減少事故發(fā)生率,成為行業(yè)發(fā)展中需要解決的問題。

近年來,物聯(lián)網(wǎng)IoT)技術(shù)的發(fā)展為礦井安全管理提供了新的解決方案。通過部署各種傳感器智能設(shè)備,可以實(shí)現(xiàn)對礦井內(nèi)環(huán)境參數(shù)的實(shí)時監(jiān)測,及時發(fā)現(xiàn)潛在的風(fēng)險因素,并采取有效的預(yù)防措施。基于此背景,本項目提出了一種基于物聯(lián)網(wǎng)設(shè)計的地下煤礦安全監(jiān)測與預(yù)警系統(tǒng)。該系統(tǒng)利用先進(jìn)的傳感技術(shù)無線通信技術(shù),構(gòu)建一個智能化的安全監(jiān)控網(wǎng)絡(luò),以增強(qiáng)礦井作業(yè)的安全性,提升應(yīng)急響應(yīng)速度,降低事故發(fā)生概率。

項目將重點(diǎn)放在以下幾個方面:

通過溫濕度傳感器和氣體傳感器對礦井內(nèi)的溫度、濕度以及瓦斯?jié)舛冗M(jìn)行連續(xù)監(jiān)測;

引入人體檢測傳感器來監(jiān)控人員活動情況,確保在緊急情況下能夠迅速定位并救援被困人員;

采用OLED顯示屏在現(xiàn)場展示關(guān)鍵數(shù)據(jù),同時通過NBIoT模塊將數(shù)據(jù)上傳至華為云物聯(lián)網(wǎng)平臺,實(shí)現(xiàn)遠(yuǎn)程監(jiān)控;

開發(fā)一套基于Qt的可視化大屏軟件界面,方便管理人員隨時查看礦井狀況,并作出快速決策。

通過上述措施,本項目致力于打造一個高效、可靠且易于操作的安全監(jiān)測體系,為礦工提供更加安全的工作環(huán)境,同時也為企業(yè)帶來更高的運(yùn)營效率和經(jīng)濟(jì)效益。

img

image-20241010113431709

image-20241010113520568

【2】華為云IOT物聯(lián)網(wǎng)平臺

華為云IoT物聯(lián)網(wǎng)平臺是華為公司提供的一種全棧式、安全可靠的云服務(wù),它能夠支持各種物聯(lián)網(wǎng)場景和行業(yè)應(yīng)用。

(1) 全面連接能力 :華為云IoT平臺支持多種網(wǎng)絡(luò)協(xié)議(如MQTT, CoAP, HTTP等)以及廣泛的設(shè)備接入方式,可以實(shí)現(xiàn)不同種類的終端設(shè)備與云端的穩(wěn)定連接。

(2) 強(qiáng)大的數(shù)據(jù)處理能力 :平臺提供了豐富的數(shù)據(jù)處理功能,包括規(guī)則引擎、流式計算、消息路由等,能夠快速對海量數(shù)據(jù)進(jìn)行分析處理,并根據(jù)業(yè)務(wù)需求觸發(fā)相應(yīng)的動作或告警。

(3) 安全保障機(jī)制 :通過采用端到端的安全架構(gòu)設(shè)計,華為云IoT平臺為用戶提供多層次的安全防護(hù)措施,確保從設(shè)備端到云端的數(shù)據(jù)傳輸過程中的安全性。

(4) 靈活部署選項 :除了公共云之外,還支持私有云及混合云等多種部署模式,使得企業(yè)可以根據(jù)自身實(shí)際情況選擇最適合自己的解決方案。

(5) 開放生態(tài)系統(tǒng) :構(gòu)建了一個開放的合作生態(tài)體系,不僅與其他華為產(chǎn)品和服務(wù)無縫集成,也兼容第三方系統(tǒng)和服務(wù),便于開發(fā)者基于此平臺開發(fā)出更多創(chuàng)新的應(yīng)用和服務(wù)。

(6) 高效運(yùn)維管理 :提供了一套完善的設(shè)備管理工具集,幫助用戶輕松完成設(shè)備生命周期內(nèi)的所有操作,如注冊、激活、配置更新、狀態(tài)監(jiān)控等。

(7) 全球服務(wù)能力 :依托于華為在全球范圍內(nèi)的基礎(chǔ)設(shè)施布局,該平臺能夠?yàn)槠髽I(yè)提供跨國界的物聯(lián)網(wǎng)服務(wù)支持。

對于基于物聯(lián)網(wǎng)的地下煤礦安全監(jiān)測與預(yù)警系統(tǒng)來說,利用華為云IoT平臺的優(yōu)勢,可以有效提升系統(tǒng)的穩(wěn)定性、可靠性和安全性,同時簡化了開發(fā)流程,加快了項目上線速度。此外,通過運(yùn)用其強(qiáng)大的數(shù)據(jù)分析能力和靈活的服務(wù)定制特性,還可以進(jìn)一步優(yōu)化安全管理策略,提高應(yīng)對突發(fā)事件的能力。

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

(1)環(huán)境溫濕度監(jiān)測

  • 使用DHT11溫濕度傳感器實(shí)時檢測礦井內(nèi)的溫度和相對濕度。當(dāng)檢測到的數(shù)值超過預(yù)設(shè)的安全閾值時,系統(tǒng)會觸發(fā)蜂鳴器報警,提醒工作人員采取相應(yīng)措施。

(2)瓦斯?jié)舛葯z測與自動通風(fēng)控制

  • 通過MQ5氣體傳感器監(jiān)測礦井內(nèi)瓦斯(甲烷)的濃度。一旦瓦斯?jié)舛冗_(dá)到危險水平,控制系統(tǒng)將激活繼電器開關(guān)模塊,自動啟動通風(fēng)風(fēng)扇以降低有害氣體濃度,并可能伴有聲音警報。

(3)人員存在檢測

  • 利用紅外熱釋電人體感應(yīng)模塊檢測礦井內(nèi)是否有人。如果檢測到人員存在,系統(tǒng)將點(diǎn)亮指示燈,以此作為視覺提示,增強(qiáng)對現(xiàn)場人員活動的監(jiān)控。

(4)數(shù)據(jù)實(shí)時顯示

  • 采用OLED顯示屏來展示當(dāng)前采集到的各項環(huán)境參數(shù),包括但不限于溫濕度、瓦斯?jié)舛鹊龋员阌诂F(xiàn)場工作人員及時了解礦井內(nèi)的實(shí)際情況。

(5)遠(yuǎn)程數(shù)據(jù)上傳

  • 通過BC26 NBIOT模塊將收集到的所有環(huán)境信息上傳至華為云物聯(lián)網(wǎng)平臺,允許遠(yuǎn)程監(jiān)控和數(shù)據(jù)分析,提高管理效率和響應(yīng)速度。

(6)可視化大屏界面

  • 開發(fā)了基于Qt框架的可視化大屏軟件界面,運(yùn)行在Windows電腦端。該界面可以接收并展示從設(shè)備上傳的數(shù)據(jù),為管理人員提供一個直觀且易于操作的平臺來進(jìn)行數(shù)據(jù)查看和分析。

【4】項目硬件模塊組成

(1)主控芯片 - STM32F103RCT6

  • 作為系統(tǒng)的核心處理器,負(fù)責(zé)處理來自各個傳感器的數(shù)據(jù)、執(zhí)行控制邏輯以及管理通信協(xié)議。

(2)溫濕度傳感器 - DHT11

  • 用于實(shí)時監(jiān)測礦井內(nèi)的溫度和相對濕度,并將數(shù)據(jù)傳輸給主控芯片。當(dāng)環(huán)境參數(shù)超過設(shè)定的安全閾值時,觸發(fā)報警機(jī)制。

(3)瓦斯?jié)舛葯z測模塊 - MQ5氣體傳感器

  • 專門用于檢測環(huán)境中甲烷等可燃?xì)怏w的濃度。一旦檢測到的瓦斯?jié)舛冗_(dá)到危險水平,會通過控制系統(tǒng)激活通風(fēng)設(shè)備以降低濃度,并觸發(fā)警報。

(4)人體檢測傳感器 - 紅外熱釋電模塊

  • 通過感應(yīng)人體發(fā)出的紅外輻射來判斷區(qū)域內(nèi)是否有人存在,增強(qiáng)現(xiàn)場的安全監(jiān)控能力。

(5)顯示模塊 - SPI接口OLED顯示屏

  • 提供一個直觀的用戶界面,用來顯示當(dāng)前采集到的溫濕度、瓦斯?jié)舛鹊汝P(guān)鍵信息。

(6)無線通信模塊 - BC26 NBIOT模塊

  • 負(fù)責(zé)將收集到的各種環(huán)境數(shù)據(jù)通過NBIoT網(wǎng)絡(luò)上傳至華為云物聯(lián)網(wǎng)平臺,實(shí)現(xiàn)遠(yuǎn)程監(jiān)控和數(shù)據(jù)分析。

(7)蜂鳴器報警

  • 在任何環(huán)境參數(shù)超出預(yù)設(shè)的安全范圍時,蜂鳴器將被激活,發(fā)出聲音警報以提醒工作人員采取緊急措施。

(8)繼電器開關(guān)模塊 - 電磁繼電器

  • 根據(jù)主控芯片發(fā)送的指令控制外部設(shè)備如通風(fēng)風(fēng)扇的工作狀態(tài),確保在必要時能夠迅速響應(yīng)。

(9)風(fēng)扇模塊 - 礦用通風(fēng)風(fēng)扇

  • 當(dāng)瓦斯?jié)舛冗^高時,通過繼電器控制自動啟動,以快速降低礦井內(nèi)有害氣體的濃度,保障人員安全。

(10)電源管理

  • 包括為控制電路供電的5V 2A穩(wěn)壓電源及為風(fēng)扇等高功耗設(shè)備提供的市電供應(yīng),保證整個系統(tǒng)穩(wěn)定可靠地運(yùn)行。

(11)指示燈 - LED指示燈

  • 用于視覺上提示系統(tǒng)狀態(tài)或特定事件的發(fā)生,比如當(dāng)檢測到人員存在時點(diǎn)亮指示燈。

1.2 設(shè)計思路

本項目的設(shè)計思路基于對煤礦安全現(xiàn)狀的深入分析,在利用物聯(lián)網(wǎng)技術(shù)構(gòu)建一個全面、智能且高效的地下煤礦安全監(jiān)測與預(yù)警系統(tǒng)。首先,我們認(rèn)識到礦井作業(yè)環(huán)境中存在的多種潛在風(fēng)險因素,如瓦斯積聚、溫濕度異常以及突發(fā)事故等,這些都可能直接威脅到礦工的生命安全。因此,設(shè)計之初就明確了系統(tǒng)需要具備實(shí)時監(jiān)測環(huán)境參數(shù)的能力,并能夠快速響應(yīng)以降低風(fēng)險。

為了實(shí)現(xiàn)這一目標(biāo),系統(tǒng)集成了多種傳感器來收集關(guān)鍵數(shù)據(jù)。DHT11溫濕度傳感器用于監(jiān)測礦井內(nèi)的溫度和濕度變化,這是評估工作環(huán)境舒適度及防止因極端條件引發(fā)事故的重要指標(biāo)。MQ5氣體傳感器則專注于檢測瓦斯?jié)舛龋驗(yàn)橥咚故菍?dǎo)致煤礦爆炸的主要原因之一。當(dāng)這些傳感器檢測到的數(shù)據(jù)超過預(yù)設(shè)的安全閾值時,系統(tǒng)會立即啟動報警機(jī)制,通過蜂鳴器發(fā)出聲音警報,同時自動開啟通風(fēng)風(fēng)扇以稀釋有害氣體,從而迅速減輕潛在危險。

考慮到礦井內(nèi)人員的安全管理同樣重要,系統(tǒng)還加入了紅外熱釋電人體感應(yīng)模塊,用以監(jiān)測是否有人員在場。這不僅有助于提高現(xiàn)場的安全意識,還能在緊急情況下幫助救援隊伍更快地定位被困人員。此外,OLED顯示屏被用來在現(xiàn)場直觀展示各種監(jiān)測數(shù)據(jù),確保所有工作人員都能及時了解當(dāng)前的環(huán)境狀況。

為了讓管理者能夠遠(yuǎn)程監(jiān)控礦井狀態(tài)并進(jìn)行數(shù)據(jù)分析,系統(tǒng)采用了BC26 NBIoT模塊將采集的數(shù)據(jù)上傳至華為云物聯(lián)網(wǎng)平臺。這種做法極大地增強(qiáng)了系統(tǒng)的靈活性和可擴(kuò)展性,使得即使不在現(xiàn)場也能隨時掌握最新情況。最后,為了提供更友好的用戶體驗(yàn),我們使用Qt框架開發(fā)了一款可視化大屏軟件界面,該界面運(yùn)行于Windows電腦端,可以清晰地呈現(xiàn)從設(shè)備上傳來的所有信息,便于管理人員做出及時有效的決策。

本項目通過集成先進(jìn)的傳感技術(shù)、無線通信技術(shù)和云計算平臺,打造了一個多層次的安全監(jiān)測體系。該體系不僅提升了煤礦作業(yè)的安全水平,也為實(shí)現(xiàn)智能化礦山管理奠定了堅實(shí)的基礎(chǔ)。

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

序號功能模塊描述實(shí)現(xiàn)方式/硬件組件
1溫濕度監(jiān)測檢測礦井內(nèi)溫濕度情況,并在超過預(yù)設(shè)閾值時觸發(fā)報警。DHT11溫濕度傳感器,蜂鳴器
2瓦斯?jié)舛葯z測監(jiān)控環(huán)境中的瓦斯?jié)舛龋?dāng)濃度達(dá)到危險水平時自動開啟通風(fēng)設(shè)備。MQ5氣體傳感器,繼電器控制的礦用通風(fēng)風(fēng)扇
3人員存在監(jiān)測檢測礦井內(nèi)是否有人員活動,提高安全響應(yīng)速度。紅外熱釋電人體感應(yīng)模塊,指示燈
4數(shù)據(jù)顯示顯示實(shí)時采集到的各項環(huán)境參數(shù)。OLED顯示屏(SPI協(xié)議)
5數(shù)據(jù)上傳將收集的數(shù)據(jù)通過無線網(wǎng)絡(luò)上傳至云端平臺,支持遠(yuǎn)程監(jiān)控和數(shù)據(jù)分析。BC26 NBIOT模塊,華為云物聯(lián)網(wǎng)平臺
6可視化界面在Windows電腦端提供一個用戶友好的可視化大屏界面,用于展示和管理數(shù)據(jù)。Qt開發(fā)的圖形用戶界面軟件
7電源管理為系統(tǒng)提供穩(wěn)定的電力供應(yīng),確保所有電子元件正常工作。5V 2A穩(wěn)壓電源供控制電路使用;市電供電給高功耗設(shè)備如風(fēng)扇等

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

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

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

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

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

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

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

【1】NBIOT-BC26模塊

NBIoT-BC26模塊是由Quectel(移遠(yuǎn)通信)生產(chǎn)的一款低功耗廣域網(wǎng)絡(luò)(LPWAN)模塊,專為窄帶物聯(lián)網(wǎng)(Narrowband Internet of Things, NB-IoT)應(yīng)用設(shè)計。這款模塊具有體積小、功耗低、覆蓋范圍廣等優(yōu)點(diǎn),非常適合用于遠(yuǎn)程監(jiān)控、智能計量、資產(chǎn)跟蹤、環(huán)境監(jiān)測等多種物聯(lián)網(wǎng)應(yīng)用場景。

BC26模塊支持NB-IoT標(biāo)準(zhǔn),這是3GPP定義的一種專門針對物聯(lián)網(wǎng)應(yīng)用的蜂窩技術(shù)。與傳統(tǒng)的2G/3G/4G網(wǎng)絡(luò)相比,NB-IoT提供了更好的室內(nèi)覆蓋能力、更低的功耗以及更高的連接密度。這使得BC26模塊能夠在信號較弱或難以到達(dá)的地方保持穩(wěn)定的數(shù)據(jù)傳輸。此外,NB-IoT還支持更深的穿透力和更長的電池壽命,這對于部署在偏遠(yuǎn)地區(qū)或需要長時間運(yùn)行的設(shè)備尤為重要。

該模塊采用LGA封裝,尺寸僅為19.9 x 23.6 x 2.2 mm,便于集成到各種小型化設(shè)備中。BC26模塊支持多種頻段,包括B1/B3/B5/B8/B20/B28等全球主流頻段,確保了廣泛的地域兼容性。模塊內(nèi)置了多種協(xié)議棧,如CoAP、TCP/UDP、MQTT等,簡化了數(shù)據(jù)傳輸和遠(yuǎn)程控制的應(yīng)用開發(fā)。通過這些協(xié)議棧,開發(fā)者可以輕松實(shí)現(xiàn)設(shè)備與云端服務(wù)器之間的通信,進(jìn)行數(shù)據(jù)上報和命令下發(fā)。

在接口方面,BC26模塊提供了豐富的外設(shè)接口,包括UART、GPIO、ADCSIM卡接口等。這些接口使得模塊能夠方便地與其他傳感器、控制器和其他外圍設(shè)備進(jìn)行連接。例如,通過UART接口,模塊可以直接與微控制器進(jìn)行通信;通過GPIO接口,可以控制外部設(shè)備或讀取開關(guān)狀態(tài);而SIM卡接口則允許使用標(biāo)準(zhǔn)SIM卡或eSIM卡進(jìn)行網(wǎng)絡(luò)認(rèn)證

為了進(jìn)一步降低功耗,BC26模塊支持多種省電模式,如PSM(Power Saving Mode)和eDRX(Extended Discontinuous Reception)。這些模式可以在不需要持續(xù)數(shù)據(jù)傳輸時顯著降低功耗,延長電池壽命。在PSM模式下,模塊可以進(jìn)入深度睡眠狀態(tài),僅在預(yù)定的時間間隔內(nèi)喚醒以檢查是否有新的數(shù)據(jù)傳輸需求。而在eDRX模式下,模塊會定期監(jiān)聽網(wǎng)絡(luò)消息,但相比于傳統(tǒng)DRX模式,其監(jiān)聽間隔更長,從而降低了功耗。

BC26模塊還具備強(qiáng)大的安全特性,支持多種加密算法和協(xié)議,如TLS/SSL、AES等,確保數(shù)據(jù)傳輸?shù)陌踩院屯暾浴4送猓K支持FOTA(Firmware Over-The-Air)更新功能,可以通過無線方式對固件進(jìn)行升級,提高了系統(tǒng)的可維護(hù)性和安全性。

NBIoT-BC26模塊以其小巧的體積、低功耗、廣泛的網(wǎng)絡(luò)覆蓋以及豐富的接口支持,成為物聯(lián)網(wǎng)應(yīng)用中的理想選擇。無論是用于智能農(nóng)業(yè)、環(huán)境監(jiān)測、智能城市還是其他需要長期可靠連接的應(yīng)用場景,BC26都能提供穩(wěn)定高效的數(shù)據(jù)傳輸解決方案。

【2】MQ5傳感器

MQ5氣體傳感器是一種廣泛應(yīng)用于檢測多種可燃?xì)怏w的半導(dǎo)體氣體傳感器,特別適合于監(jiān)測甲烷(CH4)、液化石油氣(LPG)、丙烷、氫氣等。這種傳感器因其高靈敏度、快速響應(yīng)時間和相對低廉的成本而在工業(yè)安全監(jiān)控領(lǐng)域得到了廣泛應(yīng)用,尤其是在需要對易燃易爆氣體進(jìn)行實(shí)時監(jiān)測的環(huán)境中。

MQ5的工作原理基于金屬氧化物半導(dǎo)體(MOS)技術(shù)。當(dāng)傳感器暴露在目標(biāo)氣體中時,其表面會發(fā)生化學(xué)反應(yīng),導(dǎo)致傳感器電阻發(fā)生變化。這一變化可以通過電路轉(zhuǎn)換為電信號,進(jìn)而被用來評估氣體濃度。通常情況下,MQ5傳感器會連接到一個簡單的分壓電路,并通過測量輸出電壓來判斷氣體的存在及其濃度。傳感器對不同氣體有不同的敏感度,因此在實(shí)際應(yīng)用中需要根據(jù)所要檢測的具體氣體類型進(jìn)行校準(zhǔn)。

該傳感器的操作溫度范圍較寬,一般在-10°C至50°C之間,這使得它能夠在大多數(shù)礦井環(huán)境下正常工作。然而,為了獲得最佳性能,建議在使用前進(jìn)行預(yù)熱,以確保傳感器達(dá)到穩(wěn)定的工作狀態(tài)。預(yù)熱時間通常約為20分鐘,之后傳感器才能提供準(zhǔn)確可靠的讀數(shù)。

MQ5傳感器具有良好的穩(wěn)定性和較長的使用壽命,但需要注意的是,其性能可能會受到環(huán)境濕度和溫度的影響。因此,在設(shè)計系統(tǒng)時,應(yīng)考慮這些因素并采取適當(dāng)?shù)难a(bǔ)償措施。此外,由于MQ5傳感器主要針對可燃?xì)怏w設(shè)計,對于非可燃性氣體如一氧化碳或二氧化碳則不適用,所以在選擇傳感器時需要明確具體的應(yīng)用需求。

在本項目中,MQ5氣體傳感器將被用來監(jiān)測礦井內(nèi)的瓦斯(主要是甲烷)濃度。一旦檢測到的瓦斯?jié)舛瘸^設(shè)定的安全閾值,系統(tǒng)就會自動啟動通風(fēng)設(shè)備,降低礦井內(nèi)有害氣體的濃度,同時觸發(fā)報警機(jī)制,提醒工作人員采取必要的安全措施。這樣的設(shè)計不僅提高了礦井作業(yè)的安全性,也增強(qiáng)了事故預(yù)防的能力。

【4】DHT11傳感器

DHT11是一種廣泛使用的數(shù)字溫濕度傳感器,它能夠同時測量環(huán)境的溫度和相對濕度。這種傳感器因其簡單易用、成本低廉以及良好的性能而被廣泛應(yīng)用于各種場合,包括家庭自動化、氣象站、農(nóng)業(yè)監(jiān)測以及工業(yè)控制等領(lǐng)域。在本項目中,DHT11將用于實(shí)時監(jiān)測地下煤礦內(nèi)的溫濕度條件,確保礦井內(nèi)保持適宜的工作環(huán)境。

DHT11傳感器內(nèi)部集成了一個電阻式濕敏元件和一個NTC(負(fù)溫度系數(shù))熱敏電阻,這兩個組件共同作用以實(shí)現(xiàn)對環(huán)境溫濕度的精確測量。濕敏元件通過檢測空氣中的水分含量來反映濕度水平,而熱敏電阻則根據(jù)其電阻值隨溫度變化的特性來測量溫度。這兩種物理量的變化會被轉(zhuǎn)換成電信號,并通過內(nèi)置的微處理器進(jìn)行處理,最終輸出數(shù)字信號

DHT11采用單線數(shù)字接口進(jìn)行通信,這意味著只需一根數(shù)據(jù)線即可完成與微控制器之間的數(shù)據(jù)傳輸。這簡化了電路設(shè)計,減少了布線復(fù)雜度。為了獲取準(zhǔn)確的數(shù)據(jù),用戶需要遵循特定的時序協(xié)議來讀取傳感器的輸出。通常情況下,一次完整的數(shù)據(jù)采集過程包括發(fā)送開始信號、接收響應(yīng)以及讀取溫濕度數(shù)據(jù)等步驟。

該傳感器的工作電壓范圍為3.3V至5.0V,使其能夠兼容多種供電系統(tǒng)。在正常工作條件下,DHT11可以提供±2°C的溫度精度和±5%的相對濕度精度。盡管這些數(shù)值對于某些高精度應(yīng)用可能不夠理想,但對于大多數(shù)日常用途來說已經(jīng)足夠。此外,DHT11具有較寬的工作溫度范圍(0°C至50°C)和濕度范圍(20%RH至90%RH),這使得它能夠在多種環(huán)境中可靠運(yùn)行。

需要注意的是,DHT11傳感器不建議頻繁讀取數(shù)據(jù),因?yàn)檫B續(xù)快速的請求可能會導(dǎo)致傳感器過載。一般來說,兩次讀取之間至少應(yīng)間隔2秒。此外,由于DHT11沒有防水功能,在使用時應(yīng)避免將其直接暴露于水或高濕度環(huán)境中,以免影響其使用壽命和準(zhǔn)確性。

在本項目中,DHT11傳感器將被集成到主控板上,定時采集礦井內(nèi)的溫濕度數(shù)據(jù),并通過OLED顯示屏顯示出來。如果檢測到的溫濕度超出預(yù)設(shè)的安全閾值,系統(tǒng)會觸發(fā)報警機(jī)制,提醒工作人員采取措施改善礦井內(nèi)的環(huán)境條件,從而保障礦工的安全和健康。通過這種方式,DHT11傳感器為礦井安全監(jiān)測提供了重要的支持。

【5】紅外熱釋電人體檢測傳感器

紅外熱釋電人體檢測傳感器是一種利用人體發(fā)出的紅外輻射來檢測人員存在的裝置。這種傳感器基于熱釋電效應(yīng)工作,當(dāng)有溫度變化時(例如人體移動),傳感器中的熱釋電材料會產(chǎn)生電荷變化,從而生成電信號。這些信號經(jīng)過放大和處理后,可以用來判斷是否有人進(jìn)入或離開監(jiān)測區(qū)域。

紅外熱釋電傳感器通常包含一個菲涅爾透鏡,該透鏡能夠?qū)⑻綔y區(qū)域分成多個部分,并且每個部分在不同時間點(diǎn)上依次被傳感器掃描。這樣的設(shè)計有助于提高檢測范圍和靈敏度,同時減少誤報率。菲涅爾透鏡還能夠聚焦紅外輻射,使得傳感器對較遠(yuǎn)距離的人體也能做出反應(yīng)。此外,一些先進(jìn)的傳感器可能還會配備環(huán)境溫度補(bǔ)償電路,以適應(yīng)不同的工作條件,確保在各種溫度下都能穩(wěn)定工作。

這類傳感器的一個重要特點(diǎn)是其低功耗特性,非常適合電池供電的應(yīng)用場景。它們通常只需要很少的能量就能保持工作狀態(tài),這在需要長時間無人值守監(jiān)控的情況下尤為重要。然而,紅外熱釋電傳感器也有一些局限性,比如它不能穿透障礙物進(jìn)行檢測,因此安裝位置需要避免被物體遮擋;另外,如果環(huán)境中有其他熱源或溫差較大的物體,也可能引起誤觸發(fā)。

在本項目中,紅外熱釋電人體檢測傳感器將用于監(jiān)測礦井內(nèi)是否有人員活動。當(dāng)檢測到人員存在時,系統(tǒng)會點(diǎn)亮指示燈作為視覺提示,這有助于增強(qiáng)現(xiàn)場的安全管理。例如,在緊急情況下,這種信息可以幫助救援隊伍更快地定位被困人員的位置。此外,結(jié)合其他傳感器的數(shù)據(jù),如瓦斯?jié)舛群蜏貪穸龋梢愿娴卦u估礦井內(nèi)的安全狀況,為采取進(jìn)一步的安全措施提供依據(jù)。

通過集成紅外熱釋電人體檢測傳感器,本項目不僅提高了對礦工活動的實(shí)時監(jiān)控能力,也增強(qiáng)了整體系統(tǒng)的智能化水平,有助于構(gòu)建一個更加安全、高效的地下煤礦作業(yè)環(huán)境。

1.6 市場可行性調(diào)查

image-20241031140314339

image-20241031140324415

image-20241031140400589

基于物聯(lián)網(wǎng)設(shè)計的地下煤礦安全監(jiān)測與預(yù)警系統(tǒng)是一個復(fù)雜而全面的系統(tǒng),通過實(shí)時監(jiān)測、數(shù)據(jù)分析和預(yù)警機(jī)制來提高煤礦的安全性。該系統(tǒng)的設(shè)計和實(shí)施需要綜合考慮煤礦環(huán)境的特殊性、監(jiān)測技術(shù)的先進(jìn)性以及預(yù)警機(jī)制的有效性。

【1】系統(tǒng)架構(gòu)

根據(jù)現(xiàn)有研究,基于物聯(lián)網(wǎng)的煤礦安全監(jiān)測與預(yù)警系統(tǒng)通常包括感知層、傳輸層和應(yīng)用層三個主要部分。感知層負(fù)責(zé)通過各種傳感器收集煤礦環(huán)境中的數(shù)據(jù),如瓦斯?jié)舛取囟取穸鹊取鬏攲觿t利用有線和無線通信技術(shù)將收集到的數(shù)據(jù)傳輸?shù)娇刂?a target="_blank">中心。應(yīng)用層則負(fù)責(zé)對數(shù)據(jù)進(jìn)行處理和分析,并根據(jù)分析結(jié)果發(fā)出預(yù)警。

【2】關(guān)鍵技術(shù)

  1. 傳感器技術(shù) :傳感器是監(jiān)測系統(tǒng)的核心,需要能夠準(zhǔn)確地測量煤礦環(huán)境中的各種參數(shù)。例如,用于檢測瓦斯、一氧化碳等有害氣體的傳感器,以及用于監(jiān)測礦工健康狀況的生理參數(shù)傳感器。
  2. 無線通信技術(shù) :由于煤礦環(huán)境的特殊性,傳統(tǒng)的無線通信技術(shù)可能無法滿足需求。因此,需要開發(fā)適合煤礦環(huán)境的無線通信技術(shù),如基于RFID和Mesh網(wǎng)絡(luò)的通信系統(tǒng)。
  3. 數(shù)據(jù)處理與分析 :收集到的數(shù)據(jù)需要通過高效的數(shù)據(jù)處理和分析算法進(jìn)行處理,以識別潛在的安全風(fēng)險。這包括使用大數(shù)據(jù)技術(shù)和云計算來處理和分析大量數(shù)據(jù)。
  4. 預(yù)警機(jī)制 :基于數(shù)據(jù)分析的結(jié)果,系統(tǒng)需要能夠及時發(fā)出預(yù)警,通知相關(guān)人員采取措施。這可能包括自動化的報警系統(tǒng)和緊急響應(yīng)機(jī)制。

【3】實(shí)施挑戰(zhàn)

  1. 環(huán)境適應(yīng)性 :煤礦環(huán)境復(fù)雜多變,傳感器和通信設(shè)備需要能夠適應(yīng)高溫、高濕、易爆等惡劣條件。
  2. 數(shù)據(jù)安全與隱私 :在傳輸和存儲過程中保護(hù)數(shù)據(jù)的安全性和礦工的隱私是一個重要挑戰(zhàn)。
  3. 系統(tǒng)的可靠性和穩(wěn)定性 :系統(tǒng)需要保證長時間的穩(wěn)定運(yùn)行,避免因故障導(dǎo)致的安全事故。

【4】參考文獻(xiàn)

1. 孫繼平.煤礦物聯(lián)網(wǎng)特點(diǎn)與關(guān)鍵技術(shù)研究[J].煤炭學(xué)報,2011. 
2. 馬小平,胡延軍,繆燕子.物聯(lián)網(wǎng)、大數(shù)據(jù)及云計算技術(shù)在煤礦安全生產(chǎn)中的應(yīng)用研究[J].工礦自動化,2014. 
3. B. Jo, Rana Muhammad Asad Khan. “An Event Reporting and Early-Warning Safety System Based on the Internet of Things for Underground Coal Mines: A Case Study.” Applied Sciences(2017). 
4. 孫彥景,錢建生,李世銀等.煤礦物聯(lián)網(wǎng)絡(luò)系統(tǒng)理論與關(guān)鍵技術(shù)[J].煤炭科學(xué)技術(shù),2011. 
5. Yufeng Jiang, Wei Chen et al. “Real-Time Monitoring of Underground Miners’ Status Based on Mine IoT System.” Sensors (Basel, Switzerland)(2024). 
6. 劉瑞祥.基于物聯(lián)網(wǎng)的煤礦井下監(jiān)測網(wǎng)絡(luò)平臺關(guān)鍵技術(shù)研究[D].中國礦業(yè)大學(xué)(北京),2014. 
7. 張靜,聶章龍.基于物聯(lián)網(wǎng)的煤礦安全監(jiān)測與預(yù)警平臺設(shè)計 附視頻[J].煤炭技術(shù),2021. 
8. 付貴祥,周紅軍,郭繼茹.基于物聯(lián)網(wǎng)的煤礦安全綜合智能預(yù)警系統(tǒng)[J].工礦自動化,2014. 
9. 田立勤,馬亞楠.基于物聯(lián)網(wǎng)的煤礦實(shí)時監(jiān)測的拓?fù)淇煽啃栽O(shè)計與優(yōu)化分析[J].金屬礦山,2017. 
10. 王學(xué)琛,郭昕曜,李墨瀟等.基于物聯(lián)網(wǎng)的煤礦安全風(fēng)險預(yù)警平臺的研究及應(yīng)用[J].武漢理工大學(xué)學(xué)報(信息與管理工程版),2016. 
11. 徐州建筑職業(yè)技術(shù)學(xué)院.煤礦安全檢測系統(tǒng)的物聯(lián)網(wǎng)技術(shù)研究[J].煤炭技術(shù),2011. 
12. 國家安全生產(chǎn)監(jiān)督管理總局通信信息中心.物聯(lián)網(wǎng)技術(shù)在煤礦安全監(jiān)察中的應(yīng)用[J].煤礦安全,2014. 
13. 程文嶺.基于物聯(lián)網(wǎng)的數(shù)字式煤礦安全監(jiān)測監(jiān)控技術(shù)研究[J].科技創(chuàng)新與應(yīng)用,2020. 
14. 國能神東煤炭集團(tuán)有限責(zé)任公司布爾臺煤礦.基于物聯(lián)網(wǎng)技術(shù)的煤礦用電安全智能監(jiān)測研究[J].中國煤炭,2022. 
15. 李瑞華,喬玉峰,劉峰.基于物聯(lián)網(wǎng)的礦井安全檢測系統(tǒng)設(shè)計[J].電子設(shè)計工程,2016. 
16. 劉香蘭,趙旭生,董桂剛.基于物聯(lián)網(wǎng)的煤礦瓦斯爆炸動態(tài)安全預(yù)警系統(tǒng)的設(shè)計研究[J].煤炭工程,2012. 
17. 淮南聯(lián)合大學(xué)計算機(jī)系.基于物聯(lián)網(wǎng)技術(shù)的煤礦人員定位系統(tǒng)及其應(yīng)用[J].電腦知識與技術(shù),2019. 
18. 黎敏.基于五層物聯(lián)網(wǎng)架構(gòu)的煤礦安全監(jiān)控系統(tǒng)設(shè)計[J].煤炭技術(shù),2016. 
19. 徐江陵.基于物聯(lián)網(wǎng)的智能化煤礦安全監(jiān)控系統(tǒng)研究[J].煤炭技術(shù),2018. 
20. 粟闖,方思宇,容德春等.基于物聯(lián)感知技術(shù)的地下開采風(fēng)險管控系統(tǒng)建設(shè)及應(yīng)用 附視頻[J].中國礦業(yè),2024. 
21. 劉衛(wèi)東,張薇,孟曉靜.基于物聯(lián)網(wǎng)的煤礦檢測監(jiān)控系統(tǒng)研究[J].電子器件,2015. 
22. 郭江濤,楊娟.基于物聯(lián)網(wǎng)感知的煤礦安全監(jiān)控系統(tǒng)設(shè)計[J].自動化與儀器儀表,2015. 
23. 黃成玉,李學(xué)哲,張全柱.基于物聯(lián)網(wǎng)技術(shù)的煤礦綜合自動化系統(tǒng)[J].煤礦安全,2012. 
24. 西安歐亞學(xué)院信息工程學(xué)院.基于物聯(lián)網(wǎng)技術(shù)的煤礦智能安全管理系統(tǒng)研究[J].價值工程,2011. 
25. 朱晶.基于物聯(lián)網(wǎng)技術(shù)的煤礦安全監(jiān)控平臺的設(shè)計與關(guān)鍵技術(shù)[J].機(jī)械管理開發(fā),2020. 
26. 黃彩梅,辛樂,黃丹等.基于物聯(lián)網(wǎng)技術(shù)的煤礦定位與監(jiān)測系統(tǒng)設(shè)計[J].傳感器與微系統(tǒng),2013. 
27. 姚逸程.基于物聯(lián)網(wǎng)的煤礦粉塵在線預(yù)警系統(tǒng)[J].綠色科技,2021. 
28. Y. Qi, Wen Ji et al. “Analysis and Design of Monitoring System in Coal Mine Based on Internet of Things.” Applied Mechanics and Materials(2012). 
29. P. Jayarajan, K. V. Gayathri et al. “Improved Cost Effective IoT Based Coal Mining Safety System.” Journal of Physics: Conference Series(2021). 
30. Y. S. Dohare, T. Maity et al. “Design of surveillance and safety system for underground coal mines based on low power WSN.” 2014 International Conference on Signal Propagation and Computer Technology (ICSPCT 2014)(2014).

二、硬件選型

1. NBIoT模塊 - BC26

BC26是一款支持NB-IoT(窄帶物聯(lián)網(wǎng))技術(shù)的無線通信模塊。它具有低功耗、廣覆蓋的特點(diǎn),非常適合用于遠(yuǎn)程數(shù)據(jù)傳輸。在這個項目中,BC26模塊將負(fù)責(zé)將采集到的各種環(huán)境信息上傳至華為云物聯(lián)網(wǎng)平臺,確保數(shù)據(jù)能夠被遠(yuǎn)端服務(wù)器接收并處理。

2. 瓦斯?jié)舛葯z測模塊 - MQ5氣體傳感器

MQ5是一種半導(dǎo)體氣體傳感器,專門用于檢測可燃?xì)怏w如甲烷(瓦斯)、液化石油氣等。它具有高靈敏度和快速響應(yīng)時間。在本項目中,MQ5傳感器將用來監(jiān)測礦井內(nèi)的瓦斯?jié)舛取R坏z測到的濃度達(dá)到預(yù)設(shè)閾值,控制系統(tǒng)會立即啟動通風(fēng)風(fēng)扇以降低有害氣體濃度。

3. 風(fēng)扇模塊 - 礦用通風(fēng)風(fēng)扇

為了有效降低礦井內(nèi)瓦斯等有害氣體的濃度,系統(tǒng)采用礦用通風(fēng)風(fēng)扇。這些風(fēng)扇通常設(shè)計為能夠在惡劣環(huán)境下工作,具備防塵、防水等特性。風(fēng)扇的啟停由繼電器控制,根據(jù)MQ5傳感器檢測到的瓦斯?jié)舛茸詣诱{(diào)節(jié)。

4. OLED顯示屏 - SPI協(xié)議OLED顯示屏

OLED顯示屏以其高對比度、快速響應(yīng)時間和寬視角而聞名。在本項目中,采用SPI接口的OLED顯示屏來顯示實(shí)時采集的數(shù)據(jù),包括溫濕度、瓦斯?jié)舛鹊汝P(guān)鍵信息。這種顯示屏不僅清晰可見,而且功耗較低,適合長時間運(yùn)行。

5. 溫濕度傳感器 - DHT11

DHT11是一種經(jīng)濟(jì)實(shí)惠且易于使用的數(shù)字溫濕度傳感器。它能夠同時測量溫度和相對濕度,并通過單線數(shù)字接口輸出數(shù)據(jù)。在本項目中,DHT11傳感器用于監(jiān)測礦井內(nèi)的溫濕度條件。當(dāng)檢測到的數(shù)值超過設(shè)定的安全閾值時,系統(tǒng)會觸發(fā)蜂鳴器報警。

6. 供電電源

  • 控制板系統(tǒng)供電 :采用5V 2A外部穩(wěn)壓電源,為微控制器、傳感器以及其他低功耗電子元件提供穩(wěn)定的電力供應(yīng)。
  • 其他電器供電 :對于高功耗設(shè)備如風(fēng)扇,則直接使用市電供電,以保證足夠的電力支持其正常工作。

7. 人體檢測 - 紅外熱釋電模塊

紅外熱釋電傳感器利用人體發(fā)出的紅外輻射來檢測人員的存在。在本項目中,該傳感器用于監(jiān)測礦井內(nèi)是否有人員活動。一旦檢測到人員存在,系統(tǒng)會點(diǎn)亮指示燈作為視覺提示,增強(qiáng)現(xiàn)場安全管理。

8. 主控芯片 - STM32F103RCT6

STM32F103RCT6是意法半導(dǎo)體公司推出的一款高性能ARM Cortex-M3微控制器。它具有豐富的外設(shè)資源和強(qiáng)大的計算能力,適用于各種嵌入式應(yīng)用。在本項目中,STM32F103RCT6作為主控芯片,負(fù)責(zé)處理來自各個傳感器的數(shù)據(jù)、執(zhí)行控制邏輯以及管理通信協(xié)議。

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

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

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

image-20221204193824815

3.1 物聯(lián)網(wǎng)平臺介紹

華為云物聯(lián)網(wǎng)平臺(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)平臺構(gòu)建一個完整的物聯(lián)網(wǎng)解決方案主要包括3部分:物聯(lián)網(wǎng)平臺、業(yè)務(wù)應(yīng)用和設(shè)備。

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

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

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

img

3.2 開通物聯(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í)例名稱。 可以看到標(biāo)準(zhǔn)版實(shí)例的設(shè)備接入端口和地址。

image-20240425180759670

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

image-20240425180817704

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

image-20240425180845461

總結(jié):

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

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

打開Windows電腦的命令行控制臺終端,使用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ù):
來自 117.78.5.125 的回復(fù): 字節(jié)=32 時間=35ms TTL=93
來自 117.78.5.125 的回復(fù): 字節(jié)=32 時間=36ms TTL=93
來自 117.78.5.125 的回復(fù): 字節(jié)=32 時間=36ms TTL=93
來自 117.78.5.125 的回復(fù): 字節(jié)=32 時間=39ms TTL=93

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

C:Users11266 >

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

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

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

image-20230109164412041

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

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

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)品詳情頁面,翻到最下面可以看到模型定義。

模型簡單來說: 就是存放設(shè)備上傳到云平臺的數(shù)據(jù)。

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

比如:

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

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

image-20240612095517900

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

image-20240612095542749

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

image-20240612095648815

image-20240612095711898

3.4 添加設(shè)備

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

(1)注冊設(shè)備

image-20240425181935561

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

image-20240612100115167

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

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

image-20240612100128061

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

image-20240612100147232

(5)設(shè)備詳情

image-20240612100202960

image-20240612100217236

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

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

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

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

MQTT是一種消息隊列協(xié)議,使用發(fā)布/訂閱消息模式,提供一對多的消息發(fā)布,解除應(yīng)用程序耦合,相對于其他協(xié)議,開發(fā)更簡單;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é)議,就可以與華為云平臺完成通信。

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

img

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

img

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

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

(3)主題訂閱格式

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

image-20221207153310037

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

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

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

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

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

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

這個操作稱為:屬性上報。

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

image-20221207153637391

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

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

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

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

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

3.6 MQTT三元組

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

接下來介紹,華為云平臺的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ù)上面的域名和端口號,得到下面的IP地址和端口號信息: 如果設(shè)備支持填寫域名可以直接填域名,不支持就直接填寫IP地址。 (IP地址就是域名解析得到的)

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

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

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

image-20240425182610048

(2)生成MQTT三元組

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

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

下面是打開的頁面:

image-20240425183025893

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

直接得到三元組信息。

image-20240509193310020

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

ClientId  663cb18871d845632a0912e7_dev1_0_0_2024050911
Username  663cb18871d845632a0912e7_dev1
Password  71b82deae83e80f04c4269b5bbce3b2fc7c13f610948fe210ce18650909ac237

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

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

(1)填入登錄信息

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

image-20240509193457358

(2)打開網(wǎng)頁查看

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

image-20240612100508790

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

image-20240612100529581

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

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

MQTT服務(wù)器:  117.78.5.125
MQTT端口號:  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}}]}

3.8 創(chuàng)建IAM賬戶

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

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

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

image-20240509193646253

image-20240509193701262

項目憑證:

28add376c01e4a61ac8b621c714bf459

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

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

image-20240509193729078

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

image-20240509193744287

image-20240314153208692

image-20240314153228359

image-20240314153258229

創(chuàng)建成功:

image-20240314153315444

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

image-20240509193828289

用戶信息如下:

主用戶名  l19504562721
IAM用戶  ds_abc
密碼     DS12345678

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

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

設(shè)備影子介紹:

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

簡單來說:設(shè)備影子就是保存,設(shè)備最新上傳的一次數(shù)據(jù)。

我們設(shè)計的軟件里,如果想要獲取設(shè)備的最新狀態(tài)信息,就采用設(shè)備影子接口。

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

在線調(diào)試接口,可以請求影子接口,了解請求,與返回的數(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)試成功之后,可以得到訪問影子數(shù)據(jù)的真實(shí)鏈接,接下來的代碼開發(fā)中,就采用Qt寫代碼訪問此鏈接,獲取影子數(shù)據(jù),完成上位機(jī)開發(fā)。

image-20240509194214716

鏈接如下:

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

四、上位機(jī)開發(fā)

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

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

4.1 Qt開發(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

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

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

軟件安裝時斷網(wǎng)安裝,否則會提示輸入賬戶。

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

image-20221203151742653

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

image-20221203151750344

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

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

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

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

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

【1】新建工程

image-20240117144052547

【2】設(shè)置項目的名稱。

image-20240509195711965

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

image-20240117144239681

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

image-20240117144302275

【5】選擇編譯器

image-20240314162137170

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

image-20240117144354252

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

image-20230421094133333

4.3 設(shè)計UI界面與工程配置

【1】打開UI文件

image-20230421094815236

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

image-20240425194845233

【2】開始設(shè)計界面

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

image-20240620151816878

4.4 編譯Windows上位機(jī)

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

image-20240509202031739

編譯之后的效果:

image-20240620151858925

4.5 配置Android環(huán)境

如果想編譯Android手機(jī)APP,必須要先自己配置好自己的Android環(huán)境。(搭建環(huán)境的過程可以自行百度搜索學(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)與名稱

image-20240612100947190

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

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

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

image-20240509202534407

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

生成的apk的目錄在哪里呢? 編譯完成之后,在控制臺會輸出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

五、 BC26-NBIOT模塊調(diào)試過程

5.1 模塊調(diào)試接線

image-20240511223245187

image-20240511223256788

image-20240511223308721

5.2 測試模塊

第一步接上之后,串口調(diào)試助手選擇波特率為115200,勾選軟件上的發(fā)送新行選項。發(fā)送AT過去,正常模塊會返回OK

只有收到了OK,才表示模塊工作正常。

image-20240511204301353

5.3 上電初始化操作

1】查詢模塊是否正常
AT

OK


【2】獲取卡號,查詢卡是否插好
AT+CIMI

460041052911195

OK


【3】激活網(wǎng)絡(luò)
AT+CGATT=1

OK


【4】獲取網(wǎng)絡(luò)激活狀態(tài)
AT+CGATT?

+CGATT: 1

OK


【5】查詢網(wǎng)絡(luò)質(zhì)量
AT+CSQ

+CSQ: 26,0

OK
    
【6】 檢查網(wǎng)絡(luò)狀態(tài)
AT+CEREG=?   //
+CEREG: 0,1 //找網(wǎng)成功
OK

5.4 開啟GPS定位

如果需要使用GPS定位就開,不需要使用就不用管。

使用GPS定位還需要將模塊上的GPS天線接好,否則也是沒有信號的。

官方文檔:

image-20220220191400115

1】激活GPS,要等一段時間
AT+QGNSSC=1

OK


【2】查詢激活狀態(tài),1表示成功激活
AT+QGNSSC?

+QGNSSC: 1

OK


【3】獲取一次GPS定位語句
AT+QGNSSRD="NMEA/RMC"
+QGNSSRD: $GNRMC,120715.00,A,3150.78179,N,11711.93433,E,0.000,,310818,,,A,V*19
OK

六、STM32代碼開發(fā)

6.1 BC26-NBIOT配置代碼

#include "ec20.h"
#include "stdlib.h"
#include "string.h"
#include "usart.h"	
#include "iwdg.h"

int errcount = 0;
char atstr[BUFLEN];
char AtStrBuf[BUFLEN];
char *strx,*extstrx,*Readystrx;
extern char AtRxBuffer[512],Rxcouter;

////////////////////////////////////////////////////////////////////
char GPRMCSTR[128]; //轉(zhuǎn)載GPS信息 GPRMC 經(jīng)緯度存儲的字符串
char GPRMCSTRLON[64]; //經(jīng)度存儲字符串 也就是119.20694
char GPRMCSTRLAT[64]; //維度存儲字符串,也就是26.06451
char IMEINUMBER[64];//+CGSN: "869523052178994"
//////////////////下面是糾正火星坐標(biāo)的變量定義/////////////////////////
int Get_GPSdata(void);
void Getdata_Change(char status);

    typedef struct 
{
char UtcDate[6];
char longitude[11];//經(jīng)度原數(shù)據(jù)
char Latitude[10];//緯度源數(shù)據(jù)
char longitudess[4];//整數(shù)部分
char Latitudess[3];
char longitudedd[8];//小數(shù)點(diǎn)部分
char Latitudedd[8];
char Truelongitude[12];//轉(zhuǎn)換過數(shù)據(jù)
char TrueLatitude[11];//轉(zhuǎn)換過數(shù)據(jù)
char getstautus;//獲取到定位的標(biāo)志狀態(tài)	
float gpsdata[2];
}LongLatidata;
LongLatidata latdata;

float tempdata[2];
char latStrAF[64];          //存放數(shù)據(jù)經(jīng)緯度用來發(fā)送
char lonStrAF[64];   				//存放數(shù)據(jù)經(jīng)緯度用來顯示
//////////////////////////火星糾偏結(jié)束///////////////////////////////////

////////////////////////只要修改三要素/////////////////////////////////
#define PRODUCEKEY "6402ac07352830580e48ff7b_dev1_0_0_2023030403"        //設(shè)備ID
#define DEVICENAME "6402ac07352830580e48ff7b_dev1"           //用戶名
#define DEVICESECRET "517f1c8f18d6b7b2e4c134653dc892edd38c3e86153506df57f7c296d13b37f7" //密碼


void Clear_Buffer(void)//清空緩存
{
    u8 i;
		NBIOTSend_RecAccessMode();
    printf(AtRxBuffer);
    for(i=0;i< Rxcouter;i++)
        AtRxBuffer[i]=0;//緩存
    Rxcouter=0;

}


//初始化模塊
void  NBIOT_Init(void)
{
    Uart2_SendStr("ATrn");
    delay_ms(500);
    strx=strstr((const char*)AtRxBuffer,(const char*)"OK");//返回OK
    errcount = 0;
    while(strx==NULL)
    {
        errcount++;
        printf("rn單片機(jī)正在連接到模塊...rn");
        Clear_Buffer();
        Uart2_SendStr("ATrn");
        delay_ms(500);
        strx=strstr((const char*)AtRxBuffer,(const char*)"OK");//返回OK
        if(errcount >50)     //防止死循環(huán)
        {
            errcount = 0;
            reset_4g();
            __set_FAULTMASK(1); //關(guān)閉總中斷
            NVIC_SystemReset(); //請求單片機(jī)重啟
            break;
        }
    }

    Uart2_SendStr("ATE1rn"); //回顯
    delay_ms(500);
    Clear_Buffer();

    /////////////////////////////////
    Uart2_SendStr("AT+CPIN?rn");//檢查SIM卡是否在位
    delay_ms(500);
    strx=strstr((const char*)AtRxBuffer,(const char*)"+CPIN: READY");//查看是否返回ready
    while(strx==NULL)
    {
        Clear_Buffer();
        Uart2_SendStr("AT+CPIN?rn");
        delay_ms(500);
        strx=strstr((const char*)AtRxBuffer,(const char*)"+CPIN: READY");//檢查SIM卡是否在位,等待卡在位,如果卡識別不到,剩余的工作就沒法做了
    }
    Clear_Buffer();
    ///////////////////////////////////////
    Uart2_SendStr("AT+CSQrn"); //檢查CSQ
    delay_ms(500);
    Clear_Buffer();
    Uart2_SendStr("ATIrn"); //檢查模塊的版本號
    delay_ms(500);
    Clear_Buffer();


    ///////////////////////////////////
    Uart2_SendStr("AT+CREG?rn");//查看是否注冊GSM網(wǎng)絡(luò)
    delay_ms(500);
    Clear_Buffer();

    Uart2_SendStr("AT+CEREG?rn");//查看注冊到哪個運(yùn)營商,支持移動 聯(lián)通 電信
    delay_ms(500);
    Clear_Buffer();

    Uart2_SendStr("AT+CIMIrn");//獲取卡號,類似是否存在卡的意思,比較重要。
    delay_ms(1000);
    strx=strstr((const char*)AtRxBuffer,(const char*)"OK");//只要卡不錯誤 基本就成功
    if(strx)
    {
        printf("============rn我的卡號是 : %s rn===============rn",AtRxBuffer);
        delay_ms(1000);
        Clear_Buffer();

    }
    else
    {
        // printf("卡錯誤 : %s rn",AtRxBuffer);
        delay_ms(300);
        Clear_Buffer();
    }
    Clear_Buffer();

    Uart2_SendStr("AT+CGSNrn");//激活網(wǎng)絡(luò),PDP
    delay_ms(300);
    strx=strstr((const char*)AtRxBuffer,(const char*)"OK");//返OK
    Clear_Buffer();

    Uart2_SendStr("AT+CGATT?rn");//查詢激活狀態(tài)
    delay_ms(300);
    strx=strstr((const char*)AtRxBuffer,(const char*)"+CGATT: 1");//返1 表明激活成功 獲取到IP地址了
    Clear_Buffer();
    errcount = 0;
    while(strx==NULL)
    {
        errcount++;
        Clear_Buffer();
        Uart2_SendStr("AT+CGATT?rn");//獲取激活狀態(tài)
        delay_ms(300);
        strx=strstr((const char*)AtRxBuffer,(const char*)"+CGATT: 1");//返回1,表明注網(wǎng)成功
        if(errcount >100)     //防止死循環(huán)
        {
            errcount = 0;
            reset_4g();
            __set_FAULTMASK(1); //關(guān)閉總中斷
            NVIC_SystemReset(); //請求單片機(jī)重啟
            break;
        }
    }

    Uart2_SendStr("AT+QCCIDrn");//獲取當(dāng)前卡的IP地址
    delay_ms(500);
    Clear_Buffer();
}


void Start_GPS(void)
{
		Clear_Buffer();	
		Uart2_SendStr("AT+QGPS=1rn");//查詢激活狀態(tài)
		delay_ms(300);
		strx=strstr((const char*)AtStrBuf,(const char*)"OK");//返1
	
		if(strx==NULL)
		{
				//__set_FAULTMASK(1);
				//NVIC_SystemReset();	//超時重啟
				delay_ms(300);
		}
		Clear_Buffer();	
}
//////////////////////////////獲取定位數(shù)據(jù)/////////////////////////////////////////////

/*
AT+QGPSGNMEA="RMC"

+QGPSGNMEA: $GNRMC,035645.00,A,2603.9111,N,11912.4140,E,0.336,,140821,,,A,V*19

OK
AT+QGPSGNMEA="RMC"

+QGPSGNMEA: $GPRMC,145620.00,A,2603.972207,N,11912.411739,E,0.0,0.0,171022,3.5,W,A*2F

*/

char *Get_GPS_RMC(char type)
{
		Clear_Buffer();	
		memset(GPRMCSTR,0,128);
		Uart2_SendStr("AT+QGPSGNMEA="RMC"rn");//查詢激活狀態(tài)
		delay_ms(300);
		strx=strstr((const char*)AtRxBuffer,(const char*)"$GPRMC");//返1
		
		while(strx==NULL)
		{
				Clear_Buffer();	
				Uart2_SendStr("AT+QGPSGNMEA="RMC"rn");//獲取激活狀態(tài)
				delay_ms(300);
				strx=strstr((const char*)AtRxBuffer,(const char*)"$GPRMC");//返回1,表明注網(wǎng)成功
		}
		sprintf(GPRMCSTR,"%s",strx);

		Clear_Buffer();	//打印收到的GPS信息
		GPRMCSTR[2]=	'P';
		
		//printf("============GETGPRMC==============rn%s",GPRMCSTR);		//打印GPRMC
		if(GPRMCSTR[17]=='A')
		{
			memset(latStrAF,0,64);
			memset(lonStrAF,0,64);
			Get_GPSdata();
			
			if(type==1)
				return latStrAF;
			if(type==2)
				return lonStrAF;
		}
		return 0;
}

/*****************************************************
下面是矯正火星坐標(biāo)的
*****************************************************/


//解GPS析函數(shù)
//$GPRMC,134952.00,A,2603.9576,N,11912.4098,E,0.154,,280821,,,A,V*18
int Get_GPSdata()
{
		int i=0;
    strx=strstr((const char*)GPRMCSTR,(const char*)"A,");//獲取緯度的位置
       if(strx)
        {
            for(i=0;i< 9;i++)
            {
             latdata.Latitude[i]=strx[i+2];//獲取緯度值2603.9576
            }
						strx=strstr((const char*)GPRMCSTR,(const char*)"N,");//獲取經(jīng)度值
						if(strx)
						{
								 for(i=0;i< 10;i++)	//獲取經(jīng)度 11912.4098
								 {
										latdata.longitude[i]=strx[i+2];
								 }
								 
						}  
						
						printf("latdata.Latitude ,%s rn",latdata.Latitude);
						printf("latdata.longitude ,%s rn",latdata.longitude);
            latdata.getstautus=1;//                 
	    }
                            
		else
		{
						
				latdata.getstautus=0;
		 }
			Getdata_Change(latdata.getstautus);//數(shù)據(jù)換算
			Clear_Buffer();
		 return 0;

}





/*************解析出經(jīng)緯度數(shù)據(jù),然后直接提交數(shù)據(jù)*******************/	

void Getdata_Change(char status)
{
	unsigned char i;	
    	
    if(status)
    {

        for(i=0;i< 3;i++)
						latdata.longitudess[i]=latdata.longitude[i];
				for(i=3;i< 10;i++)
						latdata.longitudedd[i-3]=latdata.longitude[i];
			
			 latdata.gpsdata[0]=(latdata.longitudess[0]-0x30)*100+(latdata.longitudess[1]-0x30)*10+(latdata.longitudess[2]-0x30)
		     +((latdata.longitudedd[0]-0x30)*10+(latdata.longitudedd[1]-0x30)+(float)(latdata.longitudedd[3]-0x30)/10+
		     (float)(latdata.longitudedd[4]-0x30)/100+(float)(latdata.longitudedd[5]-0x30)/1000+(float)(latdata.longitudedd[6]-0x30)/10000)/60.0;//獲取完整的數(shù)據(jù)
       
///////////////////////////////////////////
				for(i=0;i< 2;i++)
						latdata.Latitudess[i]=latdata.Latitude[i];
				for(i=2;i< 9;i++)
						latdata.Latitudedd[i-2]=latdata.Latitude[i];	
				 
			latdata.gpsdata[1]=(float)(latdata.Latitudess[0]-0x30)*10+(latdata.Latitudess[1]-0x30)
		     +((latdata.Latitudedd[0]-0x30)*10+(latdata.Latitudedd[1]-0x30)+(float)(latdata.Latitudedd[3]-0x30)/10+
		     (float)(latdata.Latitudedd[4]-0x30)/100+(float)(latdata.Latitudedd[5]-0x30)/1000+(float)(latdata.Latitudedd[6]-0x30)/10000)/60.0;//獲取完整的數(shù)據(jù)b

	
				 sprintf(latStrAF,"%f",latdata.gpsdata[1]);
				 sprintf(lonStrAF,"%f",latdata.gpsdata[0]);
				 
				 			 
				 printf("latStrAF,%s rn",latStrAF);
				 printf("lonStrAF,%s rn",lonStrAF);
				 
    }
    else
    {
        latdata.gpsdata[0]=0;
        latdata.gpsdata[1]=0;
    }
		
	
}

/*****************************************************
糾偏結(jié)束
*****************************************************/

/*********************************************************************************
** 函數(shù)名稱 : MakeOnenetPayload(char *Str,u8 Temp,u8 Humi)
** 函數(shù)功能 : 將溫度與濕度封裝成Onenet有效載荷包
** 輸    入	: *str有效載荷保存的目標(biāo)字符串, 
** 輸    入	: Temp 溫度值
** 輸    入	: Humi 濕度值
** 輸    出	: 有效載荷字符串
** 返    回	: 有效載荷字符串長度
*********************************************************************************/
char JsonBuf[256];//臨時數(shù)據(jù)緩存 
u8 MakeOnenetPayload(u8 *Str,u8 Temp,u8 Humi)//將溫度與濕度封裝成Onenet有效載荷包
{
  char Payload[] = "{"datastreams":[{"id":"Temp","datapoints":[{"value":%d}]},{"id":"Humi","datapoints":[{"value":%d}]}]}";//onenet有效載荷固定格式
	
	unsigned short   StrLen;//有效載荷數(shù)據(jù)長度
	memset(JsonBuf,0,256);
	sprintf(JsonBuf,Payload,Temp,Humi);//合成數(shù)據(jù)有效載荷封裝
	//printf("rn有效載荷(%d):[%s]rn",strlen(JsonBuf),(char *)JsonBuf);
	StrLen = strlen(JsonBuf)/sizeof(char);//計算有效載荷的數(shù)據(jù)長度
	//printf("rn有效載荷長度(%d)rn",StrLen);
	Str[0] = 'x01';//報文第一個字節(jié)的固定顯示
	//printf("rnStr[0]=0X(%02X)rn",Str[0]);
	//報文第2個字節(jié)和第三個字節(jié)表示有效載荷的長度的固定顯示
	Str[1] = (StrLen & 0XFF00) > >8;//高位
	//printf("rnStr[1]=0X(%02X)rn",Str[1]);
	Str[2] =  StrLen & 0XFF;//低位
	//printf("rnStr[2]=0X(%02X)rn",Str[2]);
	//拷貝有效載荷數(shù)據(jù)到Str
	memcpy(Str+3,JsonBuf,StrLen);//從第三個字節(jié)開始拷貝
	return (StrLen+3);//返回長度
}

u8 CSTX_4G_MQTT_Senddata(char *data)
{	
	u8 JsonLen;//Json包數(shù)據(jù)長度
	memset(AtStrBuf,0,BUFLEN);
	Clear_Buffer();
    sprintf(AtStrBuf,"AT+QMTPUB=0,0,0,0,"$oc/devices/6402ac07352830580e48ff7b_dev1/sys/properties/report"rn");
   // printf("ATSTR = %s rn",AtStrBuf);
    Uart2_SendStr(AtStrBuf);//mqtt提交
    delay_ms(300);
		strx=strstr((const char*)AtRxBuffer,(const char*)" >");//準(zhǔn)備發(fā)送數(shù)據(jù)
		errcount=0;
    while(strx==NULL)
    {
        errcount++;
        strx=strstr((const char*)AtRxBuffer,(const char*)" >");//準(zhǔn)備發(fā)送數(shù)據(jù) 模塊的反饋
				delay_ms(30);
        if(errcount >10)     //超時退出
        {
            errcount = 0;
            break;
        }
    }
		Clear_Buffer();
        
       
		USART2_Send((char *)data,strlen(data));//發(fā)送json數(shù)據(jù)
	
        UART2_send_byte(0x1A);
		delay_ms(300);
		errcount=0;
    strx=strstr((const char*)AtRxBuffer,(const char*)"+QMTPUB: 0,0,0");//返SEND OK +QMTPUB: 0,0,0
    while(strx==NULL)
    {
				errcount++;
        strx=strstr((const char*)AtRxBuffer,(const char*)"+QMTPUB: 0,0,0");//返SEND OK
				delay_ms(30);
        if(errcount >10)     //超時退出
        {
            errcount = 0;
            break;
        }
    }
    Clear_Buffer();
    return 0;
}


u8 MakeOnenetPayloadGPS(u8* Str,char *latstr,char * lonstr)//將溫度與濕度封裝成Onenet有效載荷包
{
  char Payload[] = "{"datastreams":[{"id":"location","datapoints":[{"value":{"lon":%s,"lat":%s}}]}]}";//onenet有效載荷固定格式

	unsigned short   StrLen;//有效載荷數(shù)據(jù)長度
	memset(JsonBuf,0,256);
	sprintf(JsonBuf,Payload,lonstr,latstr);//合成數(shù)據(jù)有效載荷封裝
	printf("JSONEND= %s rn",JsonBuf);
	//printf("rn有效載荷(%d):[%s]rn",strlen(JsonBuf),(char *)JsonBuf);
	StrLen = strlen(JsonBuf)/sizeof(char);//計算有效載荷的數(shù)據(jù)長度
	//printf("rn有效載荷長度(%d)rn",StrLen);
	Str[0] = 'x01';//報文第一個字節(jié)的固定顯示
	//printf("rnStr[0]=0X(%02X)rn",Str[0]);
	//報文第2個字節(jié)和第三個字節(jié)表示有效載荷的長度的固定顯示
	Str[1] = (StrLen & 0XFF00) > >8;//高位
	//printf("rnStr[1]=0X(%02X)rn",Str[1]);
	Str[2] =  StrLen & 0XFF;//低位
	//printf("rnStr[2]=0X(%02X)rn",Str[2]);
	//拷貝有效載荷數(shù)據(jù)到Str
	memcpy(Str+3,JsonBuf,StrLen);//從第三個字節(jié)開始拷貝
	return (StrLen+3);//返回長度
}

void CSTX_4G_ONENETIOTSenddataGPS(char *latstr,char *lonstr)//上發(fā)數(shù)據(jù),上發(fā)的數(shù)據(jù)跟對應(yīng)的插件有關(guān)系,用戶需要注意插件然后對應(yīng)數(shù)據(jù)即可
{
//		int JsonLen= 0;
//    memset(AtStrBuf,0,BUFLEN);
//	
//		Clear_Buffer();	//發(fā)送命令之前清空之前的模塊反饋的數(shù)據(jù)
//    sprintf(AtStrBuf,"AT+QMTPUB=0,0,0,0,"$dp"rn");	//發(fā)送ONENET命令
//    printf("AtStrBuf = %s rn",AtStrBuf);
//    Uart2_SendStr(AtStrBuf);//mqtt提交
//    delay_ms(300);
//		strx=strstr((const char*)AtRxBuffer,(const char*)" >");//模塊反饋可以發(fā)送數(shù)據(jù)了
//		errcount=0;
//    while(strx==NULL)
//    {
//        errcount++;
//        strx=strstr((const char*)AtRxBuffer,(const char*)" >");//模塊反饋可以發(fā)送數(shù)據(jù)了
//				delay_ms(30);
//        if(errcount >100)     //防止死循環(huán)跳出
//        {
//            errcount = 0;
//            break;
//        }
//    }
//		//命令發(fā)送成功下面就去發(fā)送數(shù)據(jù)了
//		//Clear_Buffer();

//		JsonLen = MakeOnenetPayloadGPS((u8*)Send_Json,latstr,lonstr);	//組建CJSON數(shù)據(jù)
//		USART2_Send((char *)Send_Json,JsonLen);//發(fā)送json 數(shù)據(jù)
//		delay_ms(10);
//		UART2_send_byte(0x1A);
//    strx=strstr((const char*)AtRxBuffer,(const char*)"+QMTPUB: 0,0,0");//返發(fā)送成功
//		errcount=0;
//    while(strx==NULL)
//    {
//				errcount++;
//				strx=strstr((const char*)AtRxBuffer,(const char*)"+QMTPUB: 0,0,0");//返發(fā)送成功
//				delay_ms(10);
//				if(errcount >100)     //超時退出死循環(huán) 表示服務(wù)器連接失敗
//        {
//            errcount = 0;
//            break;
//        }
//    }
//		
//    Clear_Buffer();

}

6.2 主函數(shù)里的項目邏輯代碼

下面是項目的主函數(shù)里的項目邏輯代碼(其他子模塊的代碼太多,文檔無法全部貼出)。

可以去網(wǎng)盤里下載傳感器模塊的代碼:https://pan.quark.cn/s/145a9b3f7f53

#include "stm32f10x.h"
#include "sensors.h"  // 傳感器驅(qū)動
#include "lcd.h"      // LCD顯示驅(qū)動
#include "nbiot.h"    // NBIoT模塊驅(qū)動
#include "mqtt.h"     // MQTT協(xié)議庫
#include "relay.h"    // 繼電器控制
#include "delay.h"    // 延時函數(shù)
#include < string.h >   // 字符串處理函數(shù)

// 初始化所有外設(shè)
void Hardware_Init(void) {
    // 初始化GPIO
    GPIO_InitTypeDef GPIO_InitStructure;
    // ... 配置必要的GPIO引腳(如LCD接口、繼電器控制等)

    // 初始化定時器(用于周期性任務(wù))
    TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
    // ... 配置定時器

    // 初始化傳感器
    Sensors_Init();

    // 初始化LCD
    LCD_Init();

    // 初始化NBIoT模塊
    NB_IoT_Init();

    // 初始化MQTT客戶端
    MQTT_Init();
}

// 檢查并執(zhí)行灌溉命令
void CheckAndExecuteIrrigationCommands(void) {
    // 從云端獲取最新的灌溉命令
    char *irrigation_command = MQTT_Subscribe("irrigation/command");

    if (irrigation_command != NULL) {
        // 解析命令并控制相應(yīng)的繼電器
        Relay_Control(irrigation_command);
    }
}

// 主函數(shù)
int main(void) {
    // 初始化硬件
    Hardware_Init();

    // 主循環(huán)
    while (1) {
        // 讀取傳感器數(shù)據(jù)
        float soil_temp, soil_humidity, air_temp, air_humidity, light_intensity, air_quality;
        Sensors_Read(&soil_temp, &soil_humidity, &air_temp, &air_humidity, &light_intensity, &air_quality);

        // 顯示到LCD
        LCD_DisplayData(soil_temp, soil_humidity, air_temp, air_humidity, light_intensity, air_quality);

        // 通過NBIoT上傳數(shù)據(jù)到華為云IoT
        if (NB_IoT_IsConnected()) {
            char data[128];
            snprintf(data, sizeof(data), 
                     "soil_temp=%.2f,soil_humidity=%.2f,air_temp=%.2f,air_humidity=%.2f,light_intensity=%.2f,air_quality=%.2f",
                     soil_temp, soil_humidity, air_temp, air_humidity, light_intensity, air_quality);
            MQTT_Publish("sensor/data", data);
        }

        // 檢查并執(zhí)行灌溉命令
        CheckAndExecuteIrrigationCommands();

        // 延時一段時間
        Delay(5000);  // 例如每5秒更新一次
    }
}

七、總結(jié)

本項目設(shè)計并實(shí)現(xiàn)一套基于物聯(lián)網(wǎng)技術(shù)的地下煤礦安全監(jiān)測與預(yù)警系統(tǒng),以提高礦工工作環(huán)境的安全性。該系統(tǒng)通過集成多種傳感器技術(shù),能夠?qū)崟r監(jiān)控礦井內(nèi)的溫濕度、瓦斯?jié)舛燃叭藛T活動情況,并在檢測到異常時及時發(fā)出警報,采取相應(yīng)的安全措施。

系統(tǒng)硬件核心采用STM32F103RCT6微控制器,結(jié)合DHT11溫濕度傳感器、MQ5氣體傳感器以及紅外熱釋電人體感應(yīng)模塊,分別用于環(huán)境溫濕度、瓦斯?jié)舛群腿藛T存在的監(jiān)測。當(dāng)環(huán)境參數(shù)超過預(yù)設(shè)的安全閾值時,系統(tǒng)將自動激活蜂鳴器報警,并通過控制繼電器啟動通風(fēng)風(fēng)扇以降低有害氣體濃度。此外,OLED顯示屏被用作現(xiàn)場顯示終端,提供直觀的數(shù)據(jù)展示。為了實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)傳輸與管理,系統(tǒng)還集成了BC26 NBIOT模塊,可以將收集到的信息上傳至華為云物聯(lián)網(wǎng)平臺,便于管理者進(jìn)行數(shù)據(jù)分析和決策支持。

為提升用戶體驗(yàn),我們使用Qt框架開發(fā)了一款運(yùn)行于Windows平臺上的可視化大屏軟件界面,能夠?qū)崟r展現(xiàn)來自地下煤礦的各類監(jiān)測數(shù)據(jù),使管理人員能夠迅速掌握礦區(qū)狀況并作出響應(yīng)。整個系統(tǒng)的供電設(shè)計考慮了穩(wěn)定性和安全性,其中控制電路部分由5V 2A穩(wěn)壓電源供應(yīng),而風(fēng)扇等高功耗設(shè)備則直接接入市電,確保長時間可靠運(yùn)行。

本項目不僅增強(qiáng)了地下煤礦作業(yè)場所的安全保障能力,也為未來構(gòu)建更加智能化、信息化的礦山管理體系奠定了基礎(chǔ)。

審核編輯 黃宇

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

    關(guān)注

    2551

    文章

    51097

    瀏覽量

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

    關(guān)注

    2909

    文章

    44634

    瀏覽量

    373289
  • 安全監(jiān)測
    +關(guān)注

    關(guān)注

    0

    文章

    172

    瀏覽量

    10543
收藏 人收藏

    評論

    相關(guān)推薦

    煤礦安全監(jiān)控系統(tǒng)

    煤礦安全監(jiān)控系統(tǒng)二十一世紀(jì)煤礦事故的頻發(fā)使得煤礦企業(yè)的安全生產(chǎn)信息化勢在必行。煤礦安全監(jiān)控系統(tǒng)可以保證煤炭的
    發(fā)表于 06-04 09:01

    DTU在煤礦安全生產(chǎn)無線監(jiān)測

    方案需求瓦斯事故是當(dāng)前煤礦生產(chǎn)的主要災(zāi)害。大多數(shù)煤礦企業(yè)都已經(jīng)或正在進(jìn)行瓦斯等安全生產(chǎn)監(jiān)測監(jiān)控系統(tǒng)的建設(shè),但由于現(xiàn)有系統(tǒng)的局限性,無法使安全
    發(fā)表于 10-17 16:01

    【HarmonyOS HiSpark AI Camera】煤礦安全監(jiān)測系統(tǒng)

    項目名稱:煤礦安全監(jiān)測系統(tǒng)試用計劃:我司跟中國煤炭科工集團(tuán)(央企)沈陽研究院最近合作一個煤礦安全監(jiān)測系統(tǒng)。其中有一個是熱成像攝像頭,計劃到時候使用鴻蒙系統(tǒng)和海思開發(fā)板為基礎(chǔ),開發(fā)這一套
    發(fā)表于 09-25 10:11

    STM32應(yīng)用案例 實(shí)現(xiàn)地下停車場安全預(yù)警系統(tǒng)設(shè)計

    設(shè)計了一套基于STM32的地下停車場安全預(yù)警系統(tǒng)。該系統(tǒng)由供電模塊、STM32主處理器模塊、無線通信模塊、車輛監(jiān)測模塊、安全
    發(fā)表于 01-06 18:22

    加強(qiáng)小型煤礦安全監(jiān)測系統(tǒng)的探討

    文章論述了加強(qiáng)小型煤礦安全監(jiān)測工作的必要性,以及監(jiān)測系統(tǒng)選型的重要性,闡述了選型的 內(nèi)容、測量的布置以及傳感器數(shù)目的確定方法,還提出了小型煤礦安全監(jiān)
    發(fā)表于 07-04 09:07 ?7次下載

    煤礦安全生產(chǎn)與監(jiān)測設(shè)備

    煤礦安全生產(chǎn)與監(jiān)測設(shè)備 摘要:主要介紹一種適用于中小型煤礦安全生產(chǎn)與監(jiān)測設(shè)備的設(shè)計方案。該設(shè)備能夠?qū)崟r采集、監(jiān)測井下工作面的瓦斯?jié)舛取⒁谎?/div>
    發(fā)表于 01-07 10:05 ?936次閱讀
    <b class='flag-5'>煤礦安全</b>生產(chǎn)與<b class='flag-5'>監(jiān)測</b>設(shè)備

    煤礦安全生產(chǎn)監(jiān)測管理系統(tǒng)的設(shè)計

    針對煤礦地理環(huán)境復(fù)雜、井下作業(yè)環(huán)境惡劣,難以有效地對煤礦井下開采環(huán)境進(jìn)行有效地監(jiān)測和管理,設(shè)計并實(shí)現(xiàn)了煤礦安全生產(chǎn)監(jiān)測管理系統(tǒng)。該系統(tǒng)采用M
    發(fā)表于 12-05 14:44 ?50次下載
    <b class='flag-5'>煤礦安全</b>生產(chǎn)<b class='flag-5'>監(jiān)測</b>管理系統(tǒng)的設(shè)計

    煤礦安全規(guī)程修改條文對照表

    本規(guī)程是《煤礦安全規(guī)程》修改條文對照表,序號 原《煤礦安全規(guī)程》條文 修改后的《煤礦安全規(guī)程》條文。
    發(fā)表于 04-02 09:29 ?15次下載

    避免煤礦安全事故的系統(tǒng)

    監(jiān)測監(jiān)控。 先抽后采就是在煤礦瓦斯突出的煤層開采之前,必須對煤層中的瓦斯進(jìn)行抽采,消除瓦斯隱患后再開采,為安全生產(chǎn)創(chuàng)造條件,是從源頭上治理瓦斯災(zāi)害的關(guān)鍵舉措。因此,對瓦斯抽采管道的濃度在線監(jiān)
    的頭像 發(fā)表于 10-14 10:09 ?2618次閱讀
    避免<b class='flag-5'>煤礦安全</b>事故的系統(tǒng)

    煤礦安全在線監(jiān)測系統(tǒng),數(shù)據(jù)采集網(wǎng)關(guān)的應(yīng)用

    重點(diǎn)。 煤礦安全在線監(jiān)測系統(tǒng) 煤礦安全在線監(jiān)測系統(tǒng),采用無線通信技術(shù),實(shí)現(xiàn)現(xiàn)場環(huán)境、設(shè)備狀態(tài)的實(shí)時云監(jiān)控,大數(shù)據(jù)的智能、可視化管理不放過任何可能存在的
    的頭像 發(fā)表于 11-18 16:34 ?2510次閱讀

    煤礦井下安全監(jiān)控聯(lián)網(wǎng)解決方方案_井下安全監(jiān)控設(shè)備

    煤礦安全監(jiān)管聯(lián)網(wǎng)解決方案是基于聯(lián)網(wǎng)技術(shù)的一種安全生產(chǎn)解決方案,其背景主要源于以下幾個方面:1
    的頭像 發(fā)表于 07-19 17:39 ?881次閱讀
    <b class='flag-5'>煤礦</b>井下<b class='flag-5'>安全</b>監(jiān)控<b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>解決方方案_井下<b class='flag-5'>安全</b>監(jiān)控設(shè)備

    燃爆!煤礦安全,人員越界識別的必要性!

    人員越界識別AI算法作為智慧礦山AI算法的一大創(chuàng)新,應(yīng)用于煤礦安全管理中,通過實(shí)時監(jiān)測預(yù)警,有效避免人員越界引發(fā)的事故,提升煤礦安全性和
    的頭像 發(fā)表于 10-30 15:03 ?353次閱讀

    煤礦安全生產(chǎn)預(yù)警系統(tǒng)

    智慧華盛恒輝煤礦安全生產(chǎn)預(yù)警系統(tǒng)是一種針對煤礦生產(chǎn)過程中的安全隱患進(jìn)行監(jiān)測預(yù)警的系統(tǒng)。 該系統(tǒng)
    的頭像 發(fā)表于 01-03 13:35 ?741次閱讀

    煤礦安全風(fēng)險監(jiān)測預(yù)警系統(tǒng)

    智慧華盛恒輝煤礦安全風(fēng)險監(jiān)測預(yù)警系統(tǒng)是一個集成了云計算、移動互聯(lián)網(wǎng)聯(lián)網(wǎng)和人工智能技術(shù)的綜合性
    的頭像 發(fā)表于 06-18 10:16 ?790次閱讀

    基于AI網(wǎng)關(guān)的智慧煤礦安全監(jiān)測應(yīng)用

    煤礦安全一直是礦業(yè)管理的重中之重。由于煤礦環(huán)境的惡劣與復(fù)雜性,針對煤礦安全監(jiān)測和防范時常面臨著極大的挑戰(zhàn)。本篇就結(jié)合AI網(wǎng)關(guān)的功能和優(yōu)勢,
    的頭像 發(fā)表于 09-24 17:47 ?348次閱讀
    基于AI網(wǎng)關(guān)的智慧<b class='flag-5'>煤礦安全</b><b class='flag-5'>監(jiān)測</b>應(yīng)用
    主站蜘蛛池模板: 涩涩网站在线看| 亚洲一二三产品区别在哪里| 大迪克黑人异族| 日本久久和电影| 国产99RE在线观看69热| 色男人综合| 国产毛A片啊久久久久久A| 性奴公司 警花| 精品国产福利一区二区在线| 亚洲伊人久久大香线蕉综合图片| 精品一产品大全| 1级午夜影院费免区| 国产精品资源在线观看网站| 午夜国产理论| 极品少妇小泬50PTHEPON| 永久免费毛片| 免费无码又爽又黄又刺激网站 | 亚洲 成人网| 黑丝女仆恋上我| 中文字幕无码亚洲视频| 男助理憋尿PLAY灌尿BL出去| 北原夏美 快播| 天堂tv免费tv在线tv香蕉| 国产亚洲精品视频亚洲香蕉视| 亚洲精品拍拍央视网出文| 久久免费国产| chinese帅哥gv在线看| 色婷婷国产精品视频一区二区三区| 国产毛片视频网站| 一个人在线观看免费高清视频在线观看 | 亚洲国产精品无码中文字满| 精品久久伊人| 97久久精品人人槡人妻人| 碰超成人在线公开免费视频| 二级片免费看| 亚洲视频区| 欧美极品尿交| 国产精品爽爽久久久久久无码 | 国产午夜精品一区二区理论影院| 一本道久久综合久久88| 欧美阿v在线天堂|