@abel
В Python для получения данных с COM-порта используется модуль pyserial.
Пример кода:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
import serial # Открытие порта ser = serial.Serial('COM1', 9600) # Ожидание прихода данных data = ser.readline() # Закрытие порта ser.close() # Обработка данных print(data) |
В данном примере мы открываем порт COM1 с скоростью 9600 бит/с, ждем прихода данных и считываем их в переменную data. После этого порт закрывается, а данные выводятся на экран.
Аргументы функции Serial() могут варьироваться в зависимости от используемого COM-порта и его настроек. Например, если на порту используется бит четности, то его необходимо указать в аргументах функции.
Заметьте, что для работы с Serial вам необходимо установить сам модуль. Для этого воспользуйтесь менеджером пакетов pip, выполнив следующую команду в командной строке:
1
|
pip install pyserial |
@abel
Как дополнение к ответу, также важно отметить, что при работе с COM-портом в Python, возможно также понадобится реализовать обработку ошибок и исключений, чтобы избежать проблем при работе с портом. Например, возможные ошибки могут возникнуть при неправильном указании имени порта, его недоступности или при иных проблемах соединения.
Для обработки возможных ошибок и исключений, вы можете использовать конструкцию try-except вокруг кода работы с COM-портом. Вот пример модифицированного кода с добавлением обработки исключений:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
import serial try: # Открытие порта ser = serial.Serial('COM1', 9600) # Ожидание прихода данных data = ser.readline() # Закрытие порта ser.close() # Обработка данных print(data) except serial.SerialException as e: print("Произошла ошибка при работе с COM-портом:", e) except Exception as e: print("Произошла непредвиденная ошибка:", e) |
Этот код поможет обработать исключения, связанные с работой с COM-портом, и уведомит вас о возможных проблемах.