Queeee
Янв. 18, 2012 14:38:23
Здравствуйте!
Сам пока только месяц учу пайтон, и в работе с портом какие то непонятные ошибки находит комп .Собственно учусь работать через серийным портом с приемником GPS у которого есть определенный набор команд , например если послать ему “$CMD,CHN,1,MSG,POS,1” с приемника должно начать считывать еще и позицию… Если не затруднит, подскажите как подавать команды на приемник, да и что вообще делать….как делать, теоретически - все понятно, а практически - много ошибок.
PySerial установлен. На основании вашей программы написать свою не получилось. Буду признателен за помощь
Queeee
Янв. 19, 2012 10:45:43
import serial
ser = serial.Serial(0)
a = ser.readline() — пытаюсь прочитать первую строку, тут то пайтон и выдает ошибку, типо нет доступа к порту
Андрей Светлов
Янв. 19, 2012 14:05:29
Достаточно спросить один раз.
Queeee
Янв. 20, 2012 13:26:22
Хм, 105 просмотров и ни одного ответа по теме, работать на питоне через серийный порт и вправду настолько трудно?
agalen
Янв. 20, 2012 14:32:00
Queeee
типо нет доступа к порту
Работать с серийным портом совсем не сложно. Чтобы ответить, нужно знать:
1. Какая ОС?
2. Что за ошибку тебе выдает программа?
3. Какой результат получается через эмулятор терминала?
Queeee
Янв. 20, 2012 14:48:52
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'), на эмуляторе ничего не меняется
Был бы бесконечно признателен за помощь
agalen
Янв. 20, 2012 19:51:58
Для начала, надо добиться работоспособности вручную через HyperTermial или что-то аналогичное. В поставке в Windows 7 его нет, но можно найти версию от XP.
Попробуй разные скорости - бывает, что устройства работают только на определенной скорости.
И еще - конец строки может быть “\r” вместо “\n”.
Queeee
Янв. 21, 2012 19:50:16
какой конец строки? вы о чем?
Queeee
Янв. 21, 2012 20:44:49
Что за HyperTermia, я на IDLE работаю
sypper-pit
Янв. 22, 2012 03:09:53
HyperTermial это программа для прямого общения с com-портами можно так же использовать putty