(фото из зарубежного проекта вместо текущего по просьбе безопасников)
До этого в России были внедрения электронных ценников в рознице (МАН, Магнит и так далее), но использовались устройства без сетевой связности, то есть нужно было ходить и обновлять их с помощью программатора либо выставлять на них цену кнопками, как на электронных часах. Плюс прошлые поколения ценников были с жидкокристаллическими дисплеями и суровым bluetooth, а новые — с e-ink и сильно переделанной версией IEEE 802.15.4 с поддержкой сна и невероятно экономичных по питанию транзакций. То есть прошлым надо было менять батарею раз в три-семь дней, а новые уже держат два года (по заявлению производителя, пока не было шанса проверить, но аналогичные устройства LORA мы начали использовать лет десять назад, и один-два года похоже на правду), причём год — это в секции холодильников, где аккумуляторы должны чувствовать себя зябко.
Собственно, я участвовал в одном из первых в России аналогичном проекте и потому хорошо представляю тот ад, который тогда творился. КРОК 15 лет занимается розницей, и мои коллеги тоже знают, что первые модели были, скорее, прототипами. Но всё равно даже те электронные ценники были лучше, чем резать бумагу и наклеивать скотчем с точки зрения скорости обновления цен в магазине после пересчёта базы на 300-400 позиций за ночь.
Новые ценники имеют управляющий сервер, который обновляет ценники мгновенно, как только в 1С или SAP поменялись цены. Точнее, лаг есть — он равен промежутку между сеансами связи оконечных устройств, но это не больше нескольких минут. Каждый ценник привязан к конкретному товару в базе и на полке.
Пока «накрыто» два крупных магазина федеральной розничной сети, там 79 тысяч ценников. Если этот проект проживёт полгода успешно, через год ждите такое почти по всей России — и наконец-то пропадут проблемы про «мы не успели переклеить» и «акция уже кончилась». Но, возможно, будут новые с тем, что в 18:30 алкоголь будет дороже, чем в 7:00.
Что за устройства
Каждый отдельный модуль представляет из себя экран e-ink с несколькими вариациями цветов (это не RGB, а, скорее, примерный аналог CGA) + управляющая плата + радиоустройство + две плоских батареи C2R2 (в ценниках больше батареи другие).
Больше деталей про ценники вот здесь.
Крышка с батареями меняется целиком, то есть можно поколупаться один раз в тёплой уютной админской, а потом уже выдать батареи человеку, который пойдёт менять их. Ну или можно выколупывать-выколупывать их на месте. Устройство умеет предупреждать про низкий заряд батареи примерно за три месяца, чтобы можно было заранее спланировать замену — в нашем случае это особенно важно, потому что при 79 тысячах устройств, включённых примерно одновременно, это примерный аналог инвентаризации в торговом зале по объёму труда. С предупреждением можно менять разом, а можно постепенно.
Вся логика лежит на специальном сервере, который получает, с одной стороны, XML с ценами и товарами, а с другой — находит ценник с нужным сетевым адресом (соответствующий товару) и пересылает ему новый XML с тем, что показывать. Сам ценник просто показывает то, что сказал ему сервер.
Радиомодуль
Используется протокол ZigBee. Это надстройка к IEEE 802.15.4, созданная специально для медленных IoT с низким потреблением питания. Особенности — очень устойчивая сеть с mesh-топологией (хотя у нас это больше похоже на просто звёзды до точек доступа), самовосстановление сети и гарантированная доставка пакетов, даже если устройство надолго выпало из сети или отказал один из опорных узлов. Большую часть времени радиомодуль спит, но иногда просыпается, ждёт апдейта и снова спит, если его нет. Диапазон 2,4–2,48 ГГц (стандарт позволяет и другие, но это базовый), заявленная скорость 250 Кбит/с в лабораторных условиях, фактическая — около 5–8 Кбит/с (это не сюрприз). Пакеты апдейта цены обычно как раз на секунду.
Архитектура выглядит так:
Снаружи откуда-то берутся данные о ценах (обычно из 1C-выгрузки), которые принимает управляющий сервер. Он смотрит на то, что нужно обновить, превращает это всё в команды конкретным устройствам, закрывает ключом и транслирует на точки доступа-гейтвеи. Устройства просыпаются, кушают апдейт и засыпают снова. Управляется всё это с мобильного телефона администратора магазина или отдельного компьютера в магазине, есть и удалённый доступ для админа.
Напомню, раньше в проектах таких ценников надо было ходить со специальным устройством и прикладывать его к каждому конечному устройству.
Расширенные возможности
Поскольку в ценнике есть управляющая плата, она имеет какую-никакую логику, и можно отправить не просто XML с ценой, но и с условиями. Например, с флагом акции (тогда ценник будет другого цвета) или со сроком действия цены, что даёт возможность делать динамический контент: например, ставить «--» на алкоголь ночью или менять цену товаров в течение дня по определённым условиям типа утренних скидок.
Если сильно заморочиться, то можно доукомплектовать ценники NFC и, скажем, на особой группе товаров, бытовой технике или алкоголе можно считать своим смартфоном эту метку и посмотреть какую-то более широкую информацию, если оно нам нужно.
На сервере тоже есть логика, и она может быть более сложной, — он может отправлять апдейты про акции хоть каждый час, причём можно ротировать цвет ценников и их стиль вместе с ценами, что позволяет очень быстро менять акции.
На сервере можно посмотреть сводку по устройствам — их уровень сигнала и уровень батареи на основании данных протокола.
Сам ценник можно брендировать по рамке под компанию, выбирая её цвет.
Как шло внедрение устройств
Основная масса устройств — ценники с экраном 2,9 дюйма с двумя батареями C2R2. Полностью процедура замены крышки с батареями занимает 25–40 секунд в зависимости от того, насколько вы опытны (и не обгрызли ли вы ногти). Предполагается, что после вставки батарей ценники себя находят в сети сразу и даже как-то базово определяют своё геометрическое положение относительно базовой станции.
В нашем случае порядка к 4-5 % пришлось подносить программатор (устройство ближнего радиодиапазона) и давать ребут. После такого пинка устройства находились сразу.
Полноценное радиообследование магазина не делали, но подозревали, что сложности будут на железных шкафах и в ряде мест с товарами хозназначения из металла. Диапазон выбирался между 1,9 до 5 ГГц, остановились на каналах чуть выше 2,4. На помехи им, в общем-то, плевать из-за протоколов доставки он-деманд, то есть по факту получения сообщения. А оно доставляется всегда, это тоже в протоколе. По-хорошему обследование на таких проектах нужно, это в перспективе означает меньшее энергопотребление оконечных устройств. У нас же была готовая карта расстановки, которую рекомендовал вендор на основе планировки магазина, но вендор до этого не знал, как у нас охраняют колбасу, поэтому в молочку и в мясной отдел мы понатыкали примерно в два раза больше точек. В прикассовой зоне устройства начали создавать помехи друг другу: там мелкие товары, большая плотность устройств, тоже пришлось раскидывать по диапазону шире.
Около двух тысяч ценников были размером побольше, среди прочего — 200 штук размером с лист А5. В магазине были заменены все без исключения ценники на электронные, кроме акционных на горках товара и в овощах — это где плакаты. Плакаты А4 и больше остались бумажные.
Весь немаленький магазин «накрыли» за пять дней:
- Затяжка кабелей (для точек доступа).
- Установка креплений.
- Установка самих точек доступа.
- Конфигурация сети и подключение оконечных устройств.
- Проверка работы, перезагрузка, где это требуется (почти везде!).
Но потом кое-что пошло не так.
Вендор поставил магазину ценники в состоянии с батареями на борту, а экспедировали долго и через что-то очень холодное. В итоге нужно было заменить примерно 95 % батарей, они находились в состоянии «осталось меньше трёх месяцев». То есть ценники работали, но батареи были нужны новые.
Завод предоставил гайдлайн, как демонтировать и складировать. Дальше мы так и делали. При этом важно помнить, что батарейки при соприкосновении могут произвести очень большую батарейку и воспламениться! Чтобы этого избежать мы складывали непригодные батарейки на улице в коробки, прокладывая внутри слоями полиэтилена.
Вся эта история означала, что на реализацию проекта нужно будет потратить ещё дополнительную неделю, которую потратили на подготовку и формирование плана работ, написание и обучение подрядчика инструкциям по замене, дальнейшей перезагрузке и проверке ценников, проведение инструктажей (магазин принял протокол и выставил 10–15 человек на замену батареек), собственно, замена батарейных модулей (ночное время или время низкого посещения магазина).
Следующей проблемой было то, куда утилизировать столько батареек. Спросили в Икее, возьмут ли они по своей программе, но быстро сходили лесом. Несмотря на экономические издержки, мы решили утилизировать правильно, бережно для экологии. Обратились в итоге к компании, занимающейся утилизацией АКБ в промышленном масштабе, — а у нас как раз вышло примерно 136 тысяч батареек, это три полных багажника.