Найти - Пользователи
Полная версия: Ожидание приглашения в serial module
Начало » Network » Ожидание приглашения в serial module
1
MonaxGT
Добрый день Товарищи программисты.
Сегодня первый день пробывал писать скрипты на Python, до этого что-то пытался на Perl.

Создал программу,которая работаю с модулем serial заходит через серийный порт на устройство (коммутатор) и выполняет ряд команд. Последней командой в первой части является заливка прошивка через tftp сервер. Но здесь я столкнулся с проблемой: Так как заливка происходит несколько минут, я думал сделать обработчик, который следил за завершение закачки. Завершение закачки происходит, когда вновь выдается приглашение ( Например <Quidway>).

Есть команда read, readline…

Пробывал сделать такой момент:

while 1 :
if buff == ‘<Quidway>’ : break
time.sleep(2)
buff = ‘ ’
buff = ser.read()
pass

Но вот в чем проблема…. Модуль не читает само приглашение или не видит ничего, или видит по 2-3 буквы в разнобой.
То покажет <Q, то uid, то way> и т.п.

Я игрался с цифрами в read, и 1 и 10, 9 эффект тот же.

Прошу говоря работает через одно место…

Решил сделать, чтобы просто писалось в этом цикле цифра 1 в консоль, дабы отследить когда оболочка коммутатора начнет писать, а следовательно считывать, но это тоже способ через мягкое место…

Подскажите пожалуйста как сделать грамотно и работоспособно.

П.С. Видел момент с модулем pexpect, но не удалось его приучить к консоли ( не смог задать ему значение порта, чтобы spawn его скушал) Нашел пример для telnet, а вот для serial не могу подкатать.
JOHN_16
может банально ser.readline() т.к. наверняка работа идет построчно
MonaxGT
Пробывал, но проблема в том что не читает он в строке приглашение, а значит определить нельзя..
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB