KREMEN Реклама
KREMEN Реклама

QIDI Box: RFID-метки для филаментов — полный гайд

alligator77
Идет загрузка
Загрузка
03.03.2026
99
0
Техничка

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

0
Статья относится к принтерам:
QIDI Q2 Combo

QIDI Box: RFID-метки для филаментов — полный гайд

Если у вас есть принтер Q2 и QIDI Box и вы хотите использовать сторонние филаменты с автоматическим определением — эта статья для вас.

Разберём структуру RFID-меток, как их записывать и как настроить QIDIStudio для работы с кастомными прутками.

Правовой дисклеймер:

Все изменения вы вносите на свой страх и риск. Статья исключительно в образовательных целях, автор не несет ответственности за использование сведений из статьи, как и программного обеспечения представленного в статье. Все предоставляется "AS IS" (как есть).

Все манипуляции производились на версии прошивки Q2 v1.1.1

  

Как это работает

QIDI Box считывает RFID-метку на катушке и определяет три параметра:

  • - Тип материала (PLA, PETG, ABS, PA6-CF20 и т.д.)
  • - Цвет
  • - Производитель

Эти данные передаются в QIDIStudio при синхронизации и автоматически подбирают нужный профиль печати.

 

Какие метки нужны

- Тип:  MIFARE Classic 1K (совместимые)

- Протокол:  ISO/IEC 14443-A

- Частота: 13.56 MHz 

Обычные NFC-метки не подойдут. NTAG213, NTAG215 и подобные — это другой стандарт. Нужны именно MIFARE Classic 1K, продаются как стикеры на Ozon.

 

Где в Box находится ридер

RFID-считыватель как показали эксперименты, расположен в двух крайних выступах между слотами. По-этому у бобины метка-стикер должна быть наклеена на левую и правую стороны. Исходя из этого, неизвестно в какой слот вы установите катушку. Ничего не поделать, придется клеить на каждую сторону.

Я сделал проще, так как 1 метка примерно 16р из китая, то можно забить. но жаба таки душит выбрасывать катушку с работающей меткой и к тому же перезаписываемой, я напечатал пластиковый бокс, который можно потом отодрать и вынуть метку, а потом все по новой ) Эдакий "cap" толщиной 0,6, который потом не жалко будет раскурочить и достать метку

QIDI Box: RFID-метки для филаментов — полный гайд

  

Структура данных на метке

Данные записываются в **Sector 1, Block 0** (абсолютный блок #4). Полный блок — 16 байт:

XX YY ZZ 00 00 00 00 00 00 00 00 00 51 49 44 49
Номер байта Что этоОткуда брать значение
0Тип материалаНомер [fila{N}] секции из officiall_filas_list.cfg
1ЦветИндекс из `[colordict]`
2ПроизводительID из `[vendor_list]`
3–11РезервНули 
12–15Сигнатура51 49 44 49 = ASCII "QIDI"

 

Сигнатура `QIDI` необязательна, но рекомендуется — с ней точно работает. Значения записываются в hex. Например, десятичное 51 = `0x33`.

  

Справочник кодов

Сам справочник находится в конфигах клипера, файл officiall_filas_list.cfg, сделайте бекап перед изменениями.

На самом деле справочник вы можете набрать по своему желанию, главное сохраняйте порядок и уникальность id. 

После каждого редактирования этого справочника, перезапускайте принтер полностью, вместе с боксом. Я пробовал перезапускать только клиппер, это не работает )

Мой справочник примерный такой:

Производители

QIDI Box: RFID-метки для филаментов — полный гайд

Палитра цветов

Менять палитру не рекомендую, и как правило это и не требуется.

QIDI Box: RFID-метки для филаментов — полный гайд

Типы материалов (частичный список)

Полный список — в файле `officiall_filas_list.cfg` на принтере. 

Вы можете добавлять свои по желанию, главное сохранять уникальность индексации, вот пример нескольких моих:

QIDI Box: RFID-метки для филаментов — полный гайд

  

Примеры записи RFID данных

Что записываемМатериалЦвет ВендорДанные
NIT PETG белый51 → `33`1 → `01`2 → `02`33010200000000000000000051494449
Polymaker PETG-CF17 чёрный54 → `36`2 → `02`4 → `04`36020400000000000000000051494449
PIC ABS-GF6 красный53 → `35`18 → `12` 5 → `05`35120500000000000000000051494449

Чем записывать метки

Android

BOX Rfid - (Андроид) модифицированое моё приложение от (QIDI-RFID) с добавленным функционалом подгрузки своего справочника кодов

