在基于CE的产品上使用手机模块

要在你的基于Windows CE的产品上具备无线通讯(拨号上网、拨打电话、收发短信)功能,你的选择是要么让用户外接手机,要么在你的产品上集成手机模块。如果是外接手机,那么手机只是起到在上网浏览期间接收和发送数据的作用。如果必须集成手机模块,那么手机模块要完成无线通讯的全部功能,从软件开发角度讲,相对要麻烦一点。本篇文章简略地讲解在开发控制手机模块的软件过程中需要注意的事项。

一、拨号上网

在连接Internet浏览网页过程中,手机模块负责连接ISP、从ISP接收数据和发送数据。如果ISP为中国移动,那么有两种拨号号码,一种号码为17201,属于普通的拨号上网业务,可以以9.6Kbps的数据传输速率接入到CMNET;另一种号码为*99# ,利用GRPS来加速接收和发送数据,GPRS接入方式提供30KB/秒到40KB/秒的接入速度,使用数据加速系统后可以达到60KB/秒到80KB/秒。Windows CE提供对拨号连接的支持,具体需要调用哪些API我在前面的文章中讲过了(参见《Windows CE下拨号上网》)。利用RAS函数,我们只需要确定连接手机模块的串口,输入用户名、密码、电话号码就可以连接到ISP了,接着只要调用IE浏览器就可以轻松浏览网页了,整个功能的实现我们只做了很少的工作。不过利用RAS函数有利有弊,利在开发相对容易一些,弊在它掩盖了底层的实现,从《Windows CE下拨号上网》的图中可以看出,RAS是实现拨号连接的最上层,TAPI和Unimodem是主要的实现层。换句话说你想在RAS层设置例如串口波特率是不可能的。而CE默认的拨号连接记录中串口波特率为19200,相对于17201的数据传输速度来说都慢,更何况是GPRS。要设置串口的波特率为最大值115200,可行的办法有两个,一个是放弃RAS,调用TAPI函数实现拨号上网,TAPI函数中有几个函数例如带界面的lineConfigDialogEdit和无界面的lineDevSpecific 都可以设置波特率;另一个方法要简单的多,在CE下先用CE自带的"拨号连接"程序建立一个拨号记录,在建立过程中可以设置波特率,这个拨号记录的数据被保存到注册表中。如果自己开发拨号程序,那么只要在拨号前到注册表中找到拨号记录就可以了。通过这种方法就可以设置波特率了。如果你的CE平台不支持永久保存注册表,那么可以把拨号记录的数据直接保存到PB中,这样定制的内核本身就包含一个拨号记录,可以任意读取。

二、拨打电话、收发短信

实现拨打电话和收发短信,利用的是AT命令集和串口通讯。因为CE的串口不支持重叠,所以在拨号和网页浏览期间是不能再次打开同一个串口的。关于串口通讯我以前写过一篇文章,不过其中接收串口数据的线程不适合接收手机模块返回的数据,必须针对手机模块的特点构架一个合理的模型。下面我谈谈我在开发过程中遇到的两个问题,如果您有不同见解请发邮件给我,我希望能得到您的宝贵意见。

1、不像手机,有些手机模块不具备存储功能,所以每次在启动的时候都要初始化一些必要的设置。如设置短信文本模式、字符格式、麦克和听筒的音量等。实际的初始化会更多。这种情况下如果发送一个命令后紧接着发送另一个命令,那么手机模块是吃不消的。必须先发送一个命令,然后等待手机模块对这个命令的返回结果,如果成功了再发送下一个命令,这才能够保证初始化都能成功完成,而且可以实时显示当前工作状态。

2、手机模块返回的信息不确定。任何发送到手机模块的命令都会被返回,返回的字符串中可能包含对命令的响应,也可能不包含。这样就必须对整个返回信息做检索工作,而且还要区分返回的信息是否是对命令的响应。如"\r\nRING\r\n"就不是对命令的响应。

实际遇到的问题不止这两个,所以在构架接收数据部分和处理数据部分的时候要把问题考虑全了。

时间: 2024-10-28 16:34:25

在基于CE的产品上使用手机模块的相关文章

基于微信的产品设计01:注册登录及账号体系设计

移动端联合登录的便捷性,以及越来越多用户倾向于选择微信作为全网登录账号,因此微信联合登录被许多APP产品作为第三方联合登录的首选.然而,采用微信联合登录后会造成一定问题,比如: 无法获取更详细的用户信息 APP.微信服务号下账号不一致 手机绑定带来的重复绑定 如何才能设计出一个体系更优兼容性更强的账号体系呢?就让瑞叔一一道来吧. 一.了解openID与unionID openID:同一个用户,在不同公众号或移动应用下对应有不同openID标识: unionID:同一用户,在不同公众号或移动应用下

《玩转掌上生活——手机网上生活达人秘笈》一1.1 认识你的设备

