基础函数
外部USB串行设备
外部USB串行设备结构文档USB,串行设备1.简要简介:外围界面:通用通信接口,例如LAN端口,钱箱端口,USB2.0端口,串行端口,耳机插孔等。此文本主要介绍使用模式 钱箱端口,USB端口和串行端口。
串口(RJ11)
串口使用 RJ11 接口,开发者可以通过串口的数据发送来控制外设。 一敏设备的RJ11为四线,不支持硬流控(部分外设默认开启硬件流控,这些设备无法通过RJ11连接一敏主机)。
D4 Pro, Swan 1 Pro, Crane 1 : /dev/ttyS1
Falcon 1:/dev/ttyS2
D1w,D3-503, D4, Swan 1, Swan 2, S1: /dev/ttyS3
D3-501,D2-402: /dev/ttyS7
通信文档事例:Jaynes 串口电子秤通信文档 (不同电子秤通信协议需参考每家厂商提供的文档)
钱箱(RJ12)
一敏的桌面收银设备系列都支持直接访问钱箱。 钱箱使用RJ12接口。 开发人员可以通过将数据发送到RJ12接口来控制钱箱; 开发人员可以通过直接发送指示打开钱箱。 钱箱有两个操作:打开钱箱并检查钱箱的状态。
先下载 IminLibs.jar 包, 然后在项目中引用,通过以下方式获取指定值:
引入IminLib.jar,在app目录下libs目录下添加IminLibs.jar
添加IminLib.jar的依赖,在app目录下的build.gradle添加依赖
获取钱箱状态(需要钱箱支持返回)
1boolean isCashBoxOpen = IminSDKManager.isCashBoxOpen(Context context);
4)打开钱箱
1IminSDKManager.opencashBox(Context context);
parameter:
context --> Application/Activity/Fragmen of context
备注
D4 Pro/Swan 1 Pro/Crane 1产品必须使用 IminSDKManager. OpencashBox (Context Context). 这种新方法与旧设备兼容;IminSDKManager.opencashBox(); 它可以继续在适应的设备上使用.
USB 串口
支持 USB2.0 协议的 USB 设备。 USB 通信开发者文档
一敏支持的USB转串口芯片列表
目前支持的USB转串口芯片有:CH341、FT系列、PL2303、CP210X系列
● 当使用USB转串口时,系统将构建节点:/dev/ttyUSBx(如/dev/ttyUSB0, /dev/ttyUSB1等)
● 当你使用USB转串口时,不要使用USB来调试系统,这会使USB转串口不工作
获取 USB 设备的 PID/VID
方法1: java code
1UsbManager usbManager = (UsbManager) getSystemService(Context.USB_SERVICE);
2HashMap<String, UsbDevice> usbDeviceList = usbManager.getDeviceList();
3for (UsbDevice usbDevice : usbDeviceList.values()) {
4 int vid = usbDevice.getVendorId();
5 int pid = usbDevice.getProductId();
6
7 // print VID and PID
8 Log.d("USB Info", "Vendor ID (VID): " + vid);
9 Log.d("USB Info", "Product ID (PID): " + pid);
10}
方法2: adb command
1adb shell lsusb
扫码
摄像头扫码说明
对于一敏设备,如果使用摄像头扫码,一敏提供了扫码Demo供开发者使用,可以更快的识别二维码和条码
扫码头引擎
扫码头开发请参考:《一敏扫码接入说明文档.pdf 》 本文件是一份通用机型参考开发文件。
一敏 Swift 1、Swift 1 Pro、Crane 1、Lark 1等扫描码专用设备,可用于餐饮、零售、医疗、农业贸易、执法等场景。
1. 可识别的码
不同型号的扫码头支持的码类型不同,列举部分可支持的码类型,如下表所示:
扫码头 |
编码类型 |
---|---|
斑马扫码头 |
EAN-13、EAN-8、QR、code 128、code 39、UPC-A、UPC-E、Codabar、ISBT 128、MSI PLESSEY、PDF417、code 93、Data Matrix |
图腾扫码头 |
EAN-13、EAN-8、QR、code 128、code 39、UPC-A、UPC-E、Han Xin、Codabar、Aztec、MSI PLESSEY、PDF417、code 93、Data Matrix |
用户可根据需求选择可识别的码,具体操作步骤如下:
在“扫码头设置”中点击“选择可识别码”;
选择开启或关闭制定识别码,默认开启全部识别码。
2. 编码方式
用户可在“输出编码设置”中对输出编码进行设置,可选择UTF-8,GBK,ISO-8859-1和SHITF-JIS四种编码格式,其中,默认编码格式为 UTF-8。
3.提示方式
用户可在“提示方式设置”中对提示方式进行设置,默认打开声音提示和震动提示。
4.输出方式
用户可在“输出方式设置”中对扫码结果的输出方式进行设置,默认选中模拟键盘方式输出、自动补回车、开启广播输出。
5.触发模式
用户可在“触发模式设置”中选择触发模式,默认“短按触发”,扫码成功后扫码头自动熄灭。
6.条形码数据处理
用户可在“条形码数据处理”添加前缀/后缀,另外支持去除前后字符。
7.Q&A
常见问题:
问:如何对接扫码头?
答:为了方便开发者,一敏把扫码头做成了一个免开发的组件。无需针对扫码头做开发即可获取扫码内容。
如果使用广播通知方式接受,默认参数如下:
扫描结果广播名称:com.imin.scanner.api.RESULT_ACTION
键值名:decode_data_str
原始字节名:decode_data
2.问:如何获取扫码结果?
答:提供了3种数据输出方式 :
1)模拟键盘:会把扫码结果模拟成按键事件,会自动输出到焦点框文本,用户可以通过获取焦点框内容或者监听按键事件来获取扫码结果;
2)直接填充:会把扫码结果拷贝到粘贴版,会自动输出到焦点框文本,相比较与模拟键盘输出方式,直接填充的输出速度更快;
3)广播输出:会把扫码结果作为广播发送,用户可以监听广播来获取扫码结果。
3.问:扫码结果比较慢?
答:模拟按键输出模式,按键间隔时间会影响输出速度,设置为0为最快速度 (默认0) 。
4.问:扫描中文二维码出现乱码怎么解决?
答:比如二维码的中文“你好”的编号格式为UTF-8,扫码头输出编码也需要设置UTF-8才能正确输出“你好”,否则将会输出乱码。