基于GPRS模塊LT8030的SOCKET通信系統(tǒng)的實(shí)現(xiàn)
?、?擴(kuò)展碼(XRC)。
AT+IXRC=0
3.2 SOCKET設(shè)置
?、?建立一個(gè)TCP通信。
AT+ISTCP:218.66.16.173,1024
建立SOCKET連接,218.66.16.173為應(yīng)用服務(wù)中心計(jì)算機(jī)端IP地址(實(shí)際地址由實(shí)際情況決定),1024 為端口號(hào)(端口號(hào)由中心SOCKET端口監(jiān)聽程序設(shè)置決定)。 如果連接成功,LT8030返回I/xxx。xxx為LT8030中本次SOCKET連接的句柄號(hào)。中心監(jiān)聽程序會(huì)顯示連接的終端IP地址。如果連接失敗,LT8030返回I/ERROR(xxx)。xxx為錯(cuò)誤代碼。
?、?發(fā)送數(shù)據(jù)。
AT+ISSND%:xxx
發(fā)送數(shù)據(jù),xxx為句柄,為要發(fā)送的字符長度,為要發(fā)送的數(shù)據(jù)。發(fā)送成功后,在中心端可看到終端發(fā)送的數(shù)據(jù)。最多一次能夠發(fā)送5K以下的數(shù)據(jù)。
?、?查詢SOCKET狀態(tài)。
AT+ISST:xxx
查詢SOCKET狀態(tài),xxx為句柄。 LT8030返回I/。如果= 000,表示該端口連接正常;如果≥1,LT8030通過該端口從中心接收存在Buffer 里的字節(jié)數(shù);如果0,則SOCKET錯(cuò)誤。
④ 接收數(shù)據(jù)。
AT+ISRCV:xxx
xxx為句柄。該指令會(huì)讀取LT8030通過該句柄從中心接收到的,存在Buffer 里的數(shù)據(jù);Buffer最大可存儲(chǔ)30K的數(shù)據(jù)。
?、?關(guān)閉SOCKET通道。
AT+ISCLS:xxx
關(guān)閉SOCKET通道,xxx為句柄。
4 程序的設(shè)計(jì)
根據(jù)單片機(jī)與GPRS模塊通信協(xié)議的約定,單片機(jī)串行口設(shè)為方式1,波特率為9 600 bps,8位UART,1位起始位,1位停止位,無奇偶校驗(yàn)。上電后,首先向GPRS模塊發(fā)送基本設(shè)置命令,即ISP碼、用戶名及用戶密碼幀等,其中ISP碼必須為“*99***1#”,用戶名和用戶密碼可以任意設(shè)置,但不能為空。在使用LT8030 GPRS 上網(wǎng)功能之前,必須正確設(shè)置這些參數(shù)。參數(shù)一旦設(shè)置后,即永久保存,以后無需重新再設(shè)( 以上設(shè)定為LT8030C出廠時(shí)的默認(rèn)參數(shù))。然后向GPRS模塊發(fā)送SOCKET設(shè)置幀,如成功,則點(diǎn)和點(diǎn)通信環(huán)境已建立,接著就調(diào)用發(fā)送數(shù)據(jù)幀。
開機(jī)上電后,程序在主函數(shù)中運(yùn)行,單片機(jī)進(jìn)行初始化。初始化包括設(shè)置串口工作方式、波特率,并初始化變量參數(shù)和標(biāo)志位。
結(jié)語
隨著計(jì)算機(jī)和通信技術(shù)的進(jìn)步,當(dāng)今社會(huì)的生產(chǎn)正朝著高效、準(zhǔn)確和穩(wěn)定的方向發(fā)展,這對(duì)數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性、可靠性、信息量提出了更高的要求,為此介紹利用GPRS模塊實(shí)現(xiàn)SOCKET通信的系統(tǒng)。本文采用內(nèi)嵌TCP/IP協(xié)議的GPRS模塊LT8030,在8位微控制器AT89C52上實(shí)現(xiàn)了對(duì)LT8030的控制,并實(shí)現(xiàn)了基于GPRS的SOCKET通信功能,具有外圍器件少、電路簡單、系統(tǒng)成本低等優(yōu)點(diǎn)。
評(píng)論