Mining Tire Tracker
Одна покрышка карьерного самосвала стоит от $10 000 до $80 000. Крупный горнодобывающий автопарк — это сотни таких покрышек. При таких ценах мошенничество, досрочные списания и неучтённые замены стоят реальных денег, а большинство предприятий всё ещё ведёт учёт покрышек в таблицах или не ведёт вообще.
Проблема физическая. RFID-метки, встроенные в покрышки на производстве, считываются только вблизи стационарным ридером, а значит, каждое считывание требует остановки грузовика. Плановые инвентаризации проводятся пару раз в год и не видят ничего, что происходит между ними.
Мы написали прошивку, которая управляет реальным UHF-модулем. Плата STM32F103C8 “Blue Pill” общается с UHF RFID-модулем JRD-100/QM100 по UART, отправляя его бинарные командные кадры (0xBB...0x7E) для чтения аппаратной и программной версии, установки региона (Китай 900 МГц, Китай 800 МГц, США, ЕС, Корея), чтения и настройки мощности передачи, запуска одиночного считывания или массового чтения из памяти метки. Код разбирает ответные кадры модуля в строки EPC и RSSI и возвращает собственные коды ошибок по serial. Прошивка рассчитана на голый UHF-модуль на столе, а не на телефон или чехол.
Три варианта платы, ни один не собран. Мы развели три платы в EasyEDA, все на модуле ESP32-SOLO-1. Первая — ручной ридер с питанием от аккумулятора 18650 через контроллер заряда лития MCP73831, с преобразователем NCP1529 на радиочасти. Вторая использует тот же ESP32-SOLO-1 и ту же схему заряда, но по длине чуть больше половины первой платы и по форме рассчитана на установку внутрь чехла для телефона, а не в отдельный корпус. Третья заменяет ESP32 на Ethernet-контроллер Wiznet W5500 с разъёмом RJ45 и понижающим преобразователем TPS54331 — это стационарный ридер-шлюз, а не то, что носит с собой техник. Мы нашли схемы и топологии плат для всех трёх вариантов. Фотографий собранной платы мы не нашли — это неспаянные проекты, а не проверенное железо.
Приложение на React Native дошло до демо-экранов, но не до живых данных. В сентябре 2022 года мы сделали mems_uhf — приложение с двумя экранами: список сканеров, который подключается по классическому Bluetooth через react-native-bluetooth-classic, и экран с данными сканирования. Второй экран показывает карточку с надписью “Belaz”, номером машины, пробегом, позицией покрышки и её пробегом — теми же полями, которые эта страница раньше обещала. Значения в карточке зашиты прямо в код компонента. Комментарий TODO в исходниках говорит забирать их из стора, когда сканер начнёт присылать реальные данные. Эта связка так и не была сделана, а четыре коммита за пять дней — это всё, до чего дошло приложение.
13 сентября 2022 года история приложения в git была перезаписана пустым README; код на React Native сохранился только в отдельной ветке master, оставшейся без слияния. В марте 2023 года другой инженер добавил прошивку STM32 поверх уже пустой ветки main. С тех пор ничего не выходило. Соседний репозиторий, отведённый под облачный бэкенд, так и не получил ни строки кода сверх стандартного шаблона GitLab.
Мы называем это статусом “отложено”, а не “активно”. То, что есть, не связано друг с другом: прошивка для голого UHF-модуля, три платы, ни одна из которых не собрана, и приложение, которое показывает моковую карточку вместо реального считывания. Чтобы вернуться к проекту, нужно выбрать одну плату, собрать и проверить её вместе с прошивкой STM32 или ESP32, подключить приложение к реальным данным меток вместо заглушки Belaz и начать бэкенд с нуля.