基于物聯(lián)網(wǎng)的人孔監(jiān)控系統(tǒng)
人孔監(jiān)測是市政基礎(chǔ)設(shè)施的一個重要方面,由于人孔蓋破損和丟失而導致的事故非常頻繁。沙井的管理和監(jiān)測不善也會導致城市洪水,這在擁擠的城市中最常見。這個問題可以通過使用基于物聯(lián)網(wǎng)和傳感器技術(shù)的人孔管理設(shè)備來解決。
在本文中,我們將構(gòu)建一個基于物聯(lián)網(wǎng)的人孔監(jiān)控設(shè)備。該裝置包括一個氣體傳感器,用于監(jiān)測人孔中存在的氣體,以便監(jiān)測毒性,一個超聲波傳感器,用于檢測水位,以及一個傾斜傳感器,用于指示人孔蓋是否傾斜。如果這些值中的任何一個超出了預定義的值,那么我們將使用SIM800l GSM模塊向權(quán)威號碼發(fā)送SMS。這個完整的設(shè)置將使用18650電池供電。
組件的要求
?SIM800L GSM模塊
?XL6009升壓模塊
?MQ氣體傳感器
?key -017水銀傾斜開關(guān)模塊
?JSN SR-04T防水超聲波傳感器
?18650電池和電池支架
人孔監(jiān)控系統(tǒng)電路圖
基于物聯(lián)網(wǎng)的井口監(jiān)控系統(tǒng)的完整原理圖如下:
這個電路并不難。在這里,我們使用了三個傳感器,即氣體傳感器,超聲波傳感器和傾斜傳感器,一個XL6009升壓模塊,SIM800L GSM模塊和18650單元。XL6009升壓模塊用于將電壓從18650升壓到5V,氣體傳感器用于檢測氣體的存在。超聲波傳感器用于檢測水位,傾斜傳感器用于檢測人孔蓋是否傾斜。最后,使用SIM800L GSM模塊發(fā)送有關(guān)這些事件的SMS通知。
人孔監(jiān)控系統(tǒng)代碼
現(xiàn)在,在連接組件之后,是時候?qū)odeMCU進行編程,以讀取傳感器數(shù)據(jù)并發(fā)送有關(guān)傳感器讀數(shù)變化的消息更新。完整的代碼在文檔的末尾給出。這里我們將解釋代碼的一些重要部分。
代碼首先包含SoftwareSerial庫并定義連接到傳感器和GSM模塊的NodeMCU引腳。
然后在setup()函數(shù)中定義觸發(fā)引腳作為輸出,超聲波傳感器的回波引腳和傾斜傳感器的信號引腳作為輸入,并在9600處啟動串行通信,以便在串行監(jiān)視器上顯示結(jié)果。
在環(huán)路中,首先,我們使用digitalRead()和analogRead()函數(shù)讀取傾斜傳感器和氣體傳感器讀數(shù),然后使用超聲波傳感器測量距離,首先將觸發(fā)引腳設(shè)置為LOW狀態(tài)2μs,以確保觸發(fā)引腳清晰。然后把觸發(fā)引腳調(diào)高15秒,發(fā)出超聲波。我們將使用pulseIn()函數(shù)讀取旅行時間,并將該值存儲到變量“duration”中。最后,我們將在串行監(jiān)視器上打印距離的值。
然后在最后,我們比較這些讀數(shù),如果讀數(shù)超過預定義的值,那么我們將使用GSM模塊發(fā)送短信通知。發(fā)送消息的AT命令解釋如下:
AT+CMGF=1 -用于選擇消息格式為文本。缺省情況下,格式為PDU (Protocol Data Unit)。
AT+CMGS=+ZZxxxxxxxxxx -該命令發(fā)送短信給GSM類型的手機。
在性能板上構(gòu)建電路
在面包板上測試電路并確保一切正常后,我繼續(xù)在perf板上構(gòu)建電路,使其更適合應用程序。焊接板看起來像下面:
井口監(jiān)控系統(tǒng)測試
現(xiàn)在一切都準備好了,讓我們測試一下設(shè)置。為了進行測試,我在桶里裝滿了水,并用太陽板作為桶的蓋子。然后我將硬件安裝在蓋子上,如下圖所示:
最初,桶是空的,蓋子完全平衡,但當我們傾斜蓋子時,傾斜傳感器檢測到運動并發(fā)送消息。同樣,我們測試了氣體傳感器和水位,它工作如預期。
本文編譯自iotdesignpro