手机传输模块概要设计
1 引言
1.1 目的
根据需求对模块进行分析,使用分析的结果设计模块的解决方案。
通过对本次软件开发的系统设计、约定及相关内容做出具体描述,说明对程序系统的整体解决方案,包括设计系统构件和构件关系、制定系统部署计划、确定系统选择网络架构、定义数据、考虑安全、并发策略,为程序的详细设计奠定基础。
1.2 定义
Android:基于Linux平台的开源手机操作系统的名称
WM:是 Microsoft 用于 Pocket PC 和 Smartphone 的软件平台。
Iphone:是一部4频段的GSM制式手机,支持EDGE和802.11b/g无线上网(iPhone3G支持WCDMA上网),支持电邮、移动通话、短信、网络浏览以及其他的无线通信服务。由苹果公司推出。
GPRS:通用分组无线服务技术(General Packet Radio Service)的简称,它是GSM移动电话用户可用的一种移动数据业务。GPRS可说是GSM的延续。GPRS和以往连续在频道传输的方式不同,是以封包(Packet)式来传输,因此使用者所负担的费用是以其传输资料单位计算,并非使用其整个频道,理论上较为便宜。GPRS的传输速率可提升至56甚至114Kbps
Wifi:一种可以将个人电脑、手持设备(如PDA、手机)等终端以无线方式互相连接的技术。Wi-Fi是一个无线网路通信技术的品牌,由Wi-Fi联盟(Wi-Fi Alliance)所持有。目的是改善基于IEEE 802.11标准的无线网路产品之间的互通性。现时一般人会把Wi-Fi及IEEE 802.11混为一谈。甚至把Wi-Fi等同于无线网际网路。
AP:
STA:
WMMP:
2 系统设计
2.1 基本设计概念
本模块为Android,WindowMobile(后面简称WM),iPhone三个平台实现一个HAL模块控制WIFI和移动网络(e.g. GPRS for GSM)的链接。
模块以中间件的形式供上层应用对不同手机平台底层网络设备的操作,通过对平台网络管理部分的接口进行封装,抽象成语义统一的接口,减少上层代码修改。
由于不同的平台的上层应用也不一样,提供的中间件形式也不一样。
Android平台基于linux,上层应用是用java开发的,将底层设备调用封装成java包,供上层调用;
WM平台基于windows,上层应用使用.net/c++开发,将底层设备调用封装成dll动态库,供上层调用;
iPhone平台比较特殊,操作系统是Mac OS X,内核是unix,上层应用使用object c开发,将底层设备封装成dylib动态库,供上层调用。
模块架构图
2.2 接口设计
l 硬件控制接口
接口1:自动搜索设备
接口2:打开设备
接口3:关闭设备
接口4:获取设备接口参数
接口5:设置设备接口参数
l 网络连接功能
接口6:自动连接
接口7:获取网络配置信息
接口8:设置网络配置信息
接口9:连接点枚举
接口10:选择连接点进行连接
l 平台连功能
接口11:连接平台接口
接口12:断开连接
接口13:发送数据
接口14:接收数据
l 错误捕获功能
接口15:获取错误信息
接口名称 | 功能 | 详细接口 | ||
Android | WM | iPhone | ||
DevSeach | 自动搜索设备 | DevSeach() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 模块出错处理设计
模块提供统一的错误信息,上层应用调用模块出现错误时,可以通过模块提供错误捕获函数,获取详细的错误信息。
错误码对应的错误信息在模块输出文件中详细定义。