郁賽賽 袁靜 劉國成 謝雨婷 岳衛國 韓昱



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