QIDI-RFID  — (Андроид) специализированное приложение, но имеет дикий недостаток, нельзя подгружать кастомных вендоров и типы

MIFARE Classic Tool (MCT) — (Андроид) низкоуровневая читалка и писалка

 

Windows (нужен USB RFID writer: ACR122U или PN532)

BoxRFID — Electron-приложение, удобный GUI, импорт списка филаментов (проверял, но не шил, так как нет устройства)

Qidi_RFID_App — Rust/Tauri, кроссплатформенное (не проверял)

 

Что НЕ работает

NFC Tools — (Андроид) работает только с NDEF-записями, не умеет писать сырые данные в блоки MIFARE

 

Аутентификация Rfid меток

При работе с метками используются два ключа, но с заводским работает 100%:

Кастомный QIDI: D3 F7 D3 F7 D3 F7, Метки, ранее записанные через QIDI Box
Заводской MIFARE : FF FF FF FF FF FF , Чистые / новые метки

Приложения если и попросят ключи, то для записи пробуют оба ключа автоматически.

 

Настройка профилей в QIDIStudio

Чтобы синхронизация работала, в QIDIStudio должен быть профиль филамента с правильным `filament_id`.

Формат filament_id

QD_1_V_M

Пример:

Polymaker PA6-CF20 → vendor `4`, fila (материал) `56` → `QD_1_4_56`

 

Как создать профиль

Для упрощения всего этого головняка, накидал утилиту QidiStudio Profiler - сама прописывает системные профили и меняет id для Qidi Box. Все описание заморочек с профилями, как работает и что делает, прочитайте там же.

 

Box

И вот мы подобрались к самому боксу )

Есть один неприятный момент от самих Qidi 

QIDI Box: RFID-метки для филаментов — полный гайд

Суть проблемы определения производителя (vendor) по RFID

Производители коробки тут подложили с...

Принтер QIDI Q2 корректно определяет материал (byte 0) и цвет (byte 1) с RFID-метки, но производитель, всегда отображается как QIDI (code 1), независимо от записанного значения в метке в byte 2.

Дисклеймер

Все описание по патчу, я оформил в репе на гитхабе Qidi Q2 Issues . 

  

Причина

В прошивке принтера модуль `/home/mks/klipper/klippy/extras/box_rfid.so не читает byte 2 (vendor) из данных метки. Вместо этого значение vendor захардкожено:

filament = data[0] # byte 0 — материал норм
color = data[1] # byte 1 — цвет норм
# data[2] (vendor) — игнорит
self.stepper.box_extras.save_variable("vendor_...", 1)  # навсегда QIDI ))

 

Решение

Заменить либу box_rfid.so на пропатченный питон box_rfid.py, который читает vendor из byte 2. Сам `box_rfid.py` основан на реверсе из qidi-community/Plus4-Wiki.

  

Шаги

1. Подключиться к принтеру по SSH

ssh mks@чототам адрес
# пароль: makerbase

2. Важно! Сделать бэкап оригинала:

cp /home/mks/klipper/klippy/extras/box_rfid.so ~/box_rfid.so.bak

3. Скопировать пропатченный box_rfid.py на принтер:

scp ~/box_rfid.py mks@:/home/mks/klipper/klippy/extras/

4. Удалить box_rfid.so чтобы Klipper подхватил питоновскую версию:

sudo rm /home/mks/klipper/klippy/extras/box_rfid.so

5. Полностью перезагрузить принтер.

 

Суть патча

В файле box_rfid.py, в методе _schedule_rfid_read() добавлена переменная vendor и изменена установка этой переменной в variables

Откат

Если что-то пошло не так:

cp ~/box_rfid.so.bak /home/mks/klipper/klippy/extras/box_rfid.so
rm /home/mks/klipper/klippy/extras/box_rfid.py

Перезагрузить принтер

 

Важно помнить

  • После OTA-обновления прошивки QIDI файл `box_rfid.so` и `officiall_filas_list.cfg` вернутся в исходное состояние — патч нужно будет применить заново, а `officiall_filas_list.cfg` бекапте при каждом изменении.
  • Community-модуль `box_rfid.py` основан на реверсе из qidi-community/Plus4-Wiki. Немного допилен и проверен на живую на QIDI Q2 Box, все работает.
  • Пропатченный файл хранится в репозитории: Qidi Q2 Issues

Материал подготовлен на основе реверс-инжиниринга протокола QIDI Box, анализа логов, профилей и конфигов QIDIStudio и тестирования записи меток.

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

0
Комментарии к статье
Lider 3D Реклама
Lider 3D Реклама