Я пытаюсь запустить свое приложение 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
Форум для тех, кто программирует под Android
1719221522
Anonymous
Я пытаюсь запустить свое приложение 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;
}
Подробнее здесь: [url]https://stackoverflow.com/questions/78661238/cannot-read-write-serial-port-using-flutter-libserialport-shows-me-serialporte[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия