技术天地

WinCE工控主板4G/3G/GPRS通用拨号作者:刘乾坤    发布时间:2017-8-31 16:11:35    被阅览数:

  英创公司从10年前的DOS系统工控板卡开始,就为客户提供了GPRS/CDMA技术应用方案,很多成功的应用案例到目前还在现场正常运行。后来英创工控板卡支持了WinCE嵌入式操作系统,WinCE支持RAS(Remote Access Service)即“远程访问服务”,它允许用户从运程地点将自己的设备连到一个本地计算机网络,一旦建立了连接,就可以像与局域网中的计算机一样进行通讯了。所以WinCE工控主板加上GPRS设备,就可以通过RAS拨号直接接入到Internet。


  WinCE系统中拨号之前需要先建立一个拨号连接,拨号连接需要根据外接的2G/3G/4G设备配置合适的参数,我们目前支持的常用2G/3G/4G模块如下:


2G/3G/4G模块支持运营商
中兴ME3630(4G全网通)支持移动/电信/联通 4G SIM卡
华为ME909s-821(4G全网通)支持移动/电信/联通 4G SIM卡
华为MU709s-2(3G WCDMA)支持联通3G/4G SIM卡
中兴MC2716(3G CDMA2000)支持电信3G/4G SIM卡
移远M35(GPRS)支持移动2G/3G/4G SIM卡


  拨号连接建立之后,在进行拨号时还需要设置拨号相关的参数,比如拨号号码、用户名、密码等。而对于现在常用的4G全网通模块,一个模块可以支持移动/联通/电信三大运营商的SIM卡,使用不同运营商的SIM卡拨号相关参数又有所不同。因此建立一个拨号连接并成功拨号的前提,是需要用户对所使用的无线模块及所连接的移动网络有一定了解,并且正确的配置各项参数。


  为了让用户更容易的使用2G/3G/4G设备,减少上述繁琐的配置过程,我们实现了一个2G/3G/4G通用拨号程序GRasDial.exe,GRasDial程序会自动识别系统中连接的2G/3G/4G模块型号,自动建立拨号连接,自动判断所使用的运营商网络,然后自动拨号上网。用户在每次启动GRasDial程序时,如果不带任何参数程序总是进行拨号,如果先前已经连接则GRasDial自动挂断重拨。GRasDial拨号成功后会一直监视当前连接状态,如果连接断开自动得拨。GRasDial程序还支持通过带入参数实现网络较时、查看连接状态等功能。GRasDial支持如下参数:


  \>GRasDial                        自动拨号上网

  \>GRasDial /disconnect         断开拨号连接

  \>GRasDial /timesync            自动拨号上网,并通过GSM网络同步本地时间(仅程序启动过程中同步一次)

  \>GRasDial /stats                   统计系统中所有连接的状态

  \>GRasDial /?                         查看函数使用说明


  注意GRasDial与后面的参数之间通过空格分隔,下图是执行GRasDial /timesync时,程序输出的信息,从这些信息可以看到当前使用的模块是中兴的ME3630,使用联通SIM卡,注册的网络为联通4G(LTE),因为使用了/timesync参数,所以同步了本地时间,倒数第二行显示的Connected表明已经成功拨号上网,最后一行会每隔1秒钟更新一次网络状态(网络类型及信号强度)。


WinCE工控主板2G3G4G通用拨号.gif


  拨号成功后,可以通过ipconfig命令查看当前modem的IP地址,例如下图的[HUAWEI EM770W MODEM]


WinCE工控主板4G3GGPRS通用拨号.gif


  如果用户不希望GRasDial在屏幕上显示拨号过程,则可以通过/d或-d参数禁止信息输出,此时可通过系统的COM_DBG口了解拨号过程。比如:

  \>GRasDial /timesync /d


如何添加用户专用APN

  GRasDial程序使用一组缺省的配置参数拨号上网,用户可通过以下两种方法设置专用的拨号号码、用户名、密码以及专用APN等参数。


  方法1、使用专属配置文件

  1、用户可将所用WinCE主板“我的设备\windows”目录下的GconnectionEntry.txt复制到电脑上,设置自己专用的拨号号码、用户名、密码和APN。下图中将APN设置为CMNET,增加的配置参数为:+CDGNCONT=1,"IP","CMNET"


WinCE工控主板4G3GGPRS通用拨号.gif


  2、检查系统中是否已经存在Gconnection连接,如果已经存在则需要先删除。


WinCE工控主板4G3GGPRS通用拨号.gif


  3、将修改后的配置文件GconnectionEntry.txt和GRasDial.exe程序放在所使用主板的同一目录中,再次运行GRasDial程序时,程序会自动使用新的参数建立拨号连接并拨号。


  方法2、修改源代码

  我们提供了GRasDial程序的源代码,用户可以参考源码将自动拨号功能融入到自己的应用程序中。GRasDial缺省的拨号参数定义在modelinfo.h文件的MODEM结构体中,用户可以在MODEM结构中增加自己专用的拨号号码、用户名、密码和专用APN。下面例子是使用ZTE ME3630 Modem进行4G拨号(LTE),设置专用APN为CMNET。


  const MODEM_INFO MODEM[] = {

         // 在此添加用户专有拨号号码、用户名、密码、APN

         //modem name  network       types     phone number        user name   password            attach command

         {TEXT("ZTE ME3630 Modem "),  "LTE", TEXT("*99#"), TEXT(""), TEXT(""), TEXT("+CDGNCONT=1,\"IP\",\"CMNET\"")},

 

         // 缺省的拨号配置如下

         //modem name  network       types     phone number  user name   password            attach command

         {TEXT("ZTE ME3630 Modem"),            "LTE",     TEXT("*99#"),             TEXT(""),              TEXT(""),              TEXT("")},

         {TEXT("Huawei EM770W Modem"),    "LTE",     TEXT("*99#"),             TEXT(""),              TEXT(""),              TEXT("")},

         {TEXT("Huawei EM770W Modem"),    "WCDMA",TEXT("*99#"),  TEXT(""),              TEXT(""),              TEXT("")},

         {TEXT("QUECTEL M35 Modem"),         "GSM"TEXT("*99#"),             TEXT(""),              TEXT(""),              TEXT("")},

         {0},

  };

Go Top