Введение
Управление моторами постоянного тока — основа любой робототехнической платформы: от простой тележки до манипулятора. Драйверы L298N и BTS7960 — самые популярные компоненты для начинающих и инженеров. Но написание кода для каждого нового сценария (объезд препятствий, голосовые команды, патрулирование) отнимает часы. AI-агент ASI Biont решает эту проблему: вы описываете задачу на естественном языке, а AI сам пишет код интеграции, подключается к моторному драйверу через выбранный интерфейс и начинает управление. В этой статье — практический гайд, как подключить DC моторы к ASI Biont через Hardware Bridge, MQTT или SSH.
Почему L298N и BTS7960?
Оба драйвера работают с моторами постоянного тока до 2–3 А (L298N) и до 43 А (BTS7960). L298N — классический H-мост с двумя каналами, BTS7960 — более мощный, с ШИМ-управлением и защитой от перегрева. Для интеграции с AI способ управления одинаков: подача сигналов на пины направления (IN1, IN2) и ШИМ-пин (ENA/ENB). ASI Biont может управлять этими пинами напрямую (через GPIO на Raspberry Pi) или через последовательный протокол (Arduino/ESP32).
Способы интеграции с ASI Biont
ASI Biont поддерживает подключение к оборудованию несколькими способами. Для DC моторов наиболее популярны:
| Способ | Устройство на стороне мотора | Интерфейс |
|---|---|---|
| Hardware Bridge (COM-порт) | Arduino/ESP32 с прошивкой | UART через bridge.py |
| MQTT | ESP32 с Wi-Fi | MQTT-брокер |
| SSH | Raspberry Pi (GPIO) | SSH-соединение |
| execute_python | Любое устройство с API | Python-скрипт в облаке |
Рассмотрим каждый.
Сценарий 1: Arduino + L298N через Hardware Bridge
Подключение
- Arduino Uno к ПК по USB (COM3).
- L298N: IN1→пин 8, IN2→пин 9, ENA→пин 10.
- Прошивка слушает последовательный порт: команды 'F' (вперёд), 'B' (назад), 'L' (влево), 'R' (вправо), 'S' (стоп).
Настройка bridge.py
Пользователь скачивает bridge.py из дашборда ASI Biont (Devices → Create API Key → Скачать bridge). Запускает:
pip install pyserial requests websockets
python bridge.py --token=ВАШ_ТОКЕН --ports=COM3 --baud=9600 --rate=10
Команда AI в чате
Пользователь пишет: «Подключись к Arduino на COM3 через bridge и отправь команду «F» для движения вперёд». AI вызывает:
industrial_command(
protocol='serial',
command='serial_write_and_read',
data='46' # hex 'F'
)
Bridge отправляет символ 'F' в порт, Arduino выполняет движение и возвращает ACK. AI тут же сообщает: «Моторы запущены вперёд».
Расширенный сценарий: голосовое управление
Пользователь говорит «Поверни налево на 90 градусов». AI анализирует, отправляет последовательность команд: 'L' (поворот) + тайминг через serial_write_and_read с паузой, затем 'S'. Всё без единой строки кода со стороны пользователя.
Сценарий 2: ESP32 + BTS7960 по MQTT
Подключение
- ESP32 прошит MicroPython с MQTT-клиентом, подписан на топик
robot/motor. - BTS7960: RPWM→GPIO25, LPWM→GPIO26, R_EN→3.3V, L_EN→3.3V.
AI в действии
Пользователь: «Подключись к MQTT брокеру mqtt.example.com, отправь команду для движения вперёд со скоростью 200». AI пишет скрипт, который запускается в execute_python:
import paho.mqtt.client as mqtt
client = mqtt.Client()
client.connect("mqtt.example.com", 1883, 60)
payload = '{"direction":"forward","speed":200}'
client.publish("robot/motor", payload)
client.disconnect()
Скрипт выполняется за секунды, ESP32 получает команду и запускает моторы. AI может повторять команды по расписанию или по триггерам (например, каждые 10 секунд отправлять статус).
Сценарий 3: Raspberry Pi + L298N через SSH
Подключение
- Raspberry Pi с установленным RPi.GPIO. L298N подключена к пинам GPIO17, GPIO18, GPIO27.
- Пользователь предоставляет IP, логин, пароль или SSH-ключ.
AI генерирует и выполняет код
Пользователь: «Подключись по SSH к Raspberry Pi на 192.168.1.100, запусти движение вперёд на 5 секунд, затем стоп». AI через execute_python с paramiko:
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('192.168.1.100', username='pi', password='raspberry')
script = """
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.OUT)
GPIO.setup(18, GPIO.OUT)
GPIO.setup(27, GPIO.OUT)
# вперёд
GPIO.output(17, True)
GPIO.output(18, False)
GPIO.output(27, True) # ENA ШИМ высокий
time.sleep(5)
GPIO.output(17, False)
GPIO.output(27, False)
GPIO.cleanup()
"""
stdin, stdout, stderr = ssh.exec_command(f"python3 << '{script}'")
ssh.close()
После выполнения AI возвращает stdout/stderr и отчёт о выполненном движении.
Почему это выгодно?
- Без программирования: вы описываете задачу, AI пишет код на Python/MicroPython/Sketch.
- Гибкость: один и тот же AI может работать с любым драйвером — L298N, BTS7960, L9110 — меняется только распиновка и протокол.
- Автоматизация сценариев: AI может следить за датчиками (ультразвук, энкодеры) через тот же bridge и корректировать движение в реальном времени.
- Голосовое управление: интеграция с голосовым вводом в чате — говорите «вперёд», AI отправляет команду.
Как начать?
- Соберите схему: моторы → драйвер → микроконтроллер (Arduino/ESP32/Raspberry Pi).
- Откройте дашборд ASI Biont, создайте API-ключ и скачайте bridge.py (если используете COM-порт).
- Запустите bridge.py с нужными параметрами.
- В чате с AI-агентом напишите: «Подключись к моему роботу через MQTT на localhost:1883 и заставь его поворачивать налево каждые 10 секунд».
- AI сгенерирует и выполнит код. Всё!
Заключение
DC моторы с драйверами L298N и BTS7960 — идеальные кандидаты для интеграции с AI. ASI Biont берёт на себя рутину написания кода и настройки соединения. Вы сосредотачиваетесь на логике робота, а не на синтаксисе. Попробуйте сами: зайдите на asibiont.com, создайте проект и подключите свои моторы за 5 минут.
Комментарии