短信群發平臺通知系統在 GPRS網絡遠程測控系統中的應用場景
來源:原創 時間:2018-05-21 瀏覽:4291 次短信群發平臺是移動通信系統提供的一項重要通信方式,是通過移動網絡提供傳輸有限長度的文本數字或文字信息的服務。短信業務能提供簡短而準確的數字信息通信,可以進行離線編輯、接收存儲、快速發送且不需要目標用戶當前在線。短信通信方式的特點使其不僅在個人信息傳送、安全驗證、商業相關應用等領域使用廣泛,特別是遠程測控應用領域得到大量運用,而且普遍應用在工業領域。該文實現的遠程測報終端RTU就是充分開發了GSM模塊的短信功能,極大地提高了設備的通信可靠性、靈活性和適應性,以GPRS通信為主體,以短信通信為輔助。
屬于第一代無線數據服務,是通過移動網絡提供傳輸有限長度的文本數字或文字信息的服務,短信通信是移動通信系統提供的一項重要通信方式,對終端要求極低,使用簡單便捷,是現在普及率最高的一種短消息業務??梢赃M行離線編輯、接收存儲、快速發送且不需要目標用戶當前在線,相對于語音業務,短信業務能提供簡短而準確的數字信息通信。在工業方面的應用,特別是遠程測控應用領域得到大量運用,短信通信方式的特點使其不僅在個人信息傳送、安全驗證、商業相關應用等領域使用廣泛??梢詫h程數據通信起到加強和補充作用,利用GSM無線模塊附帶的短信功能進行適當開發,在基于GPRS網絡進行數據傳送的遠程測控系統中。水情采集測控應用中廣泛采用GPRS網絡進行數據傳送,對系統功耗、適應性、可靠性要求都比較高,采集終端通常位置偏遠、無人值守、工作連續、能量補給困難。以短信通信為輔助,極大地提高了設備的通信可靠性、靈活性和適應性,以GPRS通信為主體,該文實現的遠程測報終端RTU就是充分開發了GSM模塊的短信功能。
1短信通信概況
再到如今的年發送量6000多億條,又逐漸歸于平穩,到2012年的頂峰近9000億條短信發送,20年間短信應用飛速發展,2000年短信息量突破10億條,從世界上第一條短信于1992年成功發送,1998年開始大范圍拓展,中國的移動通信網絡在1994年具備了短信功能,手機短信服務誕生。會繼續存在,但其固有的特點決定了短信通信的作用和價值,雖然短信通信漸漸被分流和取代。GSM網中,通過移動交換中心MSC將短信發往短信中心SMC,SMC負責傳送短信數據到接收端移動基站,利用專用控制信道SDCCH/SACCH進行收/發,點對點短信一般是通過移動網絡的信令通道傳輸,移動基站負責與始發和接收的終端交互通信。SMS可以通過服務支持結點SGSN將短信發往SMC,加大了SMS的信息容量,在GSM網引入GPRS分組承載通道后,降低了信令信道的負荷,從而分流到GPRS承載通道上。每條信令的長度受到系統設計限制,因此短信長度也有限制,現有網絡中大多使用GSM方式以專用控制信道實現短信業務。為了實現GSM網絡、CDMA網絡和固話網絡等不同通信系統之間的短信互通,原信息產業部《點對點短消息網間互通協議》規定每條短信的最大長度為140個字節或70個字符。則可以一次傳送更多信息,滿足大部分數據通信的應用需求,若再對數據特殊壓縮編碼處理,因此一次短信通信的信息量基本滿足一般的數據通信。當用戶重新登錄進網的時候,短信不會丟失,短信傳遞的方式是存儲轉發,短信會迅速遞交到用戶手機上,而當用戶無法接收時,暫時存放在短信息中心,短信息中心會存儲未接收的短信最長達7天,短信會立即轉發到用戶手機上,當用戶在網時。因此可監查手機是否收到短信息,短信息中心和手機之間有自動的雙向交流。3G4G通信終端也照例都會保留短信通信功能,支持GSM功能的通信終端大都支持短信功能,短信可以由移動通信終端始發和接收,也可由短信平臺始發和接收,多家國際知名通信模塊制造商提供的各代通信模塊都支持短信通信功能,目前在數據量不大的測控應用環境中,采用純短信通信方式工作的終端都還在大量使用,對終端要求極低?;蛲ㄟ^手機、PAD等移動通信終端直接接收短信數據,可直接通過通信模塊接收短信數據傳送給連接的計算機,CDMA1x,接收端不需要公網上地址,相對采用GPRS,3G4G等網絡的通信方式的測控系統。若未來采用按流量計費的“短信數據化”能夠實現,目前短信收費仍采用按通信條數計費,則短信應用必將再上一個臺階。
2GSM模塊短信通信相關AT命令
GSM模塊通常集成射頻單元、處理器及存儲、電源管理等功能模塊,通過標準串行口以AT命令方式與MCU交互以完成通信任務,只需匹配天線并通過接口與MCU連接。支持GPRS/EDGE通信和短信功能,是一款應用廣泛的GSM移動數據模塊,系統選用的MotorolaG24GSM模塊,支持UART通信接口,內置TCP/IP協議棧。通過MCU的該串行口即可完成指令發送與數據接收,使用其中一路UART經驅動連接G24UART接口,實現GPRS與SMS數據通信,MCU選用ATMEL8位單片機ATmega2560,支持4路UART通信接口,即可完成硬件連接。有效期12hAT+CNMI=3,GSM模塊短信功能即可正常開啟,100;//設置收到信息直接給終端發出通知及存儲地址通過以上AT命令初始設置,其中SMS功能所使用關鍵初始AT命令如下:AT+CMGF=1;//設置短信編碼為TEXTAT+CSCS="ASCII";//設置短信終端字符集為ASCIIAT+CSCA="+86XXXXXXXXXXX",14300;//設置文本格式參數,145;//設置短信服務中心地址AT+CSMP=17,GSM模塊在GSM網絡注冊后即可進行短信通信。在接收到新短信時通過串行口給MCU相應信息:+CMTI=XXX;MCU就可以根據給出的存儲地址讀取短信具體信息,則GSM模塊會通過CMGR命令給出短信具體信息:+CMGR=…,MCU通過對具體短信信息進行分析匹配后可進行相應后續操作,讀取命令為:AT+CMGR=XXX,以實現短信命令的下傳。短信發送是通過AT命令CMGS實現:AT+CMGS="+86XXXXXXXXXXX",實現短信回饋或者主動發送系統信息及測控數據,145<CR>X…X<ctrl-Z/ESC>。AT命令:AT+CMGD=XXX,對于垃圾短信或過期短信需要清理,接收到的短信需要管理,以留出存儲空間用于接收新短信,3可用于刪除指定地址短信。通過對相關AT命令的交互執行,即可實現短信的收、發、清除等完全管理,AT命令提供了短信功能的完備操作接口,并結合系統狀態及邏輯判斷。
3短信和GPRS通信的融合設計
以短信通信為輔助,數據通信以GPRS通信為主,基于GPRS通信和短信通信的特點。同時用戶也可隨時使用手機等設備直接發送短信到RTU以短信方式調取測控數據或進行診斷、設置等維護操作,通過UDP協議與遠程測報終端RTU進行GPRS數據通信;數據中心接收主機同時連接一個專用移動通信終端,網卡映射為固定IP地址和端口號,用于與RTU進行短信通信,數據中心接收主機接入互聯網,可插入SIM卡連接GSM公網。在無數據發送或發送完畢后進入休眠模式,通信模塊休眠時可正常接收GPRS數據和短信,遠程測報終端RTU采用在線式工作模式,通信模塊保持加電狀態。通過保存的對應關系表可以直接定點給相應RTU發送指令以進行雙向通信,數據中心上位機可根據接收到的數據對應RTU終端號和IP地址及端口地址,并以預定間隔發送預設數據以保持網絡連接,無論正常工作狀態還是休眠狀態數據中心上位機都可以隨時發送遠程指令進行查詢、設置等操作,RTU定時向數據中心發送測控數據。測量數據通過短信通道定時發送到數據中心短信接收平臺,并匯入數據庫,RTU自動啟用主動短信通信,進入短信通信模式,當GPRS網絡出現暫時連接不上或連接不到數據中心上位機等的通信故障時。當GPRS網絡通信正常時自動切換回GPRS通信模式,在短信通信模式下,RTU定時檢測GPRS網絡。GPRS通信模式和短信通信模式的融合極大地提高了系統的可靠性和數據的實時性。
4短信通信設計實現
?。襎U系統軟件設計為初始化處理程序、中斷處理程序和主循環處理程序三部分。系統采用事件驅動結構。初始化完畢后進入主循環程序,完成大量復雜邏輯處理與計算,完成各種硬件資源、接口等的初始設置及工作參數設置,系統加電首先進行初始化工作,主循環程序則根據預先定義的若干事件標志調用相應模塊進行相應處理。中斷處理程序則只進行數據接收、事件標志的清除與置位等簡單處理與操作。其硬件接口、數據通信形式等同GPRS通信保持一致,對應串行口初始化需要設置好通信波特率、數據格式和相應中斷等,作為通信模塊的子功能的短信通信。其初始化部分也納入主循環進行條件執行,主要有短信息中心地址設定、短信息地區碼設定、短信息格式設定、新短信顯示方式、短信息接收地址、初始安全密碼等設置,而短信通信部分為增強系統靈活性。在程序運行期間可以通過短信命令修改或重置等操作,這些初值是通過MCU自帶EEPROM存儲,在初始化之前讀取出來。對MCU的AT命令的反饋數據或主動狀態數據也會通過串行口發送給MCU,就會通過串行口發送給MCU,當通信模塊接收到短信數據、GPRS數據時,系統設計對通信模塊的數據接收采用中斷方式接收。設計在中斷處理程序中只做最基本處理和簡單邏輯處理,為數據接收和解析提供邏輯判斷依據,把接收的數據存儲在超大數組構成的循環隊列,并根據2個指針位置關系置位狀態位,用于記錄追加數據的起始位置和未解析數據的起始位置,為了盡量減少中斷處理對MCU的時間占用,通過串行口發送給MCU的字節數據發送完畢后就會觸發串行口接收中斷,設置2個指針作為隊列頭尾。分為接收數據解析和短信任務處理兩部分,短信通信主循環處理程序是系統主循環處理程序的部分功能。然后根據命令使用頻度解析GPRS數據、其他AT命令等,接收數據解析負責解析儲存在隊列中的從通信模塊接收到的數據,解析出的數據根據類別進行相應處理,其中由于短信數據具體信息直接緊跟短信命令標志字的特殊性需要優先解析。對解析到的短信數據進行轉儲并置位相關標志位,如解析到新短信通知則需要生成相應AT命令以進行具體內容讀取。有短信任務時條件進入,程序設計采用對起始字和結束字進行關鍵邏輯短信任務處理是短信通信的主要處理部分,完成短信相關處理任務,是實現短信通信的關鍵部分。完成短信相關處理任務后進入條件失效,進入短信任務處理程序,釋放MCU執行時間,接收數據解析到有新短信通知、接收到短信命令、有短信要主動發送、短信存儲定期維護等條件可以觸發短信任務處理。
當GPRS網絡通信正常時自動切換回GPRS通信模式,RTU定時檢測GPRS網絡,在短信通信模式下。GPRS通信模式和短信通信模式的融合極大地提高了系統的可靠性和數據的實時性。4短信通信設計實現RTU系統軟件設計為初始化處理程序、中斷處理程序和主循環處理程序三部分。系統采用事件驅動結構。完成各種硬件資源、接口等的初始設置及工作參數設置,主循環程序則根據預先定義的若干事件標志調用相應模塊進行相應處理,系統加電首先進行初始化工作,初始化完畢后進入主循環程序,完成大量復雜邏輯處理與計算。中斷處理程序則只進行數據接收、事件標志的清除與置位等簡單處理與操作。作為通信模塊的子功能的短信通信,其硬件接口、數據通信形式等同GPRS通信保持一致,對應串行口初始化需要設置好通信波特率、數據格式和相應中斷等。其初始化部分也納入主循環進行條件執行,而短信通信部分為增強系統靈活性,主要有短信息中心地址設定、短信息地區碼設定、短信息格式設定、新短信顯示方式、短信息接收地址、初始安全密碼等設置。在初始化之前讀取出來,在程序運行期間可以通過短信命令修改或重置等操作,這些初值是通過MCU自帶EEPROM存儲。對MCU的AT命令的反饋數據或主動狀態數據也會通過串行口發送給MCU,當通信模塊接收到短信數據、GPRS數據時,系統設計對通信模塊的數據接收采用中斷方式接收,就會通過串行口發送給MCU。設置2個指針作為隊列頭尾,并根據2個指針位置關系置位狀態位,通過串行口發送給MCU的字節數據發送完畢后就會觸發串行口接收中斷,設計在中斷處理程序中只做最基本處理和簡單邏輯處理,為了盡量減少中斷處理對MCU的時間占用,用于記錄追加數據的起始位置和未解析數據的起始位置,把接收的數據存儲在超大數組構成的循環隊列,為數據接收和解析提供邏輯判斷依據。分為接收數據解析和短信任務處理兩部分,短信通信主循環處理程序是系統主循環處理程序的部分功能。接收數據解析負責解析儲存在隊列中的從通信模塊接收到的數據,解析出的數據根據類別進行相應處理,其中由于短信數據具體信息直接緊跟短信命令標志字的特殊性需要優先解析,然后根據命令使用頻度解析GPRS數據、其他AT命令等。對解析到的短信數據進行轉儲并置位相關標志位,如解析到新短信通知則需要生成相應AT命令以進行具體內容讀取。完成短信相關處理任務,有短信任務時條件進入,是實現短信通信的關鍵部分,程序設計采用對起始字和結束字進行關鍵邏輯短信任務處理是短信通信的主要處理部分。進入短信任務處理程序,完成短信相關處理任務后進入條件失效,釋放MCU執行時間,接收數據解析到有新短信通知、接收到短信命令、有短信要主動發送、短信存儲定期維護等條件可以觸發短信任務處理。判斷并對命令字進行滑動窗口匹配,實現對接收數據的完全解析。短信通信具有的特點注定其仍然具有頑強的生命力,在工業相關等領域尤其是遠程測控方面的應用也將繼續發揮著重要作用。