Введение: зачем подключать 3D-принтер к AI-агенту?
3D-печать давно перестала быть хобби для энтузиастов — сегодня это промышленный инструмент. Но даже на современных принтерах с прошивками Marlin или Klipper управление остаётся рутинным: нужно вручную запускать файлы, следить за температурой сопла и стола, реагировать на ошибки. А если у вас парк из 5-10 принтеров? Тогда каждый час простоя из-за заклинившего филамента или перегрева превращается в убытки.
AI-агент ASI Biont решает эту проблему. Он подключается к вашему 3D-принтеру через MQTT (для Klipper с Moonraker) или через COM-порт (для Marlin с Hardware Bridge) и позволяет управлять печатью прямо из чата. Вы пишете: «Останови печать, если температура сопла превысит 250°C», и AI сам реализует логику. Никаких панелей управления, никаких сложных скриптов — всё через диалог.
В этой статье я покажу, как подключить 3D-принтер к ASI Biont, настроить мониторинг температуры, отправлять G-Code команды и автоматизировать аварийные сценарии. Вы узнаете, почему это быстрее и надёжнее, чем писать код вручную.
Как ASI Biont подключается к 3D-принтеру?
ASI Biont поддерживает несколько способов интеграции. Для 3D-принтера оптимальны два:
| Способ | Устройство | Протокол | Что нужно настроить |
|---|---|---|---|
| Hardware Bridge + COM-порт | Принтеры с Marlin (USB-подключение) | Serial (G-Code) | bridge.py на ПК, COM-порт, baud rate |
| MQTT | Принтеры с Klipper + Moonraker | MQTT | MQTT-брокер, топики Moonraker |
Hardware Bridge для Marlin
Если ваш принтер использует прошивку Marlin (например, Creality Ender 3, Anycubic Mega S), он подключается к компьютеру через USB-COM порт. ASI Biont не может напрямую обращаться к COM-порту из облака — для этого используется Hardware Bridge.
Bridge — это Python-скрипт (bridge.py), который вы запускаете на своём ПК. Он соединяется с ASI Biont через WebSocket и передаёт команды на принтер. AI отправляет команду через industrial_command, bridge читает/пишет в COM-порт через pyserial.
Как это выглядит на практике:
- Вы скачиваете bridge.py из дашборда ASI Biont (Devices → Create API Key).
- Устанавливаете зависимости:
pip install pyserial requests websockets. - Запускаете bridge:
python bridge.py --token=ВАШ_ТОКЕН --ports=COM3 --baud=115200. - В чате с AI описываете подключение: «Подключись к 3D-принтеру на COM3, скорость 115200». AI отправляет команду
serial_write_and_read(data="G28\n")— принтер выполняет автономализацию.
MQTT для Klipper
Klipper — это более современная прошивка, которая работает на Raspberry Pi (или другом одноплатнике) и управляет принтером через Moonraker API. Moonraker поддерживает MQTT, что позволяет ASI Biont подключаться напрямую.
Как это работает:
- На Raspberry Pi с Klipper устанавливаете MQTT-брокер (например, Mosquitto).
- В конфиге Moonraker добавляете MQTT-топики (например,
printer/commandдля отправки G-Code). - В чате с AI пишете: «Подключись к MQTT-брокеру по адресу 192.168.1.100:1883, подпишись на топик printer/status». AI пишет Python-скрипт с paho-mqtt и выполняет его в sandbox.
Практический сценарий: мониторинг температуры и аварийная остановка
Давайте разберём конкретный кейс. У вас есть принтер с Klipper, и вы хотите, чтобы AI-агент:
- Каждые 10 секунд проверял температуру сопла.
- Если температура превышает 260°C (критично для PLA), отправлял команду M112 (аварийная остановка).
- Уведомлял вас в Telegram.
Шаг 1. Настройка MQTT на Moonraker
В файле moonraker.conf добавляем:
[mqtt]
address: 192.168.1.100
port: 1883
username: mqtt_user
password: mqtt_pass
status_objects: extruder, heater_bed
Теперь Moonraker публикует данные в топик printer/objects/status.
Шаг 2. Подключение к ASI Biont через чат
Вы пишете в чат ASI Biont:
«Подключись к MQTT-брокеру 192.168.1.100:1883, логин mqtt_user, пароль mqtt_pass. Подпишись на топик printer/objects/status. Если температура extruder превышает 260°C, опубликуй команду M112 в топик printer/command и отправь мне уведомление в Telegram.»
AI генерирует и выполняет Python-скрипт:
import paho.mqtt.client as mqtt
import requests
import json
BROKER = "192.168.1.100"
PORT = 1883
USER = "mqtt_user"
PASS = "mqtt_pass"
TELEGRAM_TOKEN = "YOUR_TOKEN"
CHAT_ID = "YOUR_CHAT_ID"
def on_message(client, userdata, msg):
data = json.loads(msg.payload.decode())
temp = data.get("extruder", {}).get("temperature", 0)
if temp > 260:
# Аварийная остановка
client.publish("printer/command", "M112")
# Уведомление в Telegram
text = f"⚠️ Авария! Температура сопла {temp}°C. Принтер остановлен."
requests.post(f"https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendMessage",
json={"chat_id": CHAT_ID, "text": text})
client = mqtt.Client()
client.username_pw_set(USER, PASS)
client.on_message = on_message
client.connect(BROKER, PORT, 60)
client.subscribe("printer/objects/status")
client.loop_start() # Не блокирует выполнение
Важно: sandbox ASI Biont имеет таймаут 30 секунд, поэтому мы используем loop_start(), а не loop_forever(). Скрипт выполняется в фоне и реагирует на события.
Шаг 3. Проверка
Через несколько минут после запуска AI сообщает: «Подключение установлено. Мониторинг активен. При превышении 260°C будет выполнена аварийная остановка и отправлено уведомление.»
Сценарий для Marlin через Hardware Bridge
Если у вас принтер с Marlin (например, Ender 3), процесс немного отличается. Вы запускаете bridge.py на ПК, а AI отправляет команды через industrial_command.
Пример команды для проверки связи:
industrial_command(protocol='serial', command='serial_write_and_read', params={'data': 'M105\n'})
Эта команда отправляет G-Code M105 (запрос текущей температуры) и возвращает ответ принтера (например, ok T:210.0 /240.0 B:60.0 /70.0).
Автоматизация: вы пишете в чат:
«Каждые 5 секунд проверяй температуру стола. Если она упадёт ниже 50°C, отправь команду M140 S60 (установить температуру стола 60°C) и предупреди меня в Telegram.»
AI генерирует скрипт для bridge (через industrial_command), который циклически читает данные и принимает решения. Важно: bridge не поддерживает бесконечные циклы напрямую — AI использует execute_python с paho-mqtt для подписки на топик bridge, куда тот публикует данные.
Какие ещё задачи можно автоматизировать?
| Сценарий | Команда G-Code | Условие | Результат |
|---|---|---|---|
| Автономализация перед печатью | G28 | По команде "начать печать" | Принтер готовится к работе |
| Остановка при сбое филамента | M600 | Детектор филамента сработал | Принтер паузится, AI уведомляет |
| Коррекция температуры | M104 S{temp} | Температура отклоняется от заданной | AI подстраивает нагрев |
| Плавное охлаждение после печати | M104 S0 + M140 S0 | По команде "завершить" | Принтер безопасно остывает |
| Мониторинг прогресса | M27 | Каждые 10 минут | AI сообщает % завершения |
Почему это выгодно?
Традиционный подход к автоматизации 3D-печати требует:
- Написания скрипта на Python с pyserial или paho-mqtt.
- Настройки планировщика задач (cron, systemd).
- Интеграции с Telegram или email через дополнительный код.
С ASI Biont вы просто описываете задачу на естественном языке. AI пишет весь код за секунды, выполняет его в sandbox и настраивает мониторинг. Не нужно ждать, пока разработчики добавят поддержку — подключайте любой принтер прямо сейчас.
Реальный пример: инженер из небольшой мастерской подключил 4 принтера с Klipper к ASI Biont за 15 минут. Теперь AI следит за температурой, останавливает печать при ошибках и отправляет отчёты в Telegram. Время простоя сократилось на 40%, потому что AI реагирует быстрее человека.
Заключение
Интеграция 3D-принтера с AI-агентом ASI Biont — это не футуристика, а рабочий инструмент. Вы можете:
- Управлять принтером через чат (отправить G28, изменить температуру).
- Автоматизировать мониторинг и аварийную остановку.
- Масштабировать управление на парк из десятков принтеров.
Попробуйте сами: зайдите на asibiont.com, создайте API-ключ, скачайте bridge.py (для Marlin) или настройте MQTT (для Klipper), и напишите в чат: «Подключи мой 3D-принтер». AI сделает всё остальное.
Комментарии