Я бы лично пошел с AJAX здесь просто потому, что он наиболее широко используется, и поэтому у меня будет лучшая документация, на которую можно сослаться, если вы застряли. Вы упоминаете, что уже используете JQuery, что сделает интеграцию AJAX очень простой. Я уверен, что поиск "фляга AJAX JQuery" даст вам хорошие результаты сразу.
Я также рекомендую опубликовать соответствующий код, который у вас есть (конечные точки Flask / логика). Это определенно поможет людям помочь вам, и в целом это хороший этикет StackOverflow.
Можно использовать приложение как xmodem для передачи файла по любому терминалу. Последовательный порт, который Вы говорите от терминала, или это также консоль ядра.
Если Вы - ядро, не является шумным, то можно использовать текущее соединение для создания xmodem как передача. На стороне хоста можно использовать kermit, который хорош И scriptable.
Если Вы хотите сделать свои сырые данные последовательного порта, и у Вас есть дескриптор файла ttyfd открытый, вот один способ сделать это:
struct termios tty, orig_tty;
...
if(tcgetattr(ttyfd, &tty) < 0)
{
// error checking
}
// backup tty, make it raw and apply changes
orig_tty = tty;
cfmakeraw(&tty);
if(tcsetattr(ttyfd, TCSAFLUSH, &tty) < 0)
{
// error checking
}
...
//end of program or error path :
tcsetattr(ttyfd, TCSAFLUSH, &orig_tty)
Не забывайте восстанавливать установку в конце своей программы, если Вы все еще хотите ведший себя терминал пользы.
Вы не можете только установить терминал на сырые данные?
Взгляните на это учебное руководство.
Для отключения консоли Linux, необходимо измениться, командная строка Linux создают загрузчиком из: консоль, =/dev/ttyS? к: console=null
Можно работать на терминале команда, которая передаст данные через протокол прикладного уровня. rx и tx управляют, чтобы Вы относились для реализации протокола передачи файлов XMODEM. Это могло быть решение, если двоичные данные, которые Вы хотите передать, состоят из файлов, спросы пропускной способности являются низкими, и Вы не возражаете против административных издержек выполнения команд. С другой стороны, можно хотеть мультиплексировать последовательный порт для обработки и передача данных и терминал. Отключите команду драйвера последовательного терминала (getty) и выполните протокол PPP по последовательной линии для установления IP-соединения к устройству. Можно затем войти в устройство через ssh или telnet и передать данные через сокет IP.
Поскольку другие примечания подразумевали, существует несколько вещей проверить, собранный здесь:
Терминальные программы, вероятно, не будут полезны для Вас, если Вы не сможете запустить ту же программу на встроенном устройстве для управления другим концом соединения.
Да, все Ваши последовательные порты находятся в /dev/ttyxx
. Отметьте это /dev/tty
ярлык, который обозначает Ваш текущий терминал, не определенный последовательный порт. Часто, они принадлежат корню, и требуют, чтобы у Вас или были полномочия, или находятся в adm
группа для доступа к устройству непосредственно из приложения.
Можно хотеть chown
устройство, таким образом, можно получить доступ к нему. Я не уверен, какой последствие изменяющегося владения устройства; IIRC, легко сделать и работы приятно. Альтернатива должна использовать setuid
поднять Вашу программу до привилегированного состояния.
Существует названная программа getty
это позволяет пользователям войти в систему от последовательного порта. Ваш inittab
запустится getty
на последовательных портах, таким образом, могут войти в систему люди.
Вы хотите отключить getty
. В некоторых случаях существует менеджер по порту, который помогает сделать это.
В некоторых случаях можно изменить Ваш inittab
использовать mgetty
, который является более умным и более легким для управления версией getty
.