Введение
CNC-станки с прошивками GRBL и Marlin — это основа современной фрезеровки, 3D-печати и лазерной резки. Но даже самый точный станок остаётся «немым» без внешнего управления: чтобы отправить задание, проконтролировать процесс и вовремя среагировать на ошибку, приходится сидеть за компьютером или постоянно обновлять веб-интерфейс. AI-агент ASI Biont решает эту проблему: он подключается напрямую к вашему станку и позволяет управлять им через обычный чат — Telegram, Slack или любой другой мессенджер.
В этой статье я покажу, как за 15 минут связать CNC-станок с ASI Biont, какие способы подключения работают для GRBL и Marlin, и приведу готовые сценарии автоматизации на основе реального опыта.
Что такое GRBL и Marlin и зачем их подключать к AI-агенту
GRBL — это прошивка для Arduino, которая превращает её в контроллер ЧПУ. Она понимает G-code и управляет шаговыми двигателями через драйверы. Marlin — более сложная прошивка для 3D-принтеров и фрезерных станков, поддерживает SD-карты, термисторы, автоматическую калибровку.
Обе прошивки работают через последовательный порт (USB-UART) или по сети. Именно через этот интерфейс ASI Biont может общаться со станком: отправлять G-code, читать статус, температуру, скорость шпинделя.
Способы подключения CNC к ASI Biont
Выбор способа зависит от прошивки и наличия дополнительного ПО:
| Способ | Прошивка | Когда использовать |
|---|---|---|
| Hardware Bridge (COM-порт) | GRBL, Marlin | Станок подключён по USB, нет локальной сети |
| OctoPrint HTTP API | Marlin | Уже используется OctoPrint для 3D-печати |
| SSH (OctoPi) | Marlin | Есть Raspberry Pi с OctoPrint, нужен прямой доступ к системе |
| MQTT | Любая | Если станок уже подключён к промышленному MQTT-брокеру |
В большинстве случаев достаточно Hardware Bridge — он скачивается из дашборда ASI Biont и работает как мост между COM-портом и AI-агентом.
Практический пример: GRBL + датчик температуры + Telegram
Допустим, у вас есть фрезерный станок с GRBL на Arduino и датчик температуры шпинделя (термистор или DS18B20). Задача: следить за температурой в Telegram и получать уведомление о завершении работы.
Шаг 1. Настройка Hardware Bridge
- Скачайте
bridge.pyиз дашборда ASI Biont (раздел «Устройства»). - Подключите Arduino к компьютеру, определите COM-порт (например, COM5).
- Запустите bridge:
python bridge.py --token=ВАШ_ТОКЕН --ports=COM5 --baud 115200 --rate=10
Параметр --rate=10 — частота опроса порта в Гц. Если станок отвечает медленно, снизьте до 2–5.
Шаг 2. Отправка G-code через AI-агента
Теперь в чате ASI Biont можно написать: «Отправь на станок G01 X10 Y10 F300». AI сгенерирует код интеграции, который выполнит industrial_command с протоколом serial:
import json
from bridge_api import industrial_command # встроенная функция bridge.py
# Отправка G-code и получение ответа станка
response = industrial_command(
protocol="serial",
device="COM5",
baud=115200,
command="G01 X10 Y10 F300\n",
timeout=2000
)
print(json.dumps(response, ensure_ascii=False))
Ответ от GRBL приходит в виде ok или сообщений error: XX. AI-агент сам обработает ошибку и предложит решение — например, проверить концевики или уменьшить ускорение.
Шаг 3. Чтение температуры и отправка уведомления
Для чтения датчика температуры, подключённого к Arduino, можно использовать второй COM-порт или встроенный термистор Marlin. Через ASI Biont это делается так:
import requests
# Читаем температуру через команду GRBL (если датчик опрашивается контроллером)
status = industrial_command(protocol="serial", device="COM5", command="?", timeout=1000)
temp = status.get("temp", 25) # в реальности парсим ответ
# Отправляем уведомление в Telegram через официальный Bot API
requests.post(
"https://api.telegram.org/bot<TOKEN>/sendMessage",
json={"chat_id": "<CHAT_ID>", "text": f"Температура шпинделя: {temp}°C"}
)
Обратите внимание: в bridge нет встроенной функции для Telegram — используется обычный HTTP-запрос к api.telegram.org.
Автоматизация: как это работает в реальности
Приём заданий через чат
AI-агент может принимать файл с чертежом, конвертировать его в G-code (через библиотеку cam или внешний постпроцессор) и отправлять на станок одной командой.
Контроль температуры шпинделя
Периодически опрашивая станок, ASI Biont сравнивает температуру с нормой. Если она превышает критическую — автоматически снижает подачу (отправляет G1 F... с меньшей скоростью) и уведомляет оператора.
Уведомление о завершении фрезеровки
AI-агент следит за очередью команд. Когда G-code выполнен полностью, он отправляет сообщение «Работа завершена» с фото (если подключена камера) или просто текстом.
Подключение к любому устройству через execute_python
Самое мощное в ASI Biont — то, что вам не нужно ждать готовых драйверов. Если станок работает по нестандартному протоколу, просто опишите в чате: «Подключись к IP 192.168.1.50, порт 23, используй протокол Telnet и отправь команду X». AI сам напишет Python-скрипт с использованием pyserial, paramiko, paho-mqtt или socket и выполнит его в песочнице.
Пример для OctoPrint (Marlin):
import requests
# Используем HTTP API OctoPrint
api_key = "ВАШ_API_KEY"
headers = {"X-Api-Key": api_key}
r = requests.post(
"http://octopi.local/api/printer/command",
json={"command": "G28"},
headers=headers
)
print(r.status_code)
Пользователь описывает только параметры (IP, порт, API-ключ), остальное AI делает сам.
Почему это выгодно
Раньше интеграция станка с умным помощником требовала написания десятков строк кода, настройки веб-серверов и покупки дополнительных контроллеров. С ASI Biont это превращается в диалог: вы говорите, что нужно, — и получаете работающее решение через минуту. AI экономит часы на отладке протоколов и позволяет сосредоточиться на инженерии.
Заключение
Интеграция CNC-станков с AI-агентом открывает новые возможности для автоматизации производства: от удалённого мониторинга до полностью автономной работы. GRBL и Marlin — только начало: с ASI Biont можно подключить любой контроллер, робота или датчик.
Попробуйте сами — переходите на asibiont.com, скачайте bridge, подключите свой станок и увидите, как привычный фрезер превращается в умного робота.
Полезные ссылки:
- GRBL на GitHub
- Документация Marlin
- OctoPrint API
Комментарии