基于SIM300C的遠程數據采集傳輸終端設計
系統以30 s為1個(gè)采集周期,初始化完畢后,單片機通知GPRS模塊連接服務(wù)器準備發(fā)送數據,連接服務(wù)器成功后,啟動(dòng)2片A/D轉換芯片MAX186對8路傳感器信號進(jìn)行A/D轉換, A/D轉換結束后,向GPRS模塊發(fā)送幀頭FF AA,緊接著(zhù)發(fā)送16組數據,最后發(fā)送幀尾0D 0A,等待下一個(gè)采集周期。系統工作流程如圖4所示。本文引用地址:http://dyxdggzs.com/article/151912.htm
3.1 A/D轉換
MAX186為串行工作方式,在進(jìn)行A/D轉換之前要對MAX186進(jìn)行配置。首先將CS管腳置低電平選通芯片,在SCLK管腳輸入外部時(shí)鐘,在時(shí)鐘SCLK的每1個(gè)上升沿把1個(gè)最高位為“1”的控制字節的各位送入輸入移位寄存器,控制器收到控制字節后,選擇控制字中給定的模擬通道,并在SCLK下降沿啟動(dòng)A/D轉換??刂谱止澋母袷饺绫?所示。在控制字節的最后1位之后,SSTRB管腳有1個(gè)時(shí)鐘周期的高電平,在其后的12個(gè)時(shí)鐘周期SCLK的每1個(gè)下降沿,轉換后數據的各位出現在DOUT端,單片機從DOUT管腳讀入12位數字量。
3.2 GPRS通信
在GPRS通信中,有2種傳輸協(xié)議(TCP/UDP)可供選擇。在本系統中,由于數據量相對較少,傳輸時(shí)間間隔較長(cháng),使用了更為可靠的TCP作為接入方式。
單片機通過(guò)串口使用AT指令[9]控制GPRS模塊。系統啟動(dòng)后,為防止因上次使用時(shí)未關(guān)閉連接,造成連接服務(wù)器失敗,所以單片機先向SIM300C發(fā)送關(guān)閉連接的指令:AT+CIPCLOSE,斷開(kāi)連接成功返回“CLOSE OK”。隨后,單片機向SIM300C發(fā)送連接服務(wù)器命令:AT+CIPSTART=“TCP”、“202.205.84.222”、2020,用來(lái)將模塊接入GPRS網(wǎng)絡(luò ),使用“TCP”方式接入,服務(wù)器IP地址為202.205.84.222,偵聽(tīng)端口號為2020。連接指令送入GPRS模塊后,單片機通過(guò)串口接收GPRS 模塊返回的信息。返回“OK”說(shuō)明指令正確,返回“ERROR”說(shuō)明指令輸入不正確,需要重新連接。等待一段時(shí)間后,GPRS 模塊會(huì )返回1個(gè)字符串說(shuō)明目前的連接狀態(tài):若返回“CONNECT OK”說(shuō)明已經(jīng)連上服務(wù)器;若連接失敗,返回STATE狀態(tài):“CONNECT FAIL”,需要重新進(jìn)行連接或者檢查服務(wù)器的網(wǎng)絡(luò )連接狀態(tài)。
服務(wù)器連接成功后,單片機向SIM300C輸入發(fā)送數據指令“AT+CIPSEND=20”,然后送入要發(fā)送的數據,包括幀頭、16組數據及幀尾。
4 系統驗證
對該系統的驗證需要1臺具有公網(wǎng)IP地址的計算機作為Internet上的服務(wù)器,1張開(kāi)通GPRS功能的SIM卡且接入方式為CMNET,服務(wù)器數據收發(fā)DEMO軟件。
實(shí)驗中,將GPRS模塊的串口與單片機串口相連,A/D轉換芯片輸入端以差分方式接入2路溫度傳感器PT100和1路濕度傳感器。終端以30 s為1個(gè)周期,每1周期采集2片MAX186的8路差分輸入模擬信號,采集結束,通過(guò)GPRS網(wǎng)絡(luò )將數據發(fā)送到服務(wù)器。服務(wù)器端用Microsoft Winsock Control 6.0(SP6)控件開(kāi)發(fā)了服務(wù)器端接收軟件,完成對網(wǎng)絡(luò )數據接收、數據存儲及數據顯示。服務(wù)器軟件每次接收到終端的數據時(shí),都將數據保存在一個(gè)文本文檔內,并且記錄接收數據的系統時(shí)間。圖5為根據服務(wù)器文檔記錄的數據繪制的實(shí)驗室24小時(shí)溫度變化曲線(xiàn)。
測試結果表明:終端采集到的溫度變化曲線(xiàn)符合實(shí)際溫度變化,說(shuō)明A/D轉換部分能夠準確地采集傳感器輸出的模擬信號;測試過(guò)程中,未發(fā)現GPRS模塊與服務(wù)器端連接斷開(kāi),觀(guān)察服務(wù)器文本記錄的數據,未發(fā)現數據丟失,數據均以30 s為1個(gè)周期被服務(wù)器接收,少數數據延遲幾秒接收,說(shuō)明以TCP協(xié)議進(jìn)行數據傳輸是可靠的,即使無(wú)線(xiàn)網(wǎng)絡(luò )發(fā)生擁塞時(shí),也不會(huì )造成數據的丟失,而只是發(fā)生數據延遲。
本文設計的基于SIM300C模塊的遠程數據采集傳輸終端,具有成本低、體積小、布設方便、運行穩定等特點(diǎn),克服了現場(chǎng)環(huán)境改造困難、布線(xiàn)成本高等問(wèn)題,能夠適應水產(chǎn)養殖環(huán)境中監測點(diǎn)分散和潮濕的環(huán)境,為現場(chǎng)環(huán)境數據的采集和數據的遠程傳輸提出了一種解決方案。基于SIM300C的遠程數據采集傳輸終端與遠程服務(wù)器間可以通過(guò)GPRS無(wú)線(xiàn)網(wǎng)絡(luò )進(jìn)行可靠的數據傳輸,能夠按設定的采集周期正確采集和傳輸現場(chǎng)環(huán)境數據,滿(mǎn)足實(shí)際應用中對實(shí)時(shí)性的要求。在今后的研究中,需要為該系統增加LCD顯示和鍵盤(pán)模塊,以實(shí)現數據的實(shí)時(shí)顯示,現場(chǎng)工作人員可以通過(guò)鍵盤(pán)對系統進(jìn)行簡(jiǎn)單的控制;完善服務(wù)器端上位機軟件,提供更為友好的數據顯示界面。
評論