Python Serial - управление устройствами через COM порт
Python Serial - это библиотека Python, которая позволяет осуществлять связь с устройствами через последовательный порт. Это может быть, например, подключение к Arduino для сбора данных или управления устройством.
Для начала использования библиотеки Python Serial нужно ее установить. Это можно сделать с помощью пакетного менеджера pip:
pip install pyserial
Для того, чтобы подключиться к устройству, необходимо указать параметры порта, такие как имя порта, скорость передачи данных и другие настройки.
Пример кода для подключения к Arduino и чтения данных:
python
import serial
ser = serial.Serial('/dev/tty.usbmodem14101', 115200)
while True:
data = ser.readline().decode('utf-8').rstrip()
print(data)
В приведенном выше коде мы создаем объект `Serial`, указывая имя порта и скорость передачи данных. Далее, используя метод `readline()`, мы читаем данные, поступающие с устройства, и декодируем их в строку с помощью метода `decode()`. После этого удаляем символы переноса строки в конце строки с помощью метода `rstrip()` и выводим полученные данные в консоль.
Кроме чтения данных, библиотека Python Serial также позволяет отправлять данные на устройство, используя метод `write()`. Пример кода для отправки данных на Arduino:
python
import serial
import time
ser = serial.Serial('/dev/tty.usbmodem14101', 115200)
time.sleep(2) # необходимо для стабильной работы
ser.write(b'Hello from Python')
В приведенном выше коде мы используем метод `write()` для отправки строки на устройство. Обратите внимание, что мы используем тип `bytes` и добавляем символ `b` перед строкой для того, чтобы строка была отправлена в байтовом формате.
Python Serial также позволяет настраивать различные параметры порта, такие как биты данных, стоп-биты, контроль четности и другие настройки. Для этого используется метод `Serial()` с параметрами:
python
ser = serial.Serial(
port='/dev/tty.usbmodem14101',
baudrate=9600,
bytesize=8,
parity='N',
stopbits=1,
timeout=None,
xonxoff=False,
rtscts=False,
dsrdtr=False
)
Python Serial предоставляет широкие возможности для работы с последовательным портом, что делает эту библиотеку очень полезной при разработке программ для управления различными устройствами.