PySerial - библиотека для работы с последовательными портами в Python
pyserial - это библиотека для работы с последовательным портом (COM-портами) в языке программирования Python. Она обеспечивает возможность обмена данными между компьютером и внешними устройствами, такими как Arduino, Raspberry Pi, считыватели штрих-кодов и другие, которые используют коммуникацию через последовательный порт.
Pyserial может быть установлена с использованием инструмента управления пакетами pip. Прежде чем начать использовать эту билиотеку, убедитесь, что Python уже установлен на вашем компьютере. Затем установите pyserial, выполнив следующую команду в командной строке:
pip install pyserial
После успешной установки вы можете начать использовать pyserial в своем коде. Давайте рассмотрим некоторые основные функции и примеры кода, чтобы понять, как работать с этой библиотекой.
1. Открытие последовательного порта:
<pre><code class="python">import serial
# Открываем последовательный порт COM1 с бодовой скоростью 9600
ser = serial.Serial('COM1', 9600)</code></pre>
2. Чтение и запись данных:
<pre><code class="python"># Чтение одной строки данных из последовательного порта
data = ser.readline()
print(data)
# Запись строки данных в последовательный порт
ser.write('Hello, World!'.encode('utf-8'))</code></pre>
3. Настройка параметров порта:
<pre><code class="python"># Установка бодовой скорости
ser.baudrate = 9600
# Установка количества бит данных
ser.bytesize = serial.EIGHTBITS
# Установка паритета
ser.parity = serial.PARITY_NONE
# Установка стоповых бит
ser.stopbits = serial.STOPBITS_ONE</code></pre>
4. Закрытие последовательного порта:
<pre><code class="python">ser.close()</code></pre>
Это лишь некоторые базовые функции, предоставляемые pyserial. Она также поддерживает другие возможности, такие как управление потоком данных, тайм-ауты, обнаружение устройств и другие.
Вот небольшой пример кода, который демонстрирует простую коммуникацию между компьютером и Arduino:
<pre><code class="python">import serial
import time
ser = serial.Serial('COM1', 9600)
# Отправляем запрос к Arduino
ser.write('1'.encode('utf-8'))
time.sleep(2) # Ждем 2 секунды для получения ответа
# Читаем ответ от Arduino
data = ser.readline()
print(data)
ser.close()</code></pre>
В этом примере мы открываем последовательный порт, отправляем команду "1" на Arduino, ждем 2 секунды для получения ответа и затем выводим его.
Pyserial - очень полезная библиотека, которая упрощает работу с последовательными портами в Python. Она предлагает множество функций и методов для обмена данными с внешними устройствами. Если вам требуется взаимодействовать с COM-портами в Python, pyserial - отличный выбор.