Плата Arduino подключена к Arduino IDE для представления информации, полученной через LoRa.
Изначально я создал код Android Studio (Java) на основе последовательного COM-порта. У меня есть приложение, распознающее, что USB-устройство подключено, но когда я отправляю данные (или пытаюсь), на Arduino ничего не появляется. Вот код для моего последовательного порта:
Код: Выделить всё
public static void sendComm(String msg) {
byte[] msgBuff = msg.getBytes();
int msgLen = msgBuff.length;
if (serialPort != null) {
try {
serialPort.write(msgBuff, msgLen);
} catch (IOException e) {
e.printStackTrace();
}
}
}
При настройке USB-соединения я использую:
Код: Выделить всё
for (UsbDevice device : deviceList.values()) {
PendingIntent permissionIntent = PendingIntent.getBroadcast(this, 0, new Intent("com.aidan.dronecontroller.USB_PERMISSION"), PendingIntent.FLAG_IMMUTABLE);
if (device.getVendorId() == 4292 && device.getProductId() == 60000) {
usbManager.requestPermission(device, permissionIntent);
if (usbManager.hasPermission(device)) {
GlobalState.getInstance().setUSBConnected(true);
}
}
la66 = device;
}
Код: Выделить всё
private void openSerialPort(UsbDevice device) {
UsbDeviceConnection connection = usbManager.openDevice(device);
UsbSerialDriver driver = UsbSerialProber.getDefaultProber().probeDevice(device);
if (driver == null) {
// Try a more aggressive probe
driver = UsbSerialProber.getDefaultProber().probeDevice(device);
}
if (driver != null) {
UsbSerialPort port = driver.getPorts().get(0);
try {
port.open(connection);
port.setParameters(
9600, // baud rate
8, // data bits
UsbSerialPort.STOPBITS_1,
UsbSerialPort.PARITY_NONE
);
serialPort = port;
}
catch (IOException e) {
e.printStackTrace();
}
}
la66Msg = "AT+FRE="+freq+","+freq;
sendComm(la66Msg);
la66Msg = "AT+BW="+bw+","+bw;
sendComm(la66Msg);
la66Msg = "AT+SF="+sf+","+sf;
sendComm(la66Msg);
la66Msg = "AT+CR="+cr+","+cr;
sendComm(la66Msg);
}
Я вообще не знаком с интерфейсом аппаратного и программного обеспечения, так что это то, с чем я борюсь. Есть ли понимание того, что я делаю неправильно? Есть идеи, как лучше/правильно это закодировать?
Спасибо.
Подробнее здесь: https://stackoverflow.com/questions/798 ... o-la66-usb
Мобильная версия