Хранение данных — внутренняя память, microSD и eMMC
У прибора два независимых хранилища:
- внутренняя флеш-память — есть всегда, хранит только архив точек;
- microSD-карта или eMMC — есть не на всех модификациях, хранит архив, фотографии, файлы геозон, скрипты, логи и любые пользовательские файлы.
eMMC — это распаянная микросхема памяти (по умолчанию 4 ГБ) вместо слота для карты. Для прибора и для команд это то же самое хранилище: всё, что написано ниже про microSD, так же работает и с eMMC.
Какие блоки есть в конкретном приборе, видно во вкладке Устройство — наведите курсор на код спецификации.
⚙ Открыть устройство
Место хранения архива
Заголовок раздела «Место хранения архива»Секция Трек → Архив:
Место хранения архива (ARCHIVE <0|1>) — откуда брать сохранённые данные
для отправки на сервер:
| Значение | Хранилище |
|---|---|
0 | внутренняя флеш-память |
1 | microSD-карта / eMMC |
Структура архива (FLASHARCHIVE 1,<0|1>) — порядок отсылки данных
из внутренней памяти на сервер:
| Значение | Порядок |
|---|---|
0 | сначала самые свежие записи, затем самые старые |
1 | в хронологическом порядке |
Порядок актуален только для внутренней памяти: при работе с microSD-карты выгрузка всегда хронологическая.
⚙ Архив
Изменение относительно старой документации. Раньше
FLASHARCHIVEпереключала архив между «статической» и «динамической» структурой. На 10, 7x и XS динамическая структура используется всегда (в архив пишутся только данные, выбранные для отправки на сервер), а первый параметр команды зафиксирован единицей — настраивается только порядок выгрузки.
Что именно попадает в архив, задаётся составом основного пакета в секции «Протокол» — см. «Настройка трека».
Распределение места на карте
Заголовок раздела «Распределение места на карте»Место на карте делится между тремя потребителями. Доли задаются в процентах
командой SDQUOTA:
SDQUOTA <индекс>,<процент>— задать долю:0— архив,1— сборщик архивов,2— фотографии; значение 0…100.SDQUOTAбез параметров показывает текущее распределение.- Сумма всех долей не должна превышать 100 % — иначе прибор отвечает
sum must not exceed 100%и настройку не применяет.
Значения по умолчанию зависят от модификации прибора. На приборе с картой (или eMMC) и поддержкой режима точки доступа Wi-Fi бо́льшая часть места отдана сборщику архивов:
SDQUOTASDQUOTA: 0(Archive)-20%, 1(Collector)-60%, 2(Photo)-20%На остальных приборах сборщик места не занимает, а карта делится пополам между архивом и фотографиями:
SDQUOTASDQUOTA: 0(Archive)-50%, 1(Collector)-0%, 2(Photo)-50%Индекс 1 настраивается не везде. Доля сборщика архивов существует только на приборах с режимом точки доступа Wi-Fi. На остальных она равна нулю и не сохраняется: команда
SDQUOTA 1,20там не даст эффекта — это не неисправность прибора. Всё место в этом случае распределяйте между индексами0и2.А на приборе без карты и без eMMC квот нет вообще. Если носитель не предусмотрен модификацией, ни одна из трёх долей не заводится в конфигурации: раздел квот в конфигураторе будет пустым, а команда
SDQUOTA— бесполезной. Делить в этом случае нечего, весь архив живёт во внутренней флеш-памяти.
Состояние карты
Заголовок раздела «Состояние карты»SDINFOSDINFO: <идентификатор> FS:FAT32; Total:15200 MB; Free:14100 MB;Команда показывает файловую систему (FAT12/FAT16/FAT32/exFAT), общий и
свободный объём. Если карты нет, ответ — SD card is not present
(на приборах с eMMC — eMMC is not present).
| Команда | Действие |
|---|---|
MOUNT | смонтировать карту (ответы mounted, already mounted) |
UMOUNT | размонтировать перед извлечением (umounted, already umounted, umount error) |
MSD | режим USB-накопителя: карта отдаётся компьютеру как флешка |
JOURNALINGSD <0|1> | журналирование файловой системы |
READONLYSD | запрос режима «только чтение» (аппаратный, изменить нельзя) |
Извлекать карту на ходу не нужно:
UMOUNTкорректно завершает запись,MOUNTвозвращает карту в работу.
Форматирование
Заголовок раздела «Форматирование»Форматирование двухшаговое, чтобы его нельзя было выполнить случайно:
FORMATSDFORMATSD: format key: 4821
FORMATSD 4821FORMATSD: scheduledСначала запросите ключ командой без параметров, затем отправьте ключ
параметром. Форматирование выполняется при следующем удобном моменте —
все данные на карте будут удалены. На приборах с аппаратным режимом
«только чтение» команда отвечает denied.
Работа с файлами
Заголовок раздела «Работа с файлами»| Команда | Действие |
|---|---|
FSLIST <путь>[,<часть>] | список содержимого каталога; длинный список отдаётся частями |
FSLIST2 <путь>[,<глубина>] | рекурсивный список с заданной глубиной вложенности |
FSDELETE <имя> | удалить файл или каталог по полному пути |
FSMOVE <источник>,<приёмник>[,<true|false>] | переместить или переименовать файл/каталог; третий параметр true разрешает затереть занятое имя приёмника |
Завершающий слэш в путях можно не убирать — прибор отбрасывает его сам,
/Arc/ и /Arc для него одно и то же.
FSDELETE /Geofences/zones.kmlFSDELETE: Success
FSMOVE /01,/02FSMOVE: SuccessОтветы, которые встречаются чаще всего:
| Ответ | Когда приходит | Что делать |
|---|---|---|
Success | операция выполнена | — |
File or dir doesn't exists | FSDELETE: по указанному пути нет ни файла, ни каталога | сверьте путь через FSLIST: он пишется полностью, от корня, и чувствителен к регистру |
Source name doesn't exists | FSMOVE: не найден источник (первый параметр) | то же — проверьте путь через FSLIST |
Destination name already exists | FSMOVE: имя приёмника уже занято, а перезапись не разрешена | выберите другое имя, удалите старое через FSDELETE или добавьте третьим параметром true |
Failed: <код> | путь найден, но сама операция не прошла | смотрите код в таблице ниже |
Failed — самый редкий из ответов: путь прибор уже нашёл, отказала файловая
система. Номер — код ошибки FatFS:
FSDELETE /Arc/Collector/0080C25E2C11FSDELETE: Failed: 7Чаще всего это 7 — попытка удалить непустой каталог: сначала удалите
содержимое, потом сам каталог.
| Код | Ошибка | Что означает |
|---|---|---|
| 0 | FR_OK | успешно |
| 1 | FR_DISK_ERR | ошибка низкого уровня ввода/вывода |
| 2 | FR_INT_ERR | не удалось получить подтверждение |
| 3 | FR_NOT_READY | физический диск не работает |
| 4 | FR_NO_FILE | файл не найден |
| 5 | FR_NO_PATH | путь не найден |
| 6 | FR_INVALID_NAME | недопустимый формат имени пути |
| 7 | FR_DENIED | доступ запрещён или каталог не пуст |
| 8 | FR_EXIST | объект уже существует |
| 9 | FR_INVALID_OBJECT | некорректный объект файловой системы |
| 10 | FR_WRITE_PROTECTED | носитель защищён от записи |
| 11 | FR_INVALID_DRIVE | неверный номер устройства |
| 12 | FR_NOT_ENABLED | рабочая область тома не выделена |
| 13 | FR_NO_FILESYSTEM | корректная файловая система не найдена |
| 14 | FR_MKFS_ABORTED | форматирование прервано |
| 15 | FR_TIMEOUT | превышено время ожидания доступа к тому |
| 16 | FR_LOCKED | операция запрещена политикой блокировок |
| 17 | FR_NOT_ENOUGH_CORE | не удалось выделить память |
| 18 | FR_TOO_MANY_OPEN_FILES | слишком много открытых файлов |
| 19 | FR_INVALID_PARAMETER | некорректный параметр |
| 20 | FR_LOCKED_JRN | файл заблокирован журналом |
| 21 | FR_COMMIT_JRN_ERROR | ошибка фиксации журнала |
| 22 | FR_SYNC_DATA_JRN_ERROR | ошибка синхронизации данных журнала |
| 23 | FR_JRN_INIT_ERROR | ошибка инициализации журнала |
Чтобы прочитать или изменить содержимое файла (а не только удалить или переименовать), нужны алгоритмы EasyLogic — см. «Работа с содержимым файлов».
Загрузить и забрать файлы удалённо можно синхронизацией по WebDAV — «Удалённая синхронизация файлов».
⚙ Открыть команды
Архивирование файлов на карте
Заголовок раздела «Архивирование файлов на карте»Прибор умеет сам паковать и распаковывать архивы — это экономит место и трафик при выгрузке логов.
| Команда | Формат |
|---|---|
ZIP | ZIP <файл|каталог>,<имя архива>,<уровень сжатия 0…9> |
ZIPLIST | ZIPLIST <имя архива> — список содержимого в диагностику |
UNZIP | UNZIP <имя архива>,<каталог>[,<файл в архиве>] |
UNPACK | UNPACK <имя .gsz>,<имя результата> |
Операции выполняются в фоне: команда отвечает started, result will be shown in diag, а результат печатается в диагностике. Одновременно выполняется
только одна операция — иначе ответ another operation is already in progress.
Архив пишется во временный файл с суффиксом .tmp и переименовывается
только после успешного завершения: наличие целевого файла и есть признак
готовности.
⚙ Открыть диагностику
Самодиагностика карты
Заголовок раздела «Самодиагностика карты»Прибор считает ошибки работы с картой и при превышении порога может сам перезагрузиться. Секция Самодиагностика → SD:
| Параметр | Команда | Порог по умолчанию |
|---|---|---|
| Ошибки монтирования | SMARTATTRCFG403 0,<порог>,<сброс> | 1000 (≈ 100 с) |
| Ошибки монтирования журнала | SMARTATTRCFG404 0,<порог>,<сброс> | 1000 (≈ 100 с) |
| Ошибки тайм-аута | SMARTATTRCFG405 0,<порог>,<сброс> | 1000 (≈ 16 мин) |
| Ошибки закрытия файла | SMARTATTRCFG406 0,<порог>,<сброс> | 100 |
Второй параметр — разрешить перезагрузку прибора при достижении порога
(0/1, по умолчанию выключено). Порог ошибок закрытия файла равен числу
заблокированных файлов: при ошибке записи доступ к файлу блокируется
и повторные попытки не выполняются.
⚙ Открыть самодиагностику SD-карты
Систематические ошибки монтирования и тайм-аутов почти всегда означают
изношенную или несовместимую карту — замените её и проверьте SDINFO.
См. также: Настройка трека · Работа с содержимым файлов · Удалённая синхронизация файлов (WebDAV) · Геозоны · Экономия трафика и работа в роуминге