GPRS是General Packet Radio Service(通用分组无线服务技术)的简称,它是GSM移动电话用户可用的一种移动数据业务。GPRS和以往连续在频道传输的方式不同,是以封包(Packet)式来传输。我们基于.NET Micro Framework 4.1平台,开发了YFSoft.Hardware.GPRS库,通过该库,用户简单调用相关接口,就可以实现GPRS通信。
我们所选用的硬件为基于SIM300_V7.02模块的开发板,通过串口和.NET MF开发板进行连接(如下图)。
由于.NET Micro Framework开发板提供的串口为母头,所以和GPRS开发板连接需要制作专门的连接线,简单期间,我用单排针做了三线的交叉连接线(不过最好还是采用专门的接头,下面的连接线插接不是很紧密,容易出现通信故障),如下图。
硬件平台搭建好后,我们编写GPRS TCP通信程序(UDP和TCP类似,这里就不再举例了)。
核心代码如下:
public static void Main()
{
gprs = new GPRS("COM2", 115200, GPRS.GprsType.SIM300_V7_02);
gprs.DataReceived += new GPRSDataReceivedEventHandler(gprs_DataReceived);
if ((ret=gprs.Open()) != 0)
{
Debug.Print("Open Failed:" + ret.ToString());
gprs.Close();
return;
}
if ((ret = gprs.SetAPN("CMNET")) != 0)
{
Debug.Print("Config Failed:" + ret.ToString());
gprs.Close();
return;
}
Debug.Print("Signal:" + gprs.Signal.ToString());
if (!gprs.Connect(GPRS.GprsMode.TCP, "221.217.???.???", 8080, 200))
{
Debug.Print("Connect Failed!");
gprs.Close();
return;
}
Debug.Print("IP:" + gprs