基于Linux和GPRS的數據通訊系統(tǒng)在輸電線路運檢導航系統(tǒng)中的應用
上述的函數中都有涉及到讀握手信號的狀態(tài)進行判斷操作,而讀握手信號值主要是通過讀modem狀態(tài)寄存器的值來實現,在內核中modem狀態(tài)寄存器被定義為UART_MSR,UART_MSR共8 b,從高到低每個bit依次代表的是DCD,RI,DSR,CTS,DDCD,TERI,DDSR,DCTS的值(高低電平),因此要將這些函數中對UART MSR的狀態(tài)值status進行判斷處理前,相應的位賦上正確的值,這個值從相應的GPIO腳來獲取。
3 系統(tǒng)通信程序實現
在Linux下要完成與掛接在Internet上的通信服務器通信,首先需要經過GPRS模塊初始化和GPRS網絡連接,然后才能使用TCP/IP協(xié)議進行數據傳輸。
GPRS模塊初始化程序功能:實現MC35i模塊初始化并完成MC35i與S3C2410的邏輯連接。在該程序內部使STB選通信號變?yōu)楦唠娖?,并持續(xù)規(guī)定時間,然后恢復成低電平,完成對MC35i的初始化工作,緊接著通過有關控制信號實現S3(22410與MC35i的邏輯連接。初始化程序可直接在Linux命令行下執(zhí)行命令In-smodigto即可完成。
GPRS網絡連接程序功能:使Mc35i以某種通信協(xié)議連接到GPRS網絡上。網絡連接使用第三方提供的內置PPP通信協(xié)議的軟件,其命令如下:
/connect
當連接成功后,由于GPRS網絡通過中國移動網關連接到了Internet網,因此就可以利用TCP/IP協(xié)議與Internet上的任何IP地址進行通信了。
由于Linux操作系統(tǒng)已內置TCP/IP協(xié)議棧,因此可以直接使用套接字編程實現TCP/IP的數據傳輸。套接字的基本模式是C/S(客戶/服務器),內置GPRS模塊的設備工作在客戶模式,而遠程Internet網上的通信服務器工作在服務器模式。客戶端程序基本流程是:創(chuàng)建套接字,綁定套接字到已知端口上,然后請求連接,最后調用數據收發(fā)函數進行數據的發(fā)送。在客戶端通信程序執(zhí)行前,服務器端的程序必須完成初始化并開始偵聽。
客戶端程序如下:
評論