Попытка использовать pyserial между приложениями, но я получаю терминал - PullRequest
0 голосов
/ 13 сентября 2018

(обновление) Так что я нашел документацию по этой ссылке https://elinux.org/RPi_Serial_Connection#Connections_and_signal_levels Если вы прокрутите вниз, вы найдете раздел «S / W: Предотвращение использования Linux последовательного порта». Там написано: «По умолчанию Linux захватит последовательный порт и будет использовать его в качестве терминала».

Таким образом, похоже, что это вещь, однако инструкции, которые он дает, предназначены для Raspberry Pi, и он призывает вас использовать raspi-config. Это ничего не дает для регулярного использования Linux. Используя python, я пытаюсь установить связь между моим ноутбуком и платой Up-Board. Я подключаю плату с помощью кабеля FTDI, подключенного к последовательному соединению на плате.

(OP) Я делал нечто подобное раньше с C ++ на другой плате. Код, который я использую, я взял с этого сайта, http://www.varesano.net/blog/fabio/serial%20rs232%20connections%20python

import time
import serial

ser = serial.Serial(
        port='/dev/ttyUSB0',
        baudrate=115200,
        parity=serial.PARITY_NONE,
        stopbits=serial.STOPBITS_ONE,
        bytesize=serial.EIGHTBITS
)

print ser.isOpen()

input=1
while 1 :
        input = raw_input(">> ")
        print "Check"

        try:
                if input == 'exit':
                        ser.close()
                        exit()
                else:
                        ser.write(input + '\r\n')
                        out = ''
                        time.sleep(1)
                        while ser.inWaiting() > 0:
                                out += ser.read(1)

                        if out != '':
                                print ">>" + out
        except:
                ser.close()
                break

Я делаю нечто похожее на Up-board. Разница лишь в том, что он ждет сообщения, а затем возвращает сообщение обратно на мой ноутбук. Просто петля назад между Upboard и моим ноутбуком.

Вот где это вызывает интерес.

У меня две отдельные проблемы.

1) Я попытаюсь отправить слово, например "test", и оно будет отправлять только "e", "tst" не будет отправлено

2) Другая проблема заключается в том, что он отправляет сообщение, и я получаю возврат пароля. Поэтому я перезагружаю программное обеспечение и пытаюсь подключиться снова, на этот раз я отправляю имя пользователя в качестве первого сообщения. Я получаю ответ на пароль, затем отправляю пароль, и теперь у меня есть терминальный доступ к Upboard. Пока все, что я действительно хочу, это подключиться к приложению на другом конце.

У кого-нибудь есть предложения по поводу того, что происходит?

1 Ответ

0 голосов
/ 14 сентября 2018

Итак, я нашел разрешение, похоже, что система была настроена в grub для подключения к терминалу с тем же адресом порта.

если вы перейдете в / etc / default / grub, вы найдете строку

GRUB_CMDLINE_LINUX = "console = ttyS0, 115200n8"

Я закончил тем, что прокомментировал эту строку, и теперь я могу подключиться, не давая мне контроля консоли.

...