Я пытаюсь запустить свое приложение Flutter, которое подключается к устройству Android (разрешить любые разрешения, запрошенные приложением) и разрешить запись и чтение через последовательный порт.
Я использую устройство Android Последняя версия, я пробовал с Linux, она прекрасно читает и пишет. но когда я запускаю его в Android, он говорит: SerialPortError: Разрешение отклонено, errno = 13, я пытался предоставить все разрешения в моем androidManifest, но не нашел решения. Кроме того, дайте моему устройству Android примитив принять все разрешения, но проблема остается той же. Я попробовал использовать чип с помощью Arduino, и он отправляет сообщения, но на моем устройстве Android заметки работают!
Пожалуйста, помогите
void operateSerialPort() {
List availblePort = SerialPort.availablePorts;
print('availble port: $availblePort');
SerialPort port1 = SerialPort('/dev/ttyS0'); //,115200 //ttyS1 ///dev/ttyUSB0
print(
'the port property:\n bus number:${port1.busNumber}, device number:${port1.deviceNumber}\n, product id:${port1.productId}, product name:${port1.productName} ,serial number:${port1.serialNumber},\n vendor id:${port1.vendorId}, signals:${port1.signals}, bytesAvailable:${port1.bytesAvailable}, ');
print('is port1 open? ${port1.isOpen}');
port1.openReadWrite();
print('is port1 open (afteropen)? ${port1.isOpen}');
if (!port1.openReadWrite()) {
print('error opening port: ${port1}');
}
if (!port1.open(mode: SerialPortMode.readWrite)) {
print(
'Error in opning read/write: port> $port1 serial last error> ${SerialPort.lastError}');
//close port
port1.close();
port1.dispose();
return;
}
var config = inirPort(port1);
if (port1.config != config) {
print('Error: configuration does not applied => ${port1}');
return;
}
if (port1.isOpen) {
print('port is open');
} else {
print('port is Closed!, ${port1}');
port1.close();
port1.dispose();
}
print('hey0');
try {
//write:
print('hey1');
var convertString = _stringToUni8List('hello');
print('hey2');
var write = port1.write(convertString);
print('writen bytes is ${write}');
//read:
SerialPortReader reader = SerialPortReader(port1);
print('heyy5');
Stream upcommingData = reader.stream.map((data) {
return String.fromCharCodes(data);
});
//listen for upcomming data:
upcommingData.listen((value) {
print('Read Data: $value');
});
} on SerialPort catch (err, _) {
print('Error on: ${SerialPort.lastError}');
port1.close();
}
}
SerialPortConfig inirPort(SerialPort port) {
var configure = port.config = SerialPortConfig()
// var configure = SerialPortConfig()
//// SerialPortDtr.flowControl
..baudRate = 115200
..parity = SerialPortFlowControl.none
..stopBits = 1
..bits = 8
// ..flowControl = SerialPortFlowControl.rtsCts
// ..rtsControl = SerialPortRtsControl.on
// ..rts = SerialPortRts.on
..rts = SerialPortRts.on
..dtr = SerialPortDtr.on
..rts = SerialPortRts.flowControl //0
..dtr = SerialPortDtr.flowControl
..cts = 1
..dsr = 1
..cts = SerialPortCts.flowControl
..dsr = SerialPortDsr.flowControl
..xonXoff = SerialPortXonXoff.inOut //enabled for input and output.
..setFlowControl(SerialPortFlowControl.rtsCts); //SerialPortFlowControl.none
return configure;
}
Подробнее здесь: https://stackoverflow.com/questions/786 ... erialporte
Невозможно читать/записывать последовательный порт с помощью flutter_libserialport. показывает мне: SerialPortError: Раз ⇐ Android
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
AttributeError: модуль «последовательный» не имеет атрибута «последовательный».
Anonymous » » в форуме Python - 0 Ответы
- 25 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как записать в последовательный порт с помощью PHP? Возникла проблема с буферизацией
Anonymous » » в форуме Php - 0 Ответы
- 15 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как написать в последовательный порт с помощью PHP? Проблема с буферизацией
Anonymous » » в форуме Php - 0 Ответы
- 4 Просмотры
-
Последнее сообщение Anonymous
-