一体化终端设备技术规范.docx
《一体化终端设备技术规范.docx》由会员分享,可在线阅读,更多相关《一体化终端设备技术规范.docx(36页珍藏版)》请在冰点文库上搜索。
一体化终端设备技术规范
智能终端接口规范
版本号1.0
福建三元达软件有限公司
二○一四年六月
文档变更说明
版本编号
变更类型
简要说明(变更内容和变更范围)
日期
变更人
V1.0
新建
创建并拟制初稿
2014/6/24
朱有文
变更类型:
新建,修改,增加,删除
1.前言
近几年,随着Android、iOS等智能终端操作系统的推广,智能终端功能越来越丰富,越来越被大众所接受,移动互联网正欣欣向荣。
智能终端具有体积小、携带方便、移动办公等优势。
移动顺应时代潮流,利用移动互联网新技术,采取更为积极主动的营销和服务模式,也建立了包括智能终端版CRM等移动应用,完善了自身的运营支撑能力,以适应市场的需要,提升了自身竞争力,保持自身的行业优势。
移动智能终端应用在业务办理过程中,使用到了多种多样的外接设备辅助办公,如蓝牙打印机、蓝牙二代证读卡器、蓝牙SIM信息读卡器等,为企业办公、客户带来的极大的方便。
与此同时也带来了问题,同种设备不同厂商在实现方式上各有差别,要兼容不同的外设厂商就必须付出等量的劳动力。
因此建立一套智能终端外设接口规范刻不容缓。
智能终端外设接口规范明确了外设接入移动智能终端应用的技术规范、业务功能,以指导各外设厂家如何根据规范接入移动智能终端应用。
2.目的范围
智能终端外设接口规范适用于指导各外设厂家将其外设按照规范合理、高效、快速地接入移动智能终端应用,是各外设厂家接入移动智能终端应用的主要依据。
本规范规定了外设的技术规范、业务功能,操作流程。
3.原则
本规范尽可能依据现有外设的行业技术规范,并能尽量最大化兼容各外设厂商。
4.术语及缩略语
下列术语和缩略语适用于本规范:
Android
是一种以Linux为基础的开放源码操作系统,主要使用于便携设备。
iOS
iOS是由苹果公司开发的手持设备操作系统。
iOS与苹果的MacOSX操作系统一样,它也是以Darwin为基础的,因此同样属于类Unix的商业操作系统。
客户
是指一个正在使用及可能使用移动(包括第三方合作伙伴)提供的产品和服务的个人、企业或者其他团体。
蓝牙
是一种支持设备短距离通信(一般10m内)的无线电技术。
能在包括移动电话、PDA、无线耳机、笔记本电脑、相关外设等众多设备之间进行无线信息交换。
用户
用户是移动客户订购产品的实例。
包括资源占用、用户价值、订购信息。
智能终端
是指像个人电脑一样,具有独立的操作系统,可以由用户自行安装软件、游戏等第三方服务商提供的程序,通过此类程序来不断对终端的功能进行扩充,并可以通过移动通讯网络来实现无线网络接入的这样一类终端的总称。
二代证
第二代居民身份证
CRM
客户关系管理(CustomerRelationshipManagement)
SIM
用户识别卡(SubscriberIdentityModule)
5.写卡器设备功能域接口
5.1组件名称
CMCC_PRINT_厂家英文名缩写_厂家设备型号缩写.so
5.2函数说明
1)连接打印机
方法描述
连接打印机
包名+类名
com.cmcc.nativepackage.Printer
方法名
publicstaticnativeintopenPrinter(intprinterType,StringdeviceId,Stringpassword)
属性
变量名称
类型
变量含义
备注
入口参数
printerType
int
打印机类型
printerType
1:
USB打印机(包括USB智能终端外设一体机中的打印机)
2:
蓝牙打印机(包括蓝牙智能终端外设一体机中的打印机)
3:
串口打印机(包括串口智能终端外设一体机中的打印机)
4、内置打印机(包括智能终端一体机中的打印机)
入口参数
deviceId
String
设备ID
当printerType为2时,deviceId为打印机MAC地址。
当printerType为3时,deviceId为USB卡(线)转换的串口,如/dev/ttyUSB0。
入口参数
password
String
密码
预留字段
返回值
int
0->Success;
非0状态码->Fail
附加说明
password是为了将来可能出现的wifi设备预留的参数。
2)关闭打印机
方法描述
关闭与打印机的连接
包名+类名
com.cmcc.nativepackage.Printer
方法名
publicstaticnativeintclosePrinter()
属性
变量名称
类型
变量含义
备注
返回值
int
0->Success;
非0状态码->Fail
附加说明
无
3)获取组件版本信息
方法描述
获取各厂商打印机组件的版本信息。
包名+类名
com.cmcc.nativepackage.Printer
方法名
publicstaticnativeintgetPrinterVersion(byte[]version)
属性
变量名称
类型
变量含义
备注
出口参数
version
byte[]
版本号
各厂商打印机组件的版本号(三位整数),数值越大代表版本越高。
返回值
int
0->Success;
非0状态码->Fail
附加说明
无
4)初始化打印机
方法描述
初始化打印机,清除打印缓冲区中的数据,复位打印机打印参数到打印机缺省参数。
包名+类名
com.cmcc.nativepackage.Printer
方法名
publicstaticnativeintinitialPrinter()
属性
变量名称
类型
变量含义
备注
返回值
int
0->Success;
非0状态码->Fail
附加说明
不是完全恢复到出厂设置,只是将打印指令参数恢复到打印机缺省参数。
点距是指打印的内容每个点之间的距离。
具体缺省设置包括如下:
1.字体宽高缩放比例:
1;
2.对齐方式:
左对齐;
3.左边距:
0个点距;
4.右边距:
0个点距;
5.行间距:
8个点距;
6.字符间距:
0个点距;
7.打印方向:
横打;
8.非粗体打印;
9.非下划线打印;
10.非反白打印。
5)设置字体宽高缩放比例
方法描述
设置打印机字符串的字符宽高缩放比例。
包名+类名
com.cmcc.nativepackage.Printer
方法名
publicstaticnativeintsetZoonIn(intwidthZoonIn,intheightZoonIn)
属性
变量名称
类型
变量含义
备注
入口参数
widthZoonIn
int
字体放大宽度
相比正常字体宽度的倍数,必须是正整数
入口参数
heightZoonIn
int
字体放大高度
相比正常字体高度的倍数,必须是正整数。
返回值
int
0->Success;
非0状态码->Fail
附加说明
打印机字体宽高缩放比例缺省设置为1。
厂商必须支持宽高缩放比为正常字体两倍或以上。
6)设置对齐方式
方法描述
设置打印机字符串的对齐方式。
包名+类名
com.cmcc.nativepackage.Printer
方法名
publicstaticnativeintsetAlignType(intalignType)
属性
变量名称
类型
变量含义
备注
入口参数
alignType
int
对齐方式
0:
左对齐;
1:
居中对齐;
2:
右对齐
返回值
int
0->Success;
非0状态码->Fail
附加说明
1.打印机缺省设置为左对齐。
2.仅在一行开始处理时,该命令才有效。
3.竖向打印不支持设置对齐方式,默认上对齐。
7)设置左边距
方法描述
设置打印机每行字符左边距为n个点距
包名+类名
com.cmcc.nativepackage.Printer
方法名
publicstaticnativeintsetLeftMargin(intn)
属性
变量名称
类型
变量含义
备注
入口参数
n
int
左边点距
返回值
int
0->Success;
非0状态码->Fail
附加说明
1.左边距位置表示打印内容的左侧边缘位置。
2.点距是指打印的内容每个点之间的距离。
8)设置右边距
方法描述
设置打印机每行字符右边距为n个点距
包名+类名
com.cmcc.nativepackage.Printer
方法名
publicstaticnativeintsetRightMargin(intn)
属性
变量名称
类型
变量含义
备注
入口参数
n
int
右边点距
返回值
int
0->Success;
非0状态码->Fail
附加说明
1.右边距位置表示打印内容的右侧边缘位置。
2.点距是指打印的内容每个点之间的距离。
9)设置行间距
方法描述
设置打印机字符串的字符行间距为n个垂直点距
包名+类名
com.cmcc.nativepackage.Printer
方法名
publicstaticnativeintsetLineSpacingByDotPitch(intn)
属性
变量名称
类型
变量含义
备注
入口参数
n
int
垂直点距
返回值
int
0->Success;
非0状态码->Fail
附加说明
1.打印机行间距缺省设置为8。
2.仅在一行开始处理时,该命令才有效。
3.点距是指打印的内容每个点之间的距离。
10)设置字符间距
方法描述
设置打印机字符串的字符间距为n个水平点距
包名+类名
com.cmcc.nativepackage.Printer
方法名
publicstaticnativeintsetWordSpacingByDotPitch(intn)
属性
变量名称
类型
变量含义
备注
入口参数
n
int
水平点距
取值范围:
0≤n≤255
返回值
int
0->Success;
非0状态码->Fail
附加说明
1.打印机字符间距缺省设置为0。
2.在倍宽模式下,字符右侧间距是正常值的两倍。
当字符被放大时,字符右侧间距被放大同样的倍数。
该函数同时影响英文和汉字字符的设定。
3.点距是指打印的内容每个点之间的距离。
11)设置打印方向
方法描述
设置打印机字符串的打印方向
包名+类名
com.cmcc.nativepackage.Printer
方法名
publicstaticnativeintsetPrintOrientation(intprintOrientation)
属性
变量名称
类型
变量含义
备注
入口参数
n
printOrientation
打印方向
0:
竖打
1:
横打
返回值
int
0->Success;
非0状态码->Fail
附加说明
1.打印机缺省设置为横打。
2.设置打印方向后,所有的打印都按照此格式打印。
3.竖向不支持设置对齐方式,默认上对齐。
12)设置/取消粗体打印
方法描述
设置打印机字符串是否粗体打印
包名+类名
com.cmcc.nativepackage.Printer
方法名
publicstaticnativeintsetBold(intn)
属性
变量名称
类型
变量含义
备注
入口参数
n
int
是否粗体
0:
取消粗体打印设置;1:
设置粗体打印
返回值
int
0->Success;
非0状态码->Fail
附加说明
打印机缺省设置为非粗体打印。
13)设置/取消下划线打印
方法描述
设置打印机字符串是否下划线打印
包名+类名
com.cmcc.nativepackage.Printer
方法名
publicstaticnativeintsetUnderLine(intn)
属性
变量名称
类型
变量含义
备注
入口参数
n
int
是否下划线打印
0:
取消下划线打印;
1:
设置下划线打印
返回值
int
0->Success;
非0状态码->Fail
附加说明
打印机缺省设置为非下划线打印。
14)设置/取消反白打印
方法描述
设置打印机字符串是否反白打印
包名+类名
com.cmcc.nativepackage.Printer
方法名
publicstaticnativeintsetInverse(intn)
属性
变量名称
类型
变量含义
备注
入口参数
n
int
是否反白打印
0:
取消反白打印;
1:
设置反白打印
返回值
int
0->Success;
非0状态码->Fail
附加说明
打印机缺省设置为非反白打印。
15)打印字符串
方法描述
打印字符串
包名+类名
com.cmcc.nativepackage.Printer
方法名
publicstaticnativeintprint(Stringcontent)
属性
变量名称
类型
变量含义
备注
入口参数
content
String
打印字符串
打印字符串,可包括多行打印数据,使用”\n”表示换行。
返回值
int
0->Success;
非0状态码->Fail
附加说明
当每行数据超出打印纸张宽度时打印机输出自动换行。
16)打印HTML格式数据
方法描述
打印HTML格式数据
包名+类名
com.cmcc.nativepackage.Printer
方法名
publicstaticnativeintprintHTML(Stringcontent)
属性
变量名称
类型
变量含义
备注
入口参数
content
String
HTML格式数据
返回值
int
0->Success;
非0状态码->Fail
附加说明
支持常用html标签。
5.3调用过程
图6
打印流程
1、加载组件,调用加载外设组件流程。
2、建立与热敏打印机的连接。
3、调用组件的初始化打印机方法。
4、调用组件的设置打印机参数方法集,如设置对齐方式、设置行间距等方法。
5、调用组件的打印字符或打印HTML格式数据方法。
6、打印机打印票据。
7.关闭连接。
6.二代证身份识别设备功能域接口
6.1组件名称
CMCC_IDCARD_厂家英文名缩写_厂家设备型号缩写.so
6.2函数说明
1)连接二代证身份识别设备
方法描述
连接二代证身份识别设备
包名+类名
com.cmcc.nativepackage.IDCard
方法名
publicstaticnativeintopenIDCard(intidCardType,StringdeviceId,Stringpassword)
属性
变量名称
类型
变量含义
备注
入口参数
idCardType
int
二代证身份识别设备类型
idCardType
1:
USB二代证身份识别设备(包括USB智能终端外设一体机中的二代证身份识别设备)
2:
蓝牙二代证身份识别设备(包括蓝牙智能终端外设一体机中的二代证身份识别设备)
3:
串口二代证身份识别设备(包括串口智能终端外设一体机中的二代证身份识别设备)
4、内置二代证身份识别设备(包括智能终端一体机中的二代证身份识别设备)
入口参数
deviceId
String
设备ID
当idCardType为2时
deviceId为蓝牙二代证身份识别设备MAC地址
当idCardType为3时
deviceId为USB卡(线)转换的串口,如/dev/ttyUSB0。
入口参数
password
String
密码
预留字段
返回值
int
0->Success;
非0状态码->Fail
附加说明
password是为了将来可能出现的wifi设备预留的参数。
2)关闭二代证身份识别设备
方法描述
关闭与二代证身份识别设备的连接
包名+类名
com.cmcc.nativepackage.IDCard
方法名
publicstaticnativeintcloseIDCard()
属性
变量名称
类型
变量含义
备注
返回值
int
0->Success;
非0状态码->Fail
附加说明
无
3)获取组件版本信息
方法描述
获取各厂商二代证身份识别设备组件的版本信息。
包名+类名
com.cmcc.nativepackage.IDCard
方法名
publicstaticnativeintgetIDCardVersion(byte[]version)
属性
变量名称
类型
变量含义
备注
出口参数
version
byte[]
版本号
各厂商二代证身份识别设备组件的版本号(三位整数),数值越大代表版本越高。
返回值
int
0->Success;
非0状态码->Fail
附加说明
无
4)初始化二代证身份识别设备
方法描述
初始化二代证身份识别设备,清除二代证身份识别设备内缓存数据。
包名+类名
com.cmcc.nativepackage.IDCard
方法名
publicstaticnativeintinitialIDCard()
属性
变量名称
类型
变量含义
备注
返回值
int
0->Success;
非0状态码->Fail
附加说明
无
5)获得二代证信息
方法描述
获得二代证信息
包名+类名
com.cmcc.nativepackage.IDCard
方法名
publicstaticnativeintgetIdCardInfo(String[]idCardInfo,byte[]img)
属性
变量名称
类型
变量含义
备注
出口参数
idCardInfo
String[]
二代证基本信息
数组长度为9,内容按顺序分别为:
姓名、性别、民族、出生年月、地址、公民身份号码、签发机关、有效期限,照片保存地址。
出口参数
img
byte[]
照片文件内容
证件头像图片BASE64编码
返回值
int
0->Success;
非0状态码->Fail
附加说明
无
6.3调用过程
图7
二代证身份识别流程图示
1、加载组件,调用加载外设组件流程。
2、建立与二代证身份识别设备的连接。
3、调用组件的初始化二代证身份识别设备方法。
4、调用组件的获取二代证信息方法。
5、页面显示二代证身份信息。
6、关闭连接。
7.写卡器设备功能域接口
7.1组件名称
CMCC_SIMCARD_厂家英文名缩写_厂家设备型号缩写.so
7.2函数说明
1)获取版本信息
方法描述
通过该函数获取统一写卡组件的版本信息。
包名+类名
com.cmcc.nativepackage.SimCard
方法名
publicstaticnativeintGetOPSVersion(char[]Version)
属性
变量名称
类型
变量含义
备注
出口参数
Version
char[]
版本号
方法返回,统一写卡组件版本信息
返回值
int
0->Success;
非0状态码->Fail
附加说明
无
2)读空卡序列号
方法描述
该函数用于读取卡片空卡序列号,该函数支持本标准发布前和发布后的所有现场写卡系统空卡。
因此CRM客户端可通过调用GetCardSN判断是否为本标准发布后生产的空卡。
包名+类名
com.cmcc.nativepackage.SimCard
方法名
publicstaticnativeintGetCardSN(char[]CardSN)
属性
变量名称
类型
变量含义
备注
出口参数
CardSN
char[]
空卡序列号
空卡序列号,如卡片符合中国移动《SIM卡远程写卡业务规范》v1.0.0版本,则长度为16位,如卡片符合中国移动《现场写卡技术规范》,则长度为20位。
返回值
int
0->Success;
非0状态码->Fail
附加说明
无
3)读取卡片信息
方法描述
该函数用于读取卡片信息,卡片信息包含卡片ICCID、卡片空卡序列号.
包名+类名
com.cmcc.nativepackage.SimCard
方法名
publicstaticnativeintGetCardInfo(char[]CardInfo)
属性
变量名称
类型
变量含义
备注
出口参数
CardInfo
char[]
该参数包含卡片ICCID、卡片空卡序列号
格式【iccid+(iccid+...)+空卡序列号】
该参数包含卡片ICCID、卡片空卡序列号。
格式为TLV格式,具体参见《NGBOSS2-CRM(V45)(U)SIM卡写卡技术规范支撑分册20130722.doc》第8.3.3节。
其中卡片ICCID如果为一卡多号卡,可出现多次。
具体请参见《NGBOSS2-CRM(V45)(U)SIM卡写卡技术规范支撑分册20130722.doc》第7.7一卡多号卡写卡及第8.2.1节空卡判断。
返回值
int
0->Success;
非0状态码->Fail
附加说明
无
4)实时写卡数据写入
方法描述
该函数用于实时写卡数据写入。
函数返回值为0时表示统一写卡组件向卡