本人使用环境
CH340转接头
Android5.1,RK3188
Android6.0,RK3288
关于CH34官方的jar包与使用存在的问题(官方地址)
最大的问题是无法修改串口波特率,一直以19200运行,但我的传感器为9600,理论上应该可以修改,可是就连官方的APK都无法修改,我只好另寻他发
最终解决方案
初始化
在你的build.gradle(project)中添加
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
添加依赖
dependencies {
implementation 'com.github.mik3y:usb-serial-for-android:2.2.2'
}
添加权限
在res/xml/下添加 device_filter.xml,CH340官网的工程Demo内也有。并要在AndroidManifest中补全代码
android:name="..."
...>
android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"
android:resource="@xml/device_filter" />
使用
创建单独的温度传感器类
class TemperMoudle {
private final static String TAG = "MainActivity";
private static final int TEMPERATURE_USB_VENDOR_ID = 6790; //供应商id
private static final int TEMPERATURE_USB_PRODUCT_ID = 29987; //产品id
private Context context;
private List usbSerialDrivers = null;
private List usbSerialPorts = new ArrayList<>();
private UsbSerialPort temperatureUsbPort = null;
private SerialInputOutputManager serialIoManager;
private SerialInputOutputManager.Listener serialListen