Автоотключение KINGROON KLP1 с помощью WiFi реле.
Добрый день!
Предлагаю решение для автоотключения принтера KINGROON KLP1 с помощью WiFi реле.
Я думаю, что это решение также подойдет для любого принтера, работающего на Klipper'е и Fluidd.
Почитал мануал по Remote API https://moonraker.readthedocs.io/en/latest/web_api/ , потыкал в принтер запросами вида http://192.168.1.186/printer/objects/query?print_stats, где 192.168.1.186 - IP адрес моего принтера в локальной WiFi сети.
При этом в ответе принтер присылает статус трёх видов:
1. "state": "standby", - после включения
2. "state": "printing", - при печати
3. "state": "complete",
Дело за малым, взял реле SonoffBasic и нарукожопил прошивку, которая анализирует статус принтера раз в минуту. Как только статус изменится с printing на complete, реле выключает питание принтера.
Запрос статуса:
const char * host = "192.168.1.186"; const uint16_t port = 80; const char * url = "/printer/objects/query?print_stats"; int klp_status(void) { WiFiClient client; if (!client.connect(host, port)) { return KLP_NOT_CONNECT; } client.print(String("GET ") + url + " HTTP/1.1\r\n" + "Host: " + host + "\r\n" + "User-Agent: ESP8266\r\n" + "Connection: close\r\n\r\n"); while (client.connected()) { String line = client.readStringUntil('\n'); if (line == "\r") { break; } } String line = client.readStringUntil('\n'); client.stop(); if (line.indexOf("state") == -1) { return KLP_NOT_STATE; } if (line.indexOf("standby") != -1) { return KLP_STANDBYE; } if (line.indexOf("printing") != -1) { return KLP_PRINT;} if (line.indexOf("complete") != -1) { return KLP_COMPLETE; } return KLP_UNKN_STATE; }
Обработка:
void loop(void){ static uint32_t oldT = KLP_QUERY_INTERVAL*10; int klp; server.handleClient(); if (do_button()) { oldKlp = 0; } if (millis() - oldT > KLP_QUERY_INTERVAL) { klp = klp_status(); if (klp == KLP_COMPLETE && oldKlp == KLP_PRINT) { digitalWrite(RELAY_PIN, !RELAY_ON); digitalWrite(LED_PIN, !LED_ON); } oldKlp = klp; oldT = millis(); } }
Еще больше интересных статей
Creality K1 - шестерни для печати мягкими филаментами
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Мне очень понрав...
Набор аксессуаров для Bambu Lab A1 AMS
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Решил поделится своим списком дополнений для A1, на 95% это мои м...
GCODE: Основы
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
GCODE: Плюшки от ПавлушкиПосле написания предыдущей...
Комментарии и вопросы
Тут надо только понимать что и...
Прикольная, лайк. Но с креплен...
Тот случай когда человек может...
Приветствую всех, вот такой де...
может кто кратко подсказать ка...
Добрый день, при печати ABS пл...
Хотел спросить как исправить н...