郁賽賽 袁靜 劉國(guó)成 謝雨婷 岳衛(wèi)國(guó) 韓昱



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