Sportiduino — первое знакомство

Как-то просматривая гостевую москомпаса, встретил сообщение об успешном проведении рогейна с системой электронной отметки SportIduino. Любопытство взяло верх и я нашел в интернете страницу Александра Воликова, посвященную как раз этой системе отметки.

Рис.1
Электронная отметка Sportiduino

Удивлению моему не было предела! Так совпало, что я заказал в китайском интернет-магазине несколько плат для Arduino  (совершенно для других целей – для гаража/дачи), и был очень удивлен, что электронная отметка SportIduino использует программное обеспечение Arduino (загрузчик, библиотеки и среду программирования Arduino). И у меня дома в наличии как раз были именно те модули Arduino, из которых я смог бы на макетной плате собрать прототип станции отметки! И к тому же в комплекте со считывателем RFID-RC522 у меня были две карточки (чипа). Грех было не воспользоваться такой возможностью.

Собрал на макетной плате прототип станции отметки (см.рис.2).

Рис.2
Прототип станции отметки Sportiduino, собранный на макетной плате

Отмечу разу, что это именно прототип – нет корпуса, питания от батареек, светодиода и пищалки. Но зато есть подключение к компьютеру через USB с возможностью отправлять туда отладочные сообщения.

Связался по почте с Александром Воликовым (автор проекта Sportiduino) и попросил у него прислать мне ссылку на старую версию Sportiduino. Программное обеспечение текущей версии 1.2.0 расчитано на работу с чипами NTAG216, а у меня в наличии есть только две карты MIFARE CLASSIC 1K. Одна в формате банковской карты (см.рис.2), а другая в формате брелка для ключей (см.рис.1).

Александр любезно прислал мне ссылку на версию, работающую с чипами MIFARE CLASSIC 1K, и я приступил к экспериментам. Но прежде я слегка подправил программу станции отметки: добавил в нее вывод отладочных сообщений и сделал инкремент (увеличение на 1) номера станции после каждой отметки чипа. Программа в станции отметки проверяет номер станции из последней отметки чипа (с номером станции), и, если эти номера совпадают, то станция пищит и мигает светодиодом (как при нормальной отметке), но … запись повторной отметки в чип при этом не делается. А мне это не интересно.

Повторюсь, я сделал (только для отладочных целей, имея в наличии единственный прототип) увеличение номера станции на 1 после каждой отметки, что позволило мне на единственной станции отметки записывать в чип каждую отметку. Привожу скриншот  (см.рис.3) с отладочной информацией, которую выдает прототип станции отметки (после каждой отметки):

Рис.3
Отладочные сообщения, выдаваемые прототипом станции отметки

Теперь перейду к экономической составляющей. Александр Воликов пишет, что себестоимость станции отметки составляет … 500 рублей. Надо понимать, за эти деньги Вы не сможете купить готовую станцию. Это только стоимость комплектующих, плюс еще надо заморачиваться с размещением заказа (в Китае) на изготовление печатных плат, затем их надо спаять, прошить, настроить, собрать. Но под лежачий камень вода не течет…

Плюс это открытый проект. Сейчас в этом проекте лично мне не совсем нравятся следующие вещи:

  • Нет нормального лога отметки в памяти станции. Сейчас в памяти станции сохраняется только факт отметки (1 бит на каждый чип) и то только для чипов с номерами не более 1500. Например, в памяти станции SportTime сохраняется номер станции, дата/время отметки, номер чипа, тип чипа. Всего станция SportTime может хранить немногим более 7000 таких отметок. Чтобы подобное реализовать в Sportiduino, необходимо усложнить схему – добавить микросхему FLASH или EEPROM памяти, но это приведет к удорожанию станции, увеличенному энергопотреблению;
  • Управление базовыми станциями (установка времени, номера станции и т.п.) сейчас делается только через мастер-чипы. В той же SportTime есть режим удалённой станции, когда станция отметки (удалённая станция) кладется сверху на станцию считывания (которая подключена к компьютеру через USB) и из компьютера на удалённую станцию посылаются команды (установка номера станции, синхронизация времени, считывание лога станции и т.п.);
  • Нет возможности online-трансляции отметки. Напрашивается добавление в схему станции отметки (можно опционально) модуля беспроводной передачи данных (блютуз или еще какой-нибудь), чтобы после отметки на станции эти данные (номер станции, номер чипа, дата/время отметки) были сразу же переданы. Например, на мобильник стоящего рядом контролера, а затем с этого мобильника на сайт онлайн-результатов (или сайт промежуточного сбора данных) в интернете. Например, хотя в SportTime нет беспроводной передачи данных, но считывающая станция (подключаемая к USB-порту компьютера) может быть переведена в режим станции отметки, и тогда после каждой отметки чипом эта станция отправляет в USB-порт пакет с данными отметки (номер станции, номер чипа, дата/время отметки), который затем можно обработать и использовать для online-трансляции.

Подведу краткие итоги:

Система электронной отметки Sportiduino – очень интересный и доступный (по финансам) проект. К тому же совершенно открытый. При этом по своим характеристикам (количество отметок на чипе) превосходящий другие системы электронный отметки. Например, на чипы NTAG216 можно записать примерно 215 отметок, на чипы MIFARE CLASSIC 1K – примерно 88 отметок, а на чипы MIFARE CLASSIC 4K поместится уже примерно 328 отметок! И стоимость чипов ниже как минимум на порядок! В китайских интернет-магазинах стоимость чипа в виде наклейки начинается от $0.10 за штуку (в партии от 500 штук). Можно найти продавца, который чип упакует в гибкий корпус с резинкой (примерно как чип SFR), цена такого чипа будет стартовать от $0.25 — $0.30 (за штуку).

Конечно, проект пока сыроватый, особенно в части обработки результатов на компьютере. Но ведь и Москва не сразу строилась… Я буду теперь с большим интересом наблюдать за этим проектом.