1.1 认识你的设备 玩转掌上生活--手机网上生活达人秘笈我们的生活越来越因为科技的力量而改变,目前我们手中的设备--手机,基本上成为了每个人的信息处理平台与生活辅助工具.那么你真正了解它们吗?下面我们就按照手机系统的分类分别介绍主流的3种设备:iOS设备.Android设备以及Windows设备. 1.1.1 iOS iPhone是苹果公司研发的智能手机系列,它搭载苹果公司研发的iOS手机操作系统.第一代iPhone于2007年1月9日由苹果公司前首席执行官的史蒂夫·乔布斯发布,并在同年6月2

DockOne微信分享( 九十):猎豹移动基于CoreOS在AWS上的项目实践

本文讲的是DockOne微信分享( 九十):猎豹移动基于CoreOS在AWS上的项目实践[编者的话]本次分享介绍基于AWS的EC2服务如何设计和搭建适合自己业务的架构方案实现全球多region部署,介绍模型案例:CoreOS的使用技巧与运维经验,把一个集群当成一台机器管理心得,包括: 为什么选择AWS和Docker 为什么选择CoreOS部署我们的应用 CoreOS在AWS平台上如何快速构建集群并且进行管理 应用过程中遇到的问题与解决方案 1.为什么选择AWS和Docker 首先我先介绍一下猎豹

Force 10不会是戴尔在企业级产品上收购的最后一家公司

收购Force 10对于戴尔的意义却非比寻常. 作为高性能以太网的代表厂商,Force 10一直以来业务量和企业规模都不是很大,但是基于其独特的高性能以太网.分布式核心网络的定位,Force 10在全球数十个国家都有用户,而且其产品.渠道与合作伙伴的专业程度,都在网络行业内独树一帜. 唯一的问题是,Force 10过去十年的企业规模一直没有做大,一方面是因为以太网市场竞争激烈,思科.华为以及被收购的Foundry等公司都实力不俗:另一方面,随着数据中心融合程度的加深,以太网市场的几大供应商不是业

在网络上散播手机安全恐慌话题

日前疑似网秦前员工自爆每天的工作就是制造10个新病毒,然后在网络上散播手机安全恐慌话题,从而吸引用户花钱升级产品. 据了解,有网帖称网秦原程序员自称每日工作是设计10个新病毒,然后周而复始到各大媒体论坛上宣传,其目的是吸引用户花2元话费升级网秦产品. 网秦公司对此发声明予以全盘否认.网秦称,作为移动安全服务企业,网秦从未制造或参与病毒的制造,将保留追究造谣者法律责任的权利.

谈谈腾讯微博在产品上的微创新

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 身边不少业内朋友都更关注新浪微博,但我一直反其道而行,一直对腾讯微博很关注.以前也写过好几篇关于腾讯微博的博文.前段时间都不怎么玩微博,最近又玩得多点,才发现腾讯微博在产品细节上做了不少变化,推出了一些实用的新功能,用户体验又有了很大的提高.在一些产品细节上,我觉得比新浪的微博产品做得更好,更人性化. 记得以前在奇虎工作的时候,常听老周说这么

出租车师傅眼里的滴滴打车产品上如何做更好?

出租车师傅眼里的滴滴打车产品上如何做更好?[核心提示] 滴滴打车已经是使用量最大的打车类软件了,但从产品层面来说,可以改进的地方还有很多,从一位出租车师傅的角度 来看,滴滴打车还能怎样在产品上做更好?滴滴打车是一款免费打车软件,2012年9月9日正式在北京上线,根据此前公布的数据,迄今已支付打车补贴14亿元,用户数已增至1亿.不过从上周开始滴滴打车停掉了补贴,本文不谈停掉补贴是否会减少用户使用的积极性,只就产品本身来说,还可以改善的地方.有天打车的时候,跟师傅聊起滴滴打车停掉补贴(师傅姓贺),出

Chat Heads或成为真正意义上的手机短信终结者

用户在浏览网页的同时也可以看见chat heads图标(腾讯科技配图) 硅谷网讯(玉临)北京时间4月10日消息,据国外媒体报道,在上周四发布的FacebookHome手机界面中,有一个功能最吸引人们的眼球,那就是Chat Heads,它有可能成为Facebook在未来非常重要的短消息工具. 虽然这一功能的名称让人感到陌生,但基本上让用户有了一个大概的印象--用户与好友发送Facebook消息的时候,对方的头像会一直出现在屏幕上. 你可以在屏幕上任意移动头像,但除非你点击查看了信息,否则在使用其他

天天用车翟光龙谈对共享经济的思考和半年以来在产品上的探索

摘要: 在共享经济里,商业仿佛已经退居其次,人与人的沟通.连接奠定了整个交易流程.Airbnb打造的共享经济让人们愿意去邀请陌生人进入自己的生活,也让每个人都可以同时成为消费者和 在"共享经济"里,商业仿佛已经退居其次,人与人的沟通.连接奠定了整个交易流程.Airbnb打造的共享经济让人们愿意去邀请陌生人进入自己的生活,也让每个人都可以同时成为消费者和生产者,而后者提供了产生收入的潜力.从共享居住空间到共享运载余力,拼车正在成为契合共享经济理念的下一个热点. 天天用车(iOS / An