Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 18, 2012 14:38:23

Queeee
От:
Зарегистрирован: 2012-01-18
Сообщения: 42
Репутация: +  -1  -
Профиль   Отправить e-mail  

Работа с последовательным портом

Здравствуйте!
Сам пока только месяц учу пайтон, и в работе с портом какие то непонятные ошибки находит комп .Собственно учусь работать через серийным портом с приемником GPS у которого есть определенный набор команд , например если послать ему “$CMD,CHN,1,MSG,POS,1” с приемника должно начать считывать еще и позицию… Если не затруднит, подскажите как подавать команды на приемник, да и что вообще делать….как делать, теоретически - все понятно, а практически - много ошибок.
PySerial установлен. На основании вашей программы написать свою не получилось. Буду признателен за помощь



Офлайн

#2 Янв. 19, 2012 10:45:43

Queeee
От:
Зарегистрирован: 2012-01-18
Сообщения: 42
Репутация: +  -1  -
Профиль   Отправить e-mail  

Работа с последовательным портом

import serial
ser = serial.Serial(0)
a = ser.readline() — пытаюсь прочитать первую строку, тут то пайтон и выдает ошибку, типо нет доступа к порту



Офлайн

#3 Янв. 19, 2012 14:05:29

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Работа с последовательным портом

Достаточно спросить один раз.



Офлайн

#4 Янв. 20, 2012 13:26:22

Queeee
От:
Зарегистрирован: 2012-01-18
Сообщения: 42
Репутация: +  -1  -
Профиль   Отправить e-mail  

Работа с последовательным портом

Хм, 105 просмотров и ни одного ответа по теме, работать на питоне через серийный порт и вправду настолько трудно?



Офлайн

#5 Янв. 20, 2012 14:32:00

agalen
От:
Зарегистрирован: 2011-03-23
Сообщения: 185
Репутация: +  17  -
Профиль   Отправить e-mail  

Работа с последовательным портом

Queeee
типо нет доступа к порту
Работать с серийным портом совсем не сложно. Чтобы ответить, нужно знать:
1. Какая ОС?
2. Что за ошибку тебе выдает программа?
3. Какой результат получается через эмулятор терминала?



Офлайн

#6 Янв. 20, 2012 14:48:52

Queeee
От:
Зарегистрирован: 2012-01-18
Сообщения: 42
Репутация: +  -1  -
Профиль   Отправить e-mail  

Работа с последовательным портом

1. Windows 7
2. Вот код:
import serial
s=serial.Serial()
print s

вот результат:
Serial<id=0x2dbb390, open=False>(port=None, baudrate=9600, bytesize=8, parity='N', stopbits=1, timeout=None, xonxoff=False, rtscts=False, dsrdtr=False), признаться честно - ожидал иного результата.
Я думал, что будут выводиться показатели gps приёмника вроде этого “$GPGSA,A,3,68,71,74,05,07,08,10,28,,,,,02.0,01.5,01.4*0B” , с неким интервалом времени.
Теперь ума не приложу, как выполнить поставленную задачую
3. пытаюсь дать микропроцессору приёмника команду ser.write('$CMD,CHN,1,MSG,POS,0'), на эмуляторе ничего не меняется

Был бы бесконечно признателен за помощь



Отредактировано (Янв. 20, 2012 14:50:26)

Офлайн

#7 Янв. 20, 2012 19:51:58

agalen
От:
Зарегистрирован: 2011-03-23
Сообщения: 185
Репутация: +  17  -
Профиль   Отправить e-mail  

Работа с последовательным портом

Для начала, надо добиться работоспособности вручную через HyperTermial или что-то аналогичное. В поставке в Windows 7 его нет, но можно найти версию от XP.
Попробуй разные скорости - бывает, что устройства работают только на определенной скорости.
И еще - конец строки может быть “\r” вместо “\n”.



Офлайн

#8 Янв. 21, 2012 19:50:16

Queeee
От:
Зарегистрирован: 2012-01-18
Сообщения: 42
Репутация: +  -1  -
Профиль   Отправить e-mail  

Работа с последовательным портом

какой конец строки? вы о чем?



Отредактировано (Янв. 21, 2012 20:42:36)

Офлайн

#9 Янв. 21, 2012 20:44:49

Queeee
От:
Зарегистрирован: 2012-01-18
Сообщения: 42
Репутация: +  -1  -
Профиль   Отправить e-mail  

Работа с последовательным портом

Что за HyperTermia, я на IDLE работаю



Офлайн

#10 Янв. 22, 2012 03:09:53

sypper-pit
От: Ulan-Ude(msk)
Зарегистрирован: 2009-01-30
Сообщения: 1102
Репутация: +  6  -
Профиль   Отправить e-mail  

Работа с последовательным портом

HyperTermial это программа для прямого общения с com-портами можно так же использовать putty

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version