英创信息技术WinCE主板接入3G网络教程

windows ce操作系统的远程访问服务ras(remote access server)功能,允许用户从远程地点将自己的计算机设备连接到一个计算机网络,一旦建立了连接,就可以像与局域网中一样与其他计算机进行通讯。英创公司arm系列工控主板,预装了正版wince5.0操作系统,支持采用ras拨号方式,通过gprs或3g信道,把设备直接接入到internet。关于gprs拨号建立的文章,请参考《基于wince平台evc编程要点之二——wince下的gprs 应用》,本文介绍如何自动建立一个3g拨号连接并实现自动拨号。
1、自动创建3g拨号连接
创建3g拨号连接与创建gprs拨号连接一样,需要添加一个rasentry到ras 的电话薄中,并将其保存在注册表中。rasentry中需要设置作为调制解调器的设备属性(端口设置、拨号选项)以及指定电话号码和用户验证参数。在em9000 嵌入式主板上,直接支持wince 桌面系统,用户可以通过界面中“控制面板”手动添加3g拨号连接。具体的设置方法请参见技术文档《em9000 3g通讯网络设置》一文,这里不再赘述。而em9160、em9260 嵌入式主板没有支持wince 的界面,为了方便用户的使用,英创专门设计了自动创建3g拨号连接的程序3gentry.exe,用户将相应的配置文件3gentry.txt放在与3gentry.exe同一目录中,可以通过telnet登录到arm工控主板,运行一次3gentry.exe,即可自动创建3g 的拨号连接。需要注意的是3gentry.exe只需运行一次即可。
英创公司针对不同3g模块和不同的3g运营商提供了相对应的配置文件3gentry.txt,在3gentry.txt中保存了rasentry所需要的配置信息,用户一般不需要修改配置文件,以免建立拨号连接失败。
2、自动运行3g拨号连接
在建立拨号连接后,需要调用rasdial(…)函数来建立ppp连接,一但建立了ppp连接,就可以像在局域网上一样,调用标准winsockets api进行网络应用层的处理与远端主机通信了。
rasdial是操作系统提供的一个自动拨号函数,用于在ras客户端与ras服务器之间建立连接。rasdial函数可通过带入参数来设置为同步调用或异步调用,当rasdial函数作为同步调用时,函数将阻塞,直到连接建立或产生错误时,函数才返回,同步调用的优点是编程简单,缺点是不能获得连接过程的状态信息。
当rasdial执行异步调用时,进行连接的同时,函数调用会立即返回,然后通过窗口消息来监视拨号连接的状态。在进行ras连接时,异步调用rasdial是优选方法,因为可以对连接过程进行监视。下面是异步调用rasdial,通过windows消息来监视拨号连接的程序片段。
int nflag = 0; // 定义全局变量,用于判断连接是否建立
// 异步调用rasdial,函数马上返回,需通过监视windows消息判断连接状态
rasdial (null, null, &rasdialparams, 0xffffffff, v_hwnd, &hrasconn);
if(nflag == 1 )
{
// 连接建立,可进行网络应用层处理
}
// windows消息处理函数
lresult callback wndproc (hwnd hwnd, uint msg, wparam wparam, lparam lparam)
{
rasconnstate rasstate = (rasconnstate)wparam;
switch (msg)
{
case wm_rasdialevent : // 收到拨号连接消息
outputmessage (text(‘rasdial: ’));
switch (rasstate)
{
case rascs_openport: // 正在打开端口
outputmessage (text(‘on open port’));
break;
case rascs_portopened: // 端口已打开
outputmessage (text(‘port is opened’));
break;
case rascs_connectdevice: // 正在连接设备
outputmessage (text(‘on connect device’));
break;
case rascs_connected : // 连接已建立
outputmessage (text(‘connected’));
nflag = 1; // 置标志位
break;
case rascs_disconnected : // 连接断开
outputmessage (text(‘disconnected’));
nflag = 0; // 置标志位
break;
default :
break;
}
break;
default:
return defwindowproc(hwnd, msg, wparam, lparam);
}
return false;
}
本文介绍的自动创建拨号连接和自动拨号的方法与英创主板是否拥有图形显示界面无关,可以应用于英创所有arm9工控主板上。

厦门首富林秀成斥巨资种菜 亲自揭秘其神秘“植物工厂”
华为在深圳举办了一场“2018华为核心供应商大会
串口联网服务器的性能与软硬件系统的设计介绍
Linux系统vi(vim)编辑器命令使用教程
超声波发射电路原理
英创信息技术WinCE主板接入3G网络教程
三相无刷电机驱动MS8828参数与应用
地平线最新发布嵌入式人工智能摄像机
智能锁语音芯片NV340D,内置LVR自复位电路,静态电流小于2uA
α-WaLTR机器人:能在滚动模式和行走模式切换自如
电装机器人发展史解读
下一代显示技术MicroLED什么时候会出现
润开鸿携OpenHarmony走进电子科技大学
电脑打开网页很慢怎么办的解决办法
曙光存储为数字中国建设发展打造坚实的数字底座
网线可以并两个水晶头吗
解读:无线充电要普及,难点在哪里?
铅酸蓄电池内部短路的原因及处理方法
pn8015 5V0.2A非隔离开关电源风扇方案
耐高温150℃卧式轴向铝电解电容器简介