Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 11, 2013 10:21:21

MonaxGT
Зарегистрирован: 2013-04-11
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Ожидание приглашения в serial module

Добрый день Товарищи программисты.
Сегодня первый день пробывал писать скрипты на 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 не могу подкатать.

Офлайн

#2 Апрель 12, 2013 00:43:11

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Ожидание приглашения в serial module

может банально ser.readline() т.к. наверняка работа идет построчно



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#3 Апрель 12, 2013 07:12:12

MonaxGT
Зарегистрирован: 2013-04-11
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Ожидание приглашения в serial module

Пробывал, но проблема в том что не читает он в строке приглашение, а значит определить нельзя..

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version