Введение: почему AI-агент для 3D-принтера — это не роскошь, а необходимость
Если вы когда-нибудь запускали 10-часовую печать, ложились спать, а утром находили на столе «паучье гнездо» из спутанного пластика и сломанный сопло, вы знаете цену автоматизации. 3D-печать — это процесс, который требует постоянного контроля: температура стола и хотэнда, адгезия первого слоя, засоры, обрывы нити и пресловутый «спагетти-эффект» (когда модель отрывается от стола, а принтер продолжает печатать в воздух). По данным сообщества OctoPrint, до 30% длительных печей заканчиваются браком из-за подобных сбоев.
Ручной мониторинг — удел энтузиастов, которые готовы сидеть у принтера сутками. Но что, если передать эту задачу AI-агенту? ASI Biont — это платформа, которая позволяет подключить любое устройство (от ESP32 до промышленного контроллера) к AI-ассистенту через чат. В этой статье я покажу, как интегрировать 3D-принтер на прошивке Marlin или Klipper с ASI Biont, используя SSH-подключение к Raspberry Pi (или другому одноплатнику) и Moonraker API. Вы узнаете, как AI-агент может мониторить температуру, детектировать ошибки по веб-камере и автоматически ставить печать на паузу — и всё это без написания единой строки кода вручную.
Как ASI Biont подключается к 3D-принтеру?
Платформа ASI Biont не имеет предустановленных драйверов для каждого принтера. Вместо этого она использует универсальный подход: execute_python. Это sandbox-окружение на сервере ASI Biont (Railway), где AI-агент может выполнять Python-скрипты с доступом к библиотекам, перечисленным в документации. Пользователь описывает в чате, к какому устройству подключиться, передаёт параметры (IP, порт, логин/пароль), и AI сам генерирует код интеграции.
Для 3D-принтера на Klipper (самая популярная современная прошивка) используется SSH-подключение через paramiko к Raspberry Pi, на котором работает Klipper. AI пишет скрипт, который:
- подключается к Pi по SSH,
- отправляет G-код через Moonraker API (HTTP-запросы к Klipper),
- читает статус принтера (температура, положение оси, прогресс печати),
- и, при необходимости, запускает скрипты компьютерного зрения для детекции ошибок.
Если у вас принтер на Marlin (без Klipper), AI может использовать Hardware Bridge — приложение bridge.py, которое запускается на вашем ПК и соединяется с ASI Biont через WebSocket. Bridge обеспечивает доступ к COM-порту принтера. AI отправляет команды через инструмент industrial_command(protocol='serial://', command='serial_write_and_read', data='...'), bridge преобразует их в G-код и отправляет в порт.
Сценарий 1: Мониторинг температуры и статуса печати через Telegram
Представьте: вы запустили печать сложной модели (12 часов, PETG, 240°C). Уходите на работу. В 14:00 AI-агент присылает в Telegram: «Температура хотэнда упала до 180°C — возможно, обрыв нити. Рекомендую поставить печать на паузу». Вы отвечаете: «Пауза». AI отправляет G-код M25 (пауза) через Moonraker API, и принтер останавливается до вашего возвращения.
Как это настраивается:
1. В чате с ASI Biont вы пишете: «Подключись к моему 3D-принтеру на Klipper. Raspberry Pi имеет IP 192.168.1.100, логин pi, пароль raspberry. Используй SSH.»
2. AI генерирует и выполняет скрипт на Python с paramiko. Вот пример кода, который AI может сгенерировать (не нужно писать вручную):
import paramiko
import json
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('192.168.1.100', username='pi', password='raspberry')
# Получение статуса через Moonraker API
stdin, stdout, stderr = ssh.exec_command('curl -s http://localhost:7125/printer/objects/query?extruder=target,temperature&heater_bed=target,temperature')
response = stdout.read().decode()
data = json.loads(response)
extruder_temp = data['result']['status']['extruder']['temperature']
bed_temp = data['result']['status']['heater_bed']['temperature']
print(f"Extruder: {extruder_temp}°C, Bed: {bed_temp}°C")
ssh.close()
- AI интерпретирует результат и, если температура выходит за пределы (например, extruder < 200°C при заданной цели 240°C), отправляет уведомление в Telegram через
requests.postкapi.telegram.org. - Если вы отвечаете «Пауза», AI отправляет команду
M25через Moonraker:
stdin, stdout, stderr = ssh.exec_command('curl -X POST http://localhost:7125/printer/gcode/script?script=M25')
Сценарий 2: Детекция «спагетти» через веб-камеру и автоматическая отмена печати
Этот сценарий требует веб-камеры, подключённой к Raspberry Pi. AI использует SSH для запуска Python-скрипта с OpenCV на самом Pi (не в sandbox, а через execute_python, который инициирует выполнение на удалённой машине).
Пример: AI анализирует видеопоток с камеры каждые 30 секунд. Если в кадре обнаруживается «спагетти» (нить, висящая в воздухе), AI отправляет команду M112 (экстренная остановка).
Код, который AI может сгенерировать и выполнить через SSH:
import cv2
import numpy as np
import paramiko
import requests
# Подключение к Pi
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('192.168.1.100', username='pi', password='raspberry')
# Запуск скрипта OpenCV на Pi (предполагается, что скрипт уже загружен)
stdin, stdout, stderr = ssh.exec_command('python3 /home/pi/detect_spaghetti.py')
output = stdout.read().decode()
if 'spaghetti_detected' in output:
# Отправляем M112 через Moonraker
ssh.exec_command('curl -X POST http://localhost:7125/printer/gcode/script?script=M112')
# Уведомление в Telegram
requests.post('https://api.telegram.org/bot<TOKEN>/sendMessage', json={'chat_id': '<CHAT_ID>', 'text': 'Обнаружен брак! Печать остановлена.'})
ssh.close()
Важно: ASI Biont не хранит ваши Telegram-токены — вы передаёте их в чате, и AI использует их только в рамках сессии.
Сценарий 3: Экономия филамента и времени с помощью AI-агента
По данным исследования All3DP, средний процент брака при домашней печати составляет 15-20%. Для PLA это означает потерю 50-100 граммов пластика на каждой неудачной модели. Если вы печатаете 10 моделей в месяц, это 0,5-1 кг филамента впустую (около 1500-3000 рублей). AI-агент, который детектирует ошибки на ранней стадии (первые 10 минут), может сократить брак до 5%, экономя до 75% потерянного пластика.
Как это работает:
- AI проверяет первый слой: через камеру или датчик Z-зонда (если есть). Если слой плохой — AI отправляет M0 (остановка) и уведомление.
- AI отслеживает среднюю температуру в комнате (если есть датчик DHT22 на ESP32, подключённый по MQTT) и корректирует температуру стола (G-код M140).
- AI ведёт лог всех печатей: время, потраченный филамент, ошибки. Эти данные можно выгрузить в Excel через библиотеку openpyxl (доступна в sandbox).
Сценарий 4: Удалённое управление через чат — никаких веб-интерфейсов
Одно из главных преимуществ ASI Biont — вы управляете принтером через обычный чат. Не нужно открывать OctoPrint, Fluidd или Mainsail. Просто пишете:
- «Подогрей стол до 60°C» → AI отправляет
M140 S60. - «Печать модели XYZ.gcode» → AI запускает
M23 XYZ.gcodeиM24. - «Какой статус?» → AI читает температуру, прогресс, время до конца.
Как подключить 3D-принтер к ASI Biont: пошаговая инструкция
- Получите API-ключ в дашборде ASI Biont (Devices → Create API Key). Скачайте bridge.py, если используете COM-порт (для Marlin). Для Klipper bridge не нужен.
- Опишите задачу в чате. Пример: «Подключись к моему 3D-принтеру на Klipper. Raspberry Pi с IP 192.168.1.100, логин pi, пароль raspberry. Используй SSH. Читай температуру каждые 30 секунд и отправляй в Telegram, если температура выходит за пределы 200-250°C.»
- AI выполнит интеграцию за секунды. Вы получите подтверждение и начнёте получать уведомления.
- Управляйте принтером через чат: ставьте паузу, меняйте температуру, запускайте новые файлы.
Почему стоит выбрать ASI Biont для автоматизации 3D-печати?
- Не нужно писать код. AI генерирует скрипты сам — даже если вы не знаете Python.
- Любое устройство. Подключайте не только принтеры, но и датчики, камеры, ESP32 — всё через execute_python.
- Экономия. Сократите брак до 5% и сэкономьте до 75% филамента.
- Доступность. ASI Biont работает на облачной платформе — не нужно держать ПК включённым 24/7.
Заключение
Интеграция 3D-принтера с AI-агентом ASI Biont — это не футуристика, а реальность, доступная каждому. Благодаря универсальному механизму execute_python и поддержке SSH, MQTT, COM-порта и Hardware Bridge, вы можете подключить любой принтер (Marlin, Klipper, даже самодельный на GRBL) и автоматизировать мониторинг, детекцию ошибок и управление. Попробуйте сами: опишите задачу в чате на asibiont.com, и AI-агент возьмёт управление вашим принтером на себя.
Комментарии