基础函数
外部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,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供开发者使用,可以更快的识别二维码和条码