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, который потом не жалко будет раскурочить и достать метку
Структура данных на метке
Данные записываются в **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.
После каждого редактирования этого справочника, перезапускайте принтер полностью, вместе с боксом. Я пробовал перезапускать только клиппер, это не работает )
Мой справочник примерный такой:
Производители
Палитра цветов
Менять палитру не рекомендую, и как правило это и не требуется.
Типы материалов (частичный список)
Полный список — в файле `officiall_filas_list.cfg` на принтере.
Вы можете добавлять свои по желанию, главное сохранять уникальность индексации, вот пример нескольких моих:
Примеры записи 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
Суть проблемы определения производителя (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 и тестирования записи меток.
Еще больше интересных статей
Qidi Q2 — Ремонт и «даунгрейд» во благо: замена тензодатчика на концевик
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Выравнивание стола наждачной бумагой / шкуркой
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Настраиваем прошивку Marlin и заливаем её в 3D принтер
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.







Комментарии и вопросы
ну вот нифига - ковыряйтесь в....
Его можно на роутере заблочить...
Жёсткость балки пропорциональн...
Мое почтение уважаемому сообще...
Какие настройки нужны чтобы Ор...
Ни с того ни с сего такое нача...
В читабоксе создает с огромный...