Windows Mobile 6 SDK 中的 Cellular Emulator

现在的 Windows Mobile 设备大多数都拥有电话和其他无线通信的功能。在许多情况下,你想让你的应用程序跟这些通信功能进行交互。例如,你想在电话响起的时候,将你的应用程序播放音乐的声音调小;或者需要直接对通信硬件进行各种操作。那么开发这种类型的应用程序往往比较困难,最大的难点在于测试应用程序。

为了解决测试这种应用程序的困难,Windows Mobile 6 SDK 包含了 Cellular Emulator(蜂窝仿真器)。Cellular Emulator 让你能够在 Device Emulator 中,测试你的应用程序在各种蜂窝通信的情况下的行为。



Cellular Emulator 是一个强大的测试工具,它可以用于测试你的应用程序在蜂窝通信状况变化时的行为。用 Cellular Emulator 可以执行一些简单的测试,如:在仿真器中拨打电话,接听来电和挂断电话,发送和接收 SMS 信息等。为了让开发人员可以测试更复杂的功能,Cellular Emulator 还支持对 SIM 配置信息的修改,还有选择2G网络还是3G网络。所有这些测试工作都不需要用到一台物理设备。

要让 Cellular Emulator 和 Device Emulator 可以一起配合使用,首先你需要把他们关联起来。
1. 记下 Cellular Emulator 左下角状态栏的 COM 端口号。如 COM5。
2. 在 Device Emulator 中选择“File-->Configure...”菜单项,打开 Emulator Properties 对话框。
3. 在 Emulator Properties 对话框中选择 Peripherals 选项卡。
4. 把刚才记下的 COM 端口号输入到 Serial Port 0 文本框中。如果你在下拉列表中找不到你的端口号,可以自己输入进去。
5. 点击 OK 按钮保存设置,关闭 Emulator Properties 对话框。
6. 点击“File-->Reset-->Soft”菜单项,对仿真器进行软重置操作。



待仿真器完成重置过程并重新启动后,你将会看到仿真器的蜂窝网络已经可用了。如果还是不行,可能是安装了 Windows Mobile 6 SDK 之后,没有重新启动系统的原因吧。

给仿真器拨打电话
打开 Cellular Emulator 的 Call Manager 选项卡,在 Phone Number 文本框中输入任意一个电话号码,点击旁边的 Dial 按钮,仿真器的电话铃声将响起,并显示来自所输入的电话号码的来电。这时在 Active Calls 列表中将出现仿真器上的活动通话,Status 显示为 Incoming。
用7272024这个电话号码向仿真器拨打电话:


仿真器收到电话号码为7272024的来电:


从仿真器拨打电话
Preset Number 列表中提供了4个可供测试的电话号码。Busy 表示线路忙,Reject 表示拒绝接听,Hang Up After Connect 表示接听后再挂断,No Answer 表示没有回应。尝试在仿真器中拨打7272021,Cellular Emulator 的 Active Calls 列表将显示仿真器当前的活动通话。电话接通后持续了10秒钟,然后挂断,也就是Hang Up After Connect




向仿真器发送 SMS 信息
打开 Cellular Emulator 的 SMS 选项卡,在 Send to device 的多行文本框中输入短信内容,然后点击 Send 按钮将短信发送至仿真器。


仿真器将收到新短信:


还可以设置重复发送。选中 Repeatly 检查框,设定好 Interval(间隔时间)和 Max Count(最大数目),然后再点击 Send 按钮即可。如果你在仿真器中回复了信息,将会在 Cellular Emulator 的 Receive from device 列表中看到你回复的短信。


选择网络
打开 Cellular Emulator 的 Network 选项卡,可以选择2G或者3G网络,断开 GPRS 连接,查看数据通道等。


执行和查看 AT 命令
打开 Cellular Emulator 的 Injection 选项卡,这里可以向仿真器发送 AT 命令或事件。


打开 Cellular Emulator 的 AT log 选项卡,可以看到刚才所有对仿真器的操作对应的 AT 命令。


使用配置文件
这里可以选择使用哪一个 SIM 配置文件,文件内容是 XML 格式。


总结
有了 Cellular Emulator 的配合,Device Emulator 显得更加强大。现在 Windows Mobile 6 开发人员可以使用仿真器进行开发和测试,而不需要购买各种真实设备。遗憾的是,Cellular Emulator 并不支持 Windows Mobile 5.0 和 Windows Mobile 2003 的仿真器。不过好在 Windows Mobile 6 的 API 跟 Windows Mobile 5.0 的绝大部分一样,所以你可以在 Windows Mobile 6 的仿真器中开发和调试 Windows Mobile 5.0 的应用程序。对于 Windows Mobile 2003 可能测试效果没有那么一致,你也可以自己尝试一下。

参考:
What's New for Developers in Windows Mobile 6


我将会在近期陆续介绍 Windows Mobile 6 的新特性和新工具。如果您对我的文章有任何建议或想法,请回复文章或者写邮件给我,谢谢大家的支持!

0
0
(请您对文章做出评价)
« 上一篇:Windows Mobile 6 SDK 中的 Device Emulator 2.0
» 下一篇:Windows Mobile 6 SDK 中的 GPS 工具
posted @ 2007-02-14 01:30 黎波 阅读(15453) 评论(40)  编辑 收藏 网摘 所属分类: Mobile Tools

  回复  引用    
#1楼2007-02-14 09:22 | A.Z[未注册用户]
我的ppc不知道有没有wm6的rom...据说是不会有了
  回复  引用  查看    
#2楼2007-02-14 10:34 | Jeffers Yuan      
这个功能确实不错。
因为之前也一直在为WM的测试电话和短信功能而头疼!

  回复  引用  查看    
#3楼[楼主]2007-02-14 11:42 | Bob Li      
@A.Z
我朋友的多普达838可以刷。

@Jeffers Yuan
以前WM5的时候,可以通过Fake Network来模拟测试。我也是最近才了解到,年后再写篇文章专门介绍。

  回复  引用  查看    
#4楼2007-02-14 12:45 | Bention      
等了这么久,终于等到了一个“CELL EMULATOR” 微软这次值得赞扬。。
  回复  引用  查看    
#5楼2007-02-20 20:50 | JesseZhao      
@Bob Li
多普达838 这个机器我很喜欢,不知道现在多少钱了

  回复  引用  查看    
#6楼[楼主]2007-02-20 21:34 | Bob Li      
@JesseZhao
多普达838水货现在不到3k吧。具体价格可以参考这里,我就在他的实体店里买的:http://www.8848i.com.cn/

  回复  引用    
#7楼2007-02-26 15:56 | sailor[未注册用户]
在那里下载 Windows Mobile 6 SDK 呢??????????/
QQ:84115357

  回复  引用  查看    
#8楼[楼主]2007-02-26 15:59 | Bob Li      
@sailor
要3月1日才正式发布,上次是搞错提早发出来了。详细信息可以看这里:http://www.cnblogs.com/upto/archive/2007/02/16/why-wm6sdk-disappeared.html

  回复  引用    
#9楼2007-03-22 22:52 | spirit_only[未注册用户]
@Bob Li
我装了WM6.0(prefessional)的SDK后,第一次运行Cellular Emulator正常,可是再新建了一个帐户后就打不开了。

Runtime Error!
abnormal program termination

这是怎么回事呢?

注:XP+SP2
VS2005(没装SP1)
CF2.0+SP1



  回复  引用    
#10楼2007-03-22 22:53 | spirit_only[未注册用户]
重装后仍然出错!
郁闷,是什么问题呢?

  回复  引用  查看    
#11楼[楼主]2007-03-23 16:06 | Bob Li      
@spirit_only
“可是再新建了一个帐户后就打不开了”
->请问是新建什么账户?

我还没有遇到这种错误呢...

  回复  引用    
#12楼2007-03-25 10:58 | spirit_only[未注册用户]
@Bob Li
就是新建一个windows XP的用户帐户,这个帐户也是管理员权限的。


  回复  引用  查看    
#13楼[楼主]2007-03-25 11:08 | Bob Li      
@spirit_only
你是新建了用户之后,用新的用户登陆出错,还是新建完之后,就出错了?

  回复  引用    
#14楼2007-03-26 23:28 | spirit_only[未注册用户]
@Bob Li
新建用户后,用新的用户登录后,然后双击就会出错,不知道是不是我系统的问题,还是Cellular Emulator的bug。

最郁闷的是,即使我重装了SDK也没用,还是一样的错误。

如果解决不了就只好再Ghost一次系统了,!!!唉……(谁让我喜欢这种好东东呢^^)

  回复  引用    
#15楼2007-03-28 14:55 | 汤逊湖愚民[未注册用户]
我的Cellular Emulator根本不能运行

跳出一个红叉叉

COM17 is used, pleaseverify

屏幕一闪就Over了

我的机器以前装了个蓝牙,虚拟了3~13的蓝牙串口,后来把蓝牙驱动卸掉还是不行,同样的错误

  回复  引用    
#16楼2007-03-28 15:00 | 汤逊湖愚民[未注册用户]
在哪里修改这些配置呢

我的系统是 XP SP2

VS2005 SP1
不知道问题在哪里,现在MS的东西越来越难伺候了,这样不好啊

  回复  引用  查看    
#17楼[楼主]2007-03-28 15:27 | Bob Li      
@汤逊湖愚民
没遇到这个问题:(
好像这个东西问题挺多,不过我都没有遇到...

  回复  引用    
#18楼2007-03-29 09:49 | 汤逊湖愚民[未注册用户]
串口的问题

由于Cellular Emulator使用了虚拟串口,同一些蓝牙驱动的虚拟串口冲突

我以前安装了一个IVT的BT棒,结果Emulator提示串口已经占用,后来删除IVT的东西,重装WM6 SDK就OK了

  回复  引用    
#19楼2007-04-16 23:22 | somebody[未注册用户]
为了合标准的wm6 image兼容,Cellular Emulator添加了几个虚拟串口,可能会和其他提供虚拟串口的驱动冲突。
  回复  引用    
#20楼2007-04-17 14:57 | whoever[未注册用户]
请问一下,您是否试过中文sms的传输?
我在cellular emulator里面试着输入中文,
但显示出来的都是?问号,
我不知道是否因为我电脑是英文版Windows的原因。
不知你是否测试过在中文Windows下可以使用
cellular emulator和device emulator进行中文短信的传输处理试验?

  回复  引用  查看    
#21楼[楼主]2007-04-17 15:01 | Bob Li      
@whoever
现在中文的WM6镜像还没有出来,5月1日应该会出来,到时候就可以测试中文的了。

  回复  引用    
#22楼2007-06-17 02:03 | Goldy[未注册用户]
使用Windows Mobile 6 Localized Emulator Images - 0804 CHS Chinese Simplified, 在cellular emulator 输入中文 sms, device emulator 还是会出现乱码, 根本看不到中文。 我现在的手机是用 Windows Mobile 6 Standard Edition, 目前都看不到中文, 请问要如何在手机里才能看到中文呢? 感激不尽。。。
  回复  引用  查看    
#23楼[楼主]2007-06-17 17:28 | Bob Li      
简体中文的仿真器镜像确实也不能显示中文;你的手机是简体中文的也看不到中文吗?
  回复  引用    
#24楼2007-09-20 11:41 | heywap[未注册用户]
据我所知,即使安装了mobile 6的简体中文image,也无法正常发送中文短信.
我从蜂窝仿真往设备仿真发送中文短信,设备仿真根本无法收到.
但是英文一切正常.

  回复  引用  查看    
#25楼[楼主]2007-09-22 14:26 | 黎波      
@heywap
确实不支持中文,很遗憾的说:(

  回复  引用  查看    
#26楼2008-04-09 16:53 | Michael.Wang      
刚刚 有人问起Windows Mobile 6 SDK 中的 Cellular Emulator 问题 ,一头雾水,google 一下 看到大作,受益不少,跟进中.........
  回复  引用    
#27楼2008-04-29 00:09 | 东方晓[未注册用户]
那么要开发,2005打接电话的程序, 是否可以用到这个功能呢, 2005的的手机多不多?有这个必要没有.??
  回复  引用  查看    
#28楼[楼主]2008-05-06 12:51 | 黎波      
@东方晓
这个工具就是用来模拟打电话、发短信功能的。

  回复  引用    
#29楼2008-05-27 14:44 | FHB_WO[未注册用户]
我按照你的方法设置后,模拟器没有显示电话的网络,不能测试短信,我装的WM6.0的SDK,Cellular Emulator显示COM3,我查看了虚拟串口,注册表中存在,在CMD.EXE中查看没有占用,只有在模拟器中设置后查看才占用,那为什么我的模拟器不能测试,请黎老师,帮忙分析并指导下,万分感谢!!!!!!!!
  回复  引用  查看    
#30楼2008-05-31 11:57 | 傻样精英      
我也是哦。是不是跟vista有关?
我都是com5,下拉列表里面没有,我手工写的,也是没显示电话网络,不能用

  回复  引用  查看    
#31楼[楼主]2008-06-21 11:44 | 黎波      
@FHB_WO
试一试:6. 点击“File-->Reset-->Soft”菜单项,对仿真器进行软重置操作。

  回复  引用    
#32楼2008-06-21 12:27 | abccba[未注册用户]
写得很好。感谢。
  回复  引用    
#33楼2008-07-31 09:34 | 阿佛[未注册用户]
好文章,现在每天都来看,呵呵
  回复  引用    
#34楼2008-08-15 18:47 | alana[未注册用户]
能说一下怎么用 cellular emulator 模拟 蓝牙连接么? 可以用这个模拟wifi 么?
  回复  引用  查看    
#35楼[楼主]2008-08-20 18:55 | 黎波      
@alana
不支持模拟蓝牙和wifi。

  回复  引用    
#36楼2008-10-04 11:43 | SRX[未注册用户]
cellular emulator 显示com3

但设置那里只有com1可选择,那我应该怎么办啊??

没办法连接了!!

用虚拟串口虚了com3出来,又没反应!

  回复  引用    
#37楼2009-05-12 11:51 | goodmar[未注册用户]
搂主,我使用device emulator bsp编译了镜像,我把disimage.nb0通过PB下载到device emulator后,似乎不能使用Cellular Emulator(蜂窝仿真器)啊,但是我用SDK里面的镜像使用Cellular Emulator(蜂窝仿真器)是没有问题的。

是不是镜像要添加些什么组件或者修改那里,这部分应该属于RIL的层面的问题,微软在SDK里是否做了什么修改?


  回复  引用    
#38楼2009-09-10 12:43 | da[未注册用户]
为什么发送中文时是乱码?