英创公司从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秒钟更新一次网络状态(网络类型及信号强度)。
拨号成功后,可以通过ipconfig命令查看当前modem的IP地址,例如下图的[HUAWEI EM770W MODEM]
如果用户不希望GRasDial在屏幕上显示拨号过程,则可以通过/d或-d参数禁止信息输出,此时可通过系统的COM_DBG口了解拨号过程。比如:
\>GRasDial /timesync /d
如何添加用户专用APN
GRasDial程序使用一组缺省的配置参数拨号上网,用户可通过以下两种方法设置专用的拨号号码、用户名、密码以及专用APN等参数。
方法1、使用专属配置文件
1、用户可将所用WinCE主板“我的设备\windows”目录下的GconnectionEntry.txt复制到电脑上,设置自己专用的拨号号码、用户名、密码和APN。下图中将APN设置为CMNET,增加的配置参数为:+CDGCONT=1,"IP","CMNET"
2、检查系统中是否已经存在Gconnection连接,如果已经存在则需要先删除。
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("+CDGCONT=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},
};
成都英创信息技术有限公司 028-8618 0660