郁賽賽 袁靜 劉國成 謝雨婷 岳衛(wèi)國 韓昱
關(guān)鍵詞:GPRS;溫濕度采集;STM32;SIM900A;無線數(shù)據(jù)傳輸
中圖分類號:TP368 文獻(xiàn)標(biāo)識碼:A文章編號:1009-3044(2022)36-0095-02
1 引言
在高度信息化的現(xiàn)代社會,移動通信技術(shù)快速發(fā)展,已經(jīng)從2G來到了5G時代。信息技術(shù)的進(jìn)步也為許多傳統(tǒng)工程問題帶來了新的解決思路[1]。在工業(yè)生產(chǎn)、環(huán)境監(jiān)測、水文測量等工程項目中數(shù)據(jù)測量占據(jù)了重要地位[2],而傳統(tǒng)的有線傳輸雖傳輸效率高但易受環(huán)境因素的影響,難以適應(yīng)復(fù)雜環(huán)境和遠(yuǎn)距離傳輸。
與有線傳輸不同,GPRS通過分組數(shù)據(jù)交換技術(shù)可實現(xiàn)遠(yuǎn)距離無線傳輸,特別適用于頻繁的少量數(shù)據(jù)傳輸和間斷的大量數(shù)據(jù)傳輸[3]。且得益于我國的通信基礎(chǔ)設(shè)施建設(shè),基于GPRS技術(shù)的數(shù)據(jù)傳輸系統(tǒng)在廣大的山區(qū)、農(nóng)村地區(qū)也可以得到廣泛使用。
2 GPRS技術(shù)
GPRS(General Packet Radio Service)是一種基于GSM發(fā)展起來的移動數(shù)據(jù)技術(shù)[4]。它是利用GSM網(wǎng)絡(luò)中的TDMA信道,提供中速的數(shù)據(jù)傳輸服務(wù)。它的特點是間歇傳輸數(shù)據(jù),最高速率可達(dá)170千比特/秒,支持短信、語音、上網(wǎng)和數(shù)據(jù)無線傳輸?shù)葮I(yè)務(wù)。GPRS 遵循TCP/IP 協(xié)議或UDP 協(xié)議,通常用于客戶端和服務(wù)器之間的通信,從而進(jìn)行無線數(shù)據(jù)傳輸[5]。隨著GPRS 網(wǎng)絡(luò)服務(wù)技術(shù)的不斷發(fā)展,GPRS在數(shù)據(jù)通信領(lǐng)域的應(yīng)用越來越廣泛[6],它傳輸速率快、可靠性高、永久性在線的優(yōu)點在環(huán)境監(jiān)測和智能汽車定位等應(yīng)用領(lǐng)域得到了很好的體現(xiàn)。
3系統(tǒng)硬件設(shè)計
系統(tǒng)主要是以STMicroelectronics 公司的M3 核STM32103ZE作為主控單元,集溫濕度數(shù)據(jù)采集電路,電源電路和GPRS 無線傳輸電路為一體的數(shù)據(jù)采集發(fā)送終端。MCU單元用于整體控制和對GPRS 無線通信模塊發(fā)出AT 指令;溫濕度數(shù)據(jù)采集電路的功能是實現(xiàn)采集所處環(huán)境的溫濕度;電源電路負(fù)責(zé)整體模塊的外部供電;GPRS模塊負(fù)責(zé)將采集到的數(shù)據(jù)通過GPRS 移動通信網(wǎng)絡(luò)上傳到服務(wù)器或手機(jī)。此外,系統(tǒng)采用了0.91寸OLED液晶屏作為顯示模塊,實時顯示所測量環(huán)境的溫濕度。使用SHT20 芯片來采集溫度和濕度,它的體積較小,I2C通信。采用JTAG進(jìn)行系統(tǒng)硬件部分的調(diào)試,測試是否正常驅(qū)動硬件,是否能正常實現(xiàn)數(shù)據(jù)采集與傳輸模塊的功能要求。發(fā)送終端。MCU單元用于整體控制和對GPRS 無線通信模塊發(fā)出AT 指令;溫濕度數(shù)據(jù)采集電路的功能是實現(xiàn)采集所處環(huán)境的溫濕度;電源電路負(fù)責(zé)整體模塊的外部供電;GPRS 模塊負(fù)責(zé)將采集到的數(shù)據(jù)通過GPRS 移動通信網(wǎng)絡(luò)上傳到服務(wù)器或手機(jī)。此外,系統(tǒng)采用了0.91 寸OLED液晶屏作為顯示模塊,實時顯示所測量環(huán)境的溫濕度。使用SHT20 芯片來采集溫度和濕度,它的體積較小,I2C通信。采用JTAG進(jìn)行系統(tǒng)硬件部分的調(diào)試,測試是否正常驅(qū)動硬件,是否能正常實現(xiàn)數(shù)據(jù)采集與傳輸模塊的功能要求。
3.1 MCU 單元設(shè)計
MCU單元使用STM32F103ZET6 芯片作為主控單元的核心芯片,正常工作電壓為2.0~3.5V,主頻為72MHZ且含有大量外設(shè)資源[7][8]。該芯片相比于其他同系列微控制器擁有更大的存儲容量可滿足本系統(tǒng)大量數(shù)據(jù)采集的要求。芯片內(nèi)部自帶基準(zhǔn)的RTC時鐘和看門狗定時器,能有效阻止異常情況,防止測試程序跑飛死機(jī)。
本系統(tǒng)的主晶振采用8MHz 晶振,可將處理器的頻率增加六倍至72MHZ,此晶振是給需要高頻的外設(shè)提供的。RTC 時鐘電路的專用晶體振蕩器頻率為32.768KHz,且在時鐘晶振兩端配有兩個電容式以抵抗外部電磁干擾。
3.2 GPRS 無線通信模塊電路設(shè)計GPRS部分采用SIM900A,它包含了AT指令、網(wǎng)絡(luò)注冊、短信操作等多種功能。SIM900A在同一時間只能處理微處理器發(fā)送的一條AT 指令,如果同時接收到多條則會被丟棄,只保留一條。
SIM900A 由TTL電路驅(qū)動,可自適應(yīng)兼容3.3V和5V電壓,能夠與STM32系列單片機(jī)直接連接,可進(jìn)行短信收發(fā),無線數(shù)據(jù)傳遞,圖像傳輸,彩信等服務(wù)。本系統(tǒng)只需用到網(wǎng)絡(luò)服務(wù)、收發(fā)短信和無線數(shù)據(jù)傳遞三種功能。此外,為防止GPRS模塊發(fā)射功率過大導(dǎo)致單片機(jī)復(fù)位,該模塊采用5V1A獨立直流電源與單片機(jī)分開供電。IPX微型天線電路包含了兩個二極管,與電阻、電容和雙極性晶體管組成天線電路,來保證信號的強(qiáng)度。
3.3 溫濕度傳感器電路設(shè)計
溫濕度測量模塊采用SHT20作為傳感器對環(huán)境溫濕度進(jìn)行實時檢測,測量到的溫濕度數(shù)據(jù)經(jīng)微控制器傳輸?shù)紾PRS無線傳輸模塊。SHT20的標(biāo)準(zhǔn)工作電壓為3.3V,采用I2C通信原理。其濕度檢測范圍為0~100%RH(±3%RH),溫度測量范圍為-40~125℃ (±0.3℃)。采樣規(guī)則是一定時間內(nèi)采集n次后取平均值。
SHT20的特點是可靠性高,穩(wěn)定性好。而且它具有體積小、功耗低、抗干擾能力強(qiáng)、溫濕度一體化等優(yōu)點,可在野外露天環(huán)境下進(jìn)行測量,也適用于室內(nèi)復(fù)雜環(huán)境下的溫濕度監(jiān)測。所以采用SHT20 溫濕度傳感器可以保證本模塊的通用性。
4 系統(tǒng)軟件設(shè)計
系統(tǒng)軟件設(shè)計首先是初始化模塊,然后GPRS通過附著移動終端建立連接,數(shù)據(jù)采集模塊開始采集周圍環(huán)境數(shù)據(jù),OLED模塊實時顯示采集到的環(huán)境參數(shù),最后GPRS模塊將數(shù)據(jù)打包成IP 數(shù)據(jù)包傳輸?shù)椒?wù)端。如果采集到的數(shù)據(jù)超過預(yù)先設(shè)置的閾值范圍,實時報警程序?qū)⑼ㄟ^GPRS 網(wǎng)絡(luò)發(fā)送報警短信。
4.1 數(shù)據(jù)傳輸模塊程序
數(shù)據(jù)傳輸程序設(shè)計需要完成SIM檢測、GPRS初始化、GPRS通信連接和數(shù)據(jù)無線傳輸四個部分。在GPRS服務(wù)建立時需要一個公網(wǎng)IP地址以便識別主機(jī)的準(zhǔn)確地址,如果采用局域網(wǎng)IP地址,服務(wù)端就難以找到數(shù)據(jù)采集終端的位置,無法完成握手通信。此外,考慮到工程應(yīng)用中環(huán)境因素復(fù)雜多變,無線傳輸極易受到電磁波干擾,因此在數(shù)據(jù)傳輸過程中加入了奇數(shù)校驗以提高系統(tǒng)的可靠性。
4.2 實時檢測報警程序
報警短信的發(fā)送是采用SIM900A自帶的AT指令集完成的。當(dāng)檢測到的溫濕度超過預(yù)先設(shè)置的閥值時,短信會以UCS2編解碼形式將當(dāng)前檢測到的數(shù)據(jù)和警報信息發(fā)送到預(yù)先設(shè)置連接IP地址的主機(jī)。
根據(jù)不同場合的需求不同,需要設(shè)置的溫濕度閾值范圍是不一樣的。因此要在程序里預(yù)先根據(jù)檢測環(huán)境的需求,來設(shè)置溫濕度閾值范圍。如果采集到的數(shù)據(jù)超過這個閾值范圍,GPRS 模塊就會向上位機(jī)發(fā)送溫濕度超標(biāo)的短信。短信內(nèi)容為“溫度超標(biāo),當(dāng)前溫度為xx;濕度未超標(biāo),當(dāng)前濕度為xx”。
5 系統(tǒng)調(diào)試
5.1 測試條件
首先需要對系統(tǒng)硬件進(jìn)行測試,主要看程序是否能夠正常驅(qū)動硬件,硬件電路有沒有短路、能否正常工作,GPRS 模塊能否正常進(jìn)行通信,溫濕度采集數(shù)據(jù)是否出現(xiàn)錯誤等內(nèi)容。軟件部分測試主要包括檢測GSM服務(wù)是否正常,上位機(jī)連接情況,AT指令響應(yīng)速度等內(nèi)容。此外,為避免本地網(wǎng)絡(luò)故障對系統(tǒng)測試產(chǎn)生影響,還應(yīng)在系統(tǒng)測試前檢測本地網(wǎng)絡(luò)的延時和丟包情況。
5.2 測試過程
使用JTAG串口線將本系統(tǒng)與電腦USB接口連接,通過USB驅(qū)動軟件成功識別USB設(shè)備,然后打開下載軟件,將編譯生成的hex文件燒錄到芯片。將USB串口線拔下來,對主控模塊進(jìn)行斷電處理,提前插好SIM卡,對整個系統(tǒng)進(jìn)行上電。這時SIM900A模塊右上方會有一個LED燈在快閃,等待十幾秒后會變?yōu)槁W,這說明GPRS模塊已成功附著GPRS網(wǎng)絡(luò)。這時再插上USB串口線對主控模塊進(jìn)行供電,顯示屏亮。連接網(wǎng)線,打開網(wǎng)絡(luò)調(diào)試助手,將IP 地址修改為PC上網(wǎng)的公網(wǎng)IP 地址,建立服務(wù)端,這樣整個系統(tǒng)就可以正常工作了。
溫濕度傳感器SHT20每隔十幾秒就采集周圍環(huán)境的溫濕度參數(shù),為兩個數(shù)字量。如果采集到的數(shù)據(jù)超過預(yù)先設(shè)置好的閾值范圍,就會向預(yù)先設(shè)置好的用戶號碼發(fā)送報警短信息,短信息內(nèi)容包含“溫度和濕度是否超標(biāo),當(dāng)前溫度和濕度為多少”,及時提醒管理人員。并且采集的溫濕度還可以通過顯示模塊實時顯示在OLED屏幕上。
經(jīng)調(diào)試表明本系統(tǒng)整體工作正常,實現(xiàn)了溫濕度測量與顯示,無線數(shù)據(jù)收發(fā),報警信息提醒等功能。
6總結(jié)
本文利用STM32103ZE單片機(jī)、GPRS無線傳輸模塊,SHT20溫濕度傳感器等硬件,經(jīng)軟件設(shè)計和調(diào)試實現(xiàn)了一種集溫濕度采集與無線傳輸報警的嵌入式系統(tǒng)。該系統(tǒng)結(jié)構(gòu)簡單,成本低廉,整體穩(wěn)定性好,適用于多種無線數(shù)據(jù)測量場景。此外,該系統(tǒng)還可與大數(shù)據(jù)技術(shù)相結(jié)合,實現(xiàn)云端數(shù)據(jù)的有效利用。