基础函数

外部USB串行设备

外部USB串行设备结构文档USB,串行设备1.简要简介:外围界面:通用通信接口,例如LAN端口,钱箱端口,USB2.0端口,串行端口,耳机插孔等。此文本主要介绍使用模式 钱箱端口,USB端口和串行端口。

_images/1-1.png

串口(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

串行端口参考演示Demo

_images/1-2.jpg

通信文档事例:Jaynes 串口电子秤通信文档 (不同电子秤通信协议需参考每家厂商提供的文档)

钱箱(RJ12)

一敏的桌面收银设备系列都支持直接访问钱箱。 钱箱使用RJ12接口。 开发人员可以通过将数据发送到RJ12接口来控制钱箱; 开发人员可以通过直接发送指示打开钱箱。 钱箱有两个操作:打开钱箱并检查钱箱的状态。

先下载 IminLibs.jar 包, 然后在项目中引用,通过以下方式获取指定值:

  1. 引入IminLib.jar,在app目录下libs目录下添加IminLibs.jar

_images/2-1.png
  1. 添加IminLib.jar的依赖,在app目录下的build.gradle添加依赖

_images/2-2.png
  1. 获取钱箱状态(需要钱箱支持返回)

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

扫码Demo下载

NFC

NFC Demo下载