API SR-Nano

Взаимодействие с SIM Roulette
Термины и определения
Управляющие команды SIM Roulette SR-Nano-500/1000
СИМ-карты
Дорожки
Модем
SMS
Экран
Звук
Пульт
Переменные
Файлы
Управление макросами
Настройки
Мониторинг
Интеграция SIM Roulette в ваш проект


Видеообзор WEB-интерфейса SR-Nano



Варианты взаимодействия с SIM Roulette


1). Прямой ввод команды через терминал WEB-интерфейса SIM Roulette.

2). Формирование через WEB-интерфейс SIM Roulette списков команд (Макросов) и последующее их выполнение устройством.

3). GET или POST запрос к SIM Roulette вида http://XXX.XXX.XXX.XXX/port?data=token||step||command

XXX.XXX.XXX.XXX — IP-адрес SIM Roulette
|| — разделитель
token — кодовое слово заданное через WEB-интерфейс агрегатора
step — порядковый номер команды (шаг)

Важно! Шаг может быть любым в диапазоне 1 — 4294967295, при этом есть одно ограничение — 2 соседних шага не должны повторяться.

command — команда

Ответ SIM Roulette возвращает в текстовом виде. Пример: step#!#result
#!# — разделитель
step — ответ на запрос с номером (шагом)
data — результат выполнения команды (для большинства команд 1-удача, NULL-неудача), также, в зависимости от команды, это может быть число либо текст. 0 всегда кодируется как NULL.

Пример:
запрос: http://192.168.1.2/port?data=12345||123||sound:beep
Важно! При GET запросе параметр data в URL должен быть закодирован на стороне клиента функцией urlencode.
После кодировки URL должен выглядеть так: http://192.168.1.2/port?data=12345%7C%7C123%7C%7Csound%3Abeep
ответ: 122#!#1шаг_предыдущего_запроса#!#результат_выполнения_запроса

4). Обращение SIM Roulette к серверу (вашему WEB-сайту) с GET запросом по указанному в WEB-интерфейсе адресу.
Например, http://site.ru/sr/io.php

SIM Roulette передает GET-параметры:
step — ответ на запрос с номером (шаг)
data — результат выполнения команды
и получает с сервера следующую команду в виде текста: {data}step#!#command
Важно! {data} — необходимый префикс для того, чтобы Sim Roulette понимал что сервер возвращает корректные данные.

URL сервера указывается в WEB-интерфейсе либо задается командой server_url, частота обращения к серверу регулируется через WEB-интерфейс либо командой server_fr.

Термины и определения


Ответы SIM Roulette отдает асинхронно.
Каждый ответ содержит номер (шаг) команды.
Буфер ответов SIM Roulette динамический, может содержать результаты десятка команд.
0 всегда кодируется как NULL.
Большинство команд возвращают: 1 — удача, NULL — неудача.

Далее по тексту:
D — число
W — слово
X — числовые либо символьные данные
(в скобках) указывается необязательный параметр команды


Управляющие команды SIM Roulette SR-Nano-500/1000


Дорожки


В SR-Nano-500 8 дорожек, от 0 (A) до 7 (H). На дорожках расположены карты. На A — 100 карт, на B — 90, на C — 80, на D — 68, на E — 58, на F — 46, на G — 34, на H — 24.

В SR-Nano-1000 12 дорожек, от 0 (A) до 11 (M). На дорожках расположены карты. На A — 140 карт, на B — 130, на C — 120, на D — 110, E — 100 карт, на F — 90, на G — 80, на H — 68, на I — 58, на J — 46, на K — 34, на L — 24.


track:W — дорожка
W — параметр:

0-7(11) — переход к дорожке (от 0 (A) до 7 (H) для SR-Nano-500, от 0 (A) до 11 (M) для SR-Nano-1000), пример: track:3 ответ: 1выполнено 0ошибка
? — номер текущей дорожки пример: track:? ответ: 3номер текущей дорожки



СИМ-карты


card:W — выбор СИМ-карты
W — параметр:

A0-H23/L23 — порядковый номер карты (A0-A99,B0-B89,C0-C79,D0-D67,E0-E57,F0-F45,G0-G33,H0-H23 для SR-Nano-500;A0-A139,B0-B129,C0-C119,D0-D109,E0-E99,F0-F89,G0-G79,H0-H67,I0-I57,J0-J45,K0-K33,L0-L23 для SR-Nano-1000), пример: card:A12 ответ: 1выполнено 0ошибка
D — поиск и последующий выбор СИМ-карты по части телефонного номера от 1 цифры до полного номера без "+" (только в случае если SIM Roulette уже произвел сканирование и получил телефонные номера СИМ-карт), поиск ведется от текущей карты по всем картам и завершается предыдущей картой, пример: card:79001234 ответ: 1выполнено 0ошибка


card>next[:W] — выбор следующей СИМ-карты
W — необязательный параметр:

new — выбор следующей, отсутствующей в списке (сформированном при сканировании) карты, пример: card>next:new ответ: 1выполнено 0ошибка
D — поиск и выбор следующей СИМ-карты по части телефонного номера от 1 цифры до полного номера без "+" (только в случае если SIM Roulette уже произвел сканирование и получил телефонные номера СИМ-карт), поиск ведется от текущей карты до H23/L23 включительно, пример: card>next:79031234 ответ: 1выполнено 0ошибка


card>prev[:W] — выбор предыдущей СИМ-карты
W — необязательный параметр:

new — выбор предыдущей, отсутствующей в списке (сформированном при сканировании) карты, пример: card>prev:new ответ: 1выполнено 0ошибка
D — поиск и выбор предыдущей СИМ-карты по части телефонного номера от 1 цифры до полного номера без "+" (только в случае если SIM Roulette уже произвел сканирование и получил телефонные номера СИМ-карт), поиск ведется от текущей карты до H23/L23 включительно, пример: card>prev:79031234 ответ: 1выполнено 0ошибка


card>now — получение номера выбранной в данный момент СИМ-карты (A0-H23/L23).
пример: card>now ответ: A0номер карты 0карта не выбрана
Примечание: номер карты всегда в статус-строке на экране устройства и в WEB-интерфейсе.


card>discover — проверка наличия СИМ-карты в текущей ячейке диска
пример: card>discover ответ: 1карта есть 0карты нет


card>begin — отметка текущей СИМ-карты как первой в последующим цикле операций, в этом случае по окончании цикла, например, прохождения полного круга, программа будет остановлена перед этой картой
пример: card>begin ответ: 1выполнено 0ошибка


card>out:W — подведение карты (для ручного извлечения) к обозначенному стрелкой положению на дорожке (на экране при этом выводится буква дорожки с номером карты)
W — параметр:

A0-H23/M23 — порядковый номер карты (A0-A99,B0-B89,C0-C79,D0-D67,E0-E57,F0-F45,G0-G33,H0-H23 для SR-Nano-500;A0-A139,B0-B129,C0-C119,D0-D109,E0-E99,F0-F89,G0-G79,H0-H67,I0-I57,K0-K45,L0-L33,M0-M23 для SR-Nano-1000), пример: card:A12 ответ: 1выполнено 0ошибка



GSM-МОДЕМ


modem>connect — подключение контактов к текущей СИМ-карте
пример: modem>connect ответ: 1выполнено 0ошибка
Примечание: не работает до тех пор, пока не выбрана СИМ-карта. При подключении в статус-строке на экране устройства и в WEB-интерфейсе отображается соответствующая пиктограмма.
Важно! Всегда визуально проверяйте отключены (подняты) ли контакты при смене диска-контейнера. При необходимости быстро поднять контакты нажмите многофункциональную сенсорную кнопку.


modem>disconnect — отключение контактов от СИМ-карты
пример: modem>disconnect ответ: 1всегда
Примечание: происходит автоматически при любых механических операциях устройства


modem>outside — выдвижение контактов без проверки позиционирования (сервисная команда) new!
пример: modem>outside ответ: 1всегда
Важно! командой следует пользоваться ТОЛЬКО при техническом обслуживании агрегатора!


modem>inside — втягивание контактов (сервисная команда) new!
пример: modem>inside ответ: 1всегда


modem>on — включение модема
пример: modem>on ответ: 1всегда
Примечание: при включенном модеме в статус-строке на экране устройства и в WEB-интерфейсе отображается пиктограмма молнии


modem>off — выключение модема
пример: modem>off ответ: 1всегда
Примечание: происходит автоматически при любых механических операциях устройства


modem>status[:W] — получение статуса модема
пример: modem>status ответ: 1питание включено, контакты подключены 0питание выключено или контакты не подключены
W — необязательный параметр:

:power — статус питания модема, пример: modem>status:power ответ: 1включено 0выключено
:connect — статус подключения контактов, пример: modem>status:connect ответ: 1подключены 0не подключены


modem>activation[:bool] — подключение к СИМ-карте и активация модема с проверкой new!
:bool — необязательный параметр при добавлении которого ответ упрощается до 1 (True) / NULL (False). Успешными считаются статусы 1 и 5.
примеры: modem>activation ответ: 1;9;MTSуспешный статус подключения к сети;затраченное время в секундах;оператор 4;7ошибка подключения к сети;затраченное время в секундах
modem>activation:bool ответ: 1выполнено 0ошибка Примечание: не работает до тех пор, пока не выбрана СИМ-карта. Подключение/переподключение и включение модема осуществляется автоматически. подробнее о статусах


modem>set:step — количество шагов привода контактной группы, необходимое для поднятия/опускания контактов / modem>set:step=D — задать количество шагов
примеры: modem>set:step ответ: 1900текущее количество шагов
modem>set:step=2000 ответ: 2000установленное количество шагов


modem>set:rate — скорость порта для обмена данными с модемом / modem>set:rate=D — задать битрейт
примеры: modem>set:rate ответ: 115200текущий битрейт
modem>set:rate=57600 ответ: 57600установленный битрейт


modem>set:mode — режим работы модема pdu/txt / modem>set:mode=pdu — задать режим
примеры: modem>set:mode ответ: pduтекущий режим
modem>set:rate=txt ответ: txtустановленный режим
Примечание: информация о текущем режиме работы модема нужна агрегатору для обработки некоторых команд взаимодействующих с модемом


modem>send:AT… — передача команды модему (таким образом модему передаются стандартные AT-команды)
пример: modem>send:ATD+79001234567; ответ: 1всегда
Обратите внимание: все команды начинающиеся с префикса AT агрегатор перенаправляет модему и конструкция modem>send: не обязательна.
Примечание: ответы модема приходят асинхронно со Step (шагом) 0


modem>sms:D — пакетное получение всех SMS с СИМ-карты
D — 0-выбирать все SMS, 1-только не прочитанные, 2-прочитанные, 3-не отправленные, 4-отправленные
пример: modem>sms:0 ответ:## 30,0,"MTS",83
[текст SMS]#3#5##E#3### — разделитель, 30 — номер ячейки памяти SIM-карты, 0 — SMS не прочитана, "MTS" — отправитель, 83 — длина сообщения ...


modem>download:URL;FILE[;SIZE] — скачивание файла с WEB-сайта и загрузка в память модема (для модемов с поддержкой соответствующего функционала, например SIM800) new!
пример: modem>download:sim-roulette.com/download/voice.amr;C:\User\voice.amr; ответ: 1выполнено 0ошибка



SMS


sms>discover — проверка наличия SMS на СИМ-карте
пример: sms>discover ответ: 1есть 0нет


sms>read — копирование одного SMS (простого или составного) в буфер и удаление его с СИМ-карты
пример: sms>read ответ: 1SMS скопировано 0SMS нет


sms>send:X;W — отправка SMS
X — номер абонента
W — текст SMS (латинские/русские символы распознаются автоматически)
пример: sms>send:+79001234567;Текст SMS ответ: 1SMS отправлено 0ошибка синтаксиса команды
Примечание: команда позволяет отправлять одинарные SMS


sms>send>buffer — отправка SMS из буфера (номер;текст)
пример: sms>send>buffer ответ: 1SMS отправлено 0ошибка синтаксиса в буфере


sms>clear — удаление всех SMS с СИМ-карты
пример: sms>clear ответ: 1всегда



БУФЕР


Текстовый буфер устройства — мощный инструмент для анализа входных данных, формирования выходных данных и команд.


buffer>clear — очистка буфера
пример: buffer>clear ответ: 1всегда


buffer>view — вывод содержимого буфера в выходной поток, для формирования таблиц можно использовать bbcode: [table][tr][th][thc[thr][td][tdc][tdr]
пример: buffer>view ответ: ...содержимое буфера 0буфер пуст


buffer>raw — вывод содержимого буфера в выходной поток без обработки bbcode
пример: buffer>raw ответ: ...содержимое буфера 0буфер пуст


buffer>display — вывод содержимого буфера на дисплей устройства (в зависимости от объема данных устройство само настроит размер шрифта и, если нужно, постраничный вывод)
пример: buffer>display ответ: 1всегда


buffer>write=W — ввод новых данных в буфер
пример: buffer>write=Значение A: {a} ответ: 1всегда
Важно! Для подстановки значения переменной используется конструкция {a}, {b} и т.д., для подстановки символа {32}, {147} и т.д.


buffer>prefix=W — ввод данных, которые дополнят текущий текст спереди
пример: buffer>write=Начало строки{32} ответ: 1всегда
Важно! Для подстановки значения переменной используется конструкция {a}, {b} и т.д., для подстановки символа {32}, {147} и т.д.


buffer>postfix=W — ввод данных, которые дополнят текущий текст сзади
пример: buffer>write= конец строки ответ: 1всегда
Важно! Для подстановки значения переменной используется конструкция {a}, {b} и т.д., для подстановки символа {32}, {147} и т.д.


buffer>push — сохранение содержимого буфера в стеке (памяти устройства)
пример: buffer>push ответ: 1в буфере есть данные 0буфер пуст


buffer>pop — восстановление содержимого буфера из стека
пример: buffer>pop ответ: 1в буфере есть данные 0буфер пуст


buffer>swap — обмен местами содержимого буфера и сохраненной в стеке копии буфера
пример: buffer>swap ответ: 1в буфере есть данные 0буфер пуст


buffer>merge[=W] — склеивание буфера и сохраненной копии буфера из стека (результат остается в буфере)
W — необязательный параметр, текст, который будет добавлен между склеиваемыми частями
пример: buffer>merge={13}{10} ответ: 1всегда
Важно! Для подстановки значения переменной используется конструкция {a}, {b} и т.д., для подстановки символа {32}, {147} и т.д.


buffer>ussd — копирование в буфер последнего полученного модемом ответа на USSD-запрос (он хранится в отдельном USSD-потоке)
пример: buffer>ussd ответ: 1в буфере есть данные 0буфер пуст


buffer>ussd>clear — очистка USSD-потока
пример: buffer>ussd ответ: 1всегда


buffer>time — дополнение буфера текущим временем (HH:MM)
пример: buffer>time ответ: 1всегда


buffer>date — дополние буфера текущей датой (DD.MM.YYYY)
пример: buffer>date ответ: 1всегда


buffer>timestamp — запись в буфер внутреннего штампа времени (в секундах от 01.01.2000)
пример: buffer>timestamp ответ: 1всегда


buffer>fs>save>file:W — сохранение содержимого буфера в файл
пример: buffer>fs>save>file:/buffer.txt ответ: 1выполнено 0ошибка


buffer>fs>write>file:W — дописывание в файл содержимого буфера
пример: buffer>fs>write>file:/buffer.txt ответ: 1выполнено 0ошибка


buffer>fs>load>file:W[;D] — чтение содержимого файла в буфер
D — не обязательный параметр, считывание в буфер не всего файла, а только указанной строки
пример: buffer>fs>load>file:/buffer.txt;3 ответ: 1в буфере есть данные 0буфер пуст


buffer>fs>save>operator — запись содержимого буфера в параметр "Оператор" -> в строку текущей СИМ-карты -> в конфигурационный файл текущей дорожки (/c/_имя_диска_/_дорожка_)
пример: buffer>fs>save>operator ответ: 1выполнено 0ошибка


buffer>fs>load>operator — чтение параметра "Оператор" из конфигурационного файла в буфер
пример: buffer>fs>load>operator ответ: 1в буфере есть данные 0буфер пуст


buffer>fs>save>phone — запись содержимого буфера в параметр "Номер телефона" -> в строку текущей СИМ-карты -> в конфигурационный файл текущей дорожки
пример: buffer>fs>save>phone ответ: 1выполнено 0ошибка


buffer>fs>load>phone — чтение параметра "Номер телефона" из конфигурационного файла в буфер
пример: buffer>fs>load>phone ответ: 1в буфере есть данные 0буфер пуст


buffer>fs>save>balance — запись содержимого буфера в параметр "Баланс" -> в строку текущей СИМ-карты -> в конфигурационный файл текущей дорожки
пример: buffer>fs>save>balance ответ: 1выполнено 0ошибка


buffer>fs>load>balance — чтение параметра "Баланс" из конфигурационного файла в буфер
пример: buffer>fs>load>balance ответ: 1в буфере есть данные 0буфер пуст


buffer>fs>save>comment — запись содержимого буфера в параметр "Комментарий" -> в строку текущей СИМ-карты -> в конфигурационный файл текущей дорожки
пример: buffer>fs>save>comment ответ: 1выполнено 0ошибка


buffer>fs>load>comment — чтение параметра "Комментарий" из конфигурационного файла в буфер
пример: buffer>fs>load>comment ответ: 1в буфере есть данные 0буфер пуст


buffer>sim>save>phone — запись содержимого буфера в 1 ячейку с именем "SR" телефонной книги текущей SIM-карты
пример: buffer>sim>save>phone ответ: 1выполнено 0ошибка


buffer>sim>load>phone — чтение в буфер номера из 1 ячейки с именем "SR" телефонной книги текущей SIM-карты
пример: buffer>sim>load>phone ответ: 1в буфере есть данные 0буфер пуст


buffer>modem:grab=D — включение (1) / отключение (0) захвата ответов модема в буфер
примеры: buffer>modem:grab=1 ответ: 1захват ответа модема включен
buffer>modem:grab=0 ответ: 0захват ответа модема выключен


buffer>answer:grab=D — включение (1) / отключение (0) захвата ответов устройства в буфер
примеры: buffer>answer:grab=1 ответ: 1захват ответа устройства включен
buffer>answer:grab=0 ответ: 0захват ответа устройства выключен


buffer>find:W — поиск в буфере комбинации символов, замена содержимого буфера на найденный фрагмент
W — поисковая строка:
* — заменяет любое количество произвольных символов, пример: buffer>find:баланс* — если в строке буфера содержится слово "баланс", в буфере останется текст от слова "баланс" до конца строки, ответ: 1найдена искомая строка 0совпадений нет
[dD] — поиск числа с заданным (D) количеством цифр, пример: buffer>find:[d10] ответ: 1найдено 10-значное число 0ничего не найдено — если число найдено, то в буфере останется только оно
[sD] — выборка заданного (D) количества символов сначала строки или (-D) с конца (русские символы занимают 2 байта), пример: buffer>find:[s10] — в буфере останутся только первые 10 символов, ответ: 1выполнено 0не выполнено


buffer>test:W — проверка наличия в буфере комбинации символов
W — поисковая строка:
* — заменяет любое количество произвольных символов, пример: buffer>test:баланс* ответ: 1найдена искомая строка 0совпадений нет
[dD] — проверка наличия числа с заданным (D) количеством цифр, пример: buffer>test:[d10] ответ: 1найдено 10-значное число 0ничего не найдено
[sD] — выборка заданного (D) количества символов сначала строки или (-D) с конца (русские символы занимают 2 байта), пример: buffer>cut:[s10] — в буфере останутся только первые 10 символов, ответ: 1в наличии заданное количество символов 0заданное количество символов не найдено


buffer>cut:W — поиск в буфере комбинации символов, удаление из содержимого буфера найденного фрагмента
W — поисковая строка:
* — заменяет любое количество произвольных символов, пример: buffer>cut:руб.* — если в строке буфера содержится слово "руб." оно и все что за ним будет удалено, ответ: 1искомая строка найдено и вырезана 0совпадений нет
[dD] — поиск числа с заданным (D) количеством цифр, пример: buffer>cut:[d10] ответ: 1найдено и вырезано 10-значное число 0ничего не найдено — если число найдено, то оно вырезается
[sD] — удаление заданного (D) количества символов сначала строки или (-D) с конца (русские символы занимают 2 байта), пример: buffer>cut:[s10] — из буфера будут вырезаны первые 10 символов, ответ: 1вырезано заданное количество символов 0заданное количество символов не найдено



ДИСК-КОНТЕЙНЕР


disk>name — имя текущего диска (имя диска хранится в постоянной памяти устройства, после смены диска следует считать имя из памяти СИМ-карты в ячейке A0) disk>name=W — присвоить диску имя (до 16 символов: латинских букв, цифр)
примеры: disk>name ответ: defaultимя текущего диска
disk>name=new_disk ответ: new_diskвведенное имя диска


disk>name>load — чтение имени диска из памяти СИМ-карты в ячейке A0
пример: disk>name>load ответ: 1выполнено 0ошибка


disk>name>save — сохранение имени диска в памяти СИМ-карты из ячейки A0
пример: disk>name>save ответ: 1выполнено 0ошибка


disk>clear — удаление всей информации о находящихся на диске СИМ-картах (удаление соответствующих конфигурационных файлов)
пример: disk>clear ответ: 1всегда



ЭКРАН


display>clear — очистить экран
пример: display>clear ответ: 1всегда


display=W — вывод на экран текста и специальных символов
W — параметры разделенные символами "::":

1 — размер шрифта 10,16 или 24
2 — выравнивание по левому краю (L), по центру (С), по правому краю (R)
3 — позиция по оси X (0 — 127)
4 — позиция по оси Y (0 — 63)
5 — текст (в зависимости от выбранного языка интерфейса можно показывать пользователю {английскую~русскую} версию)
(6) — необязательный параметр — разделитель "|" после которого можно дописать вывод второй, третьей и т.д. строк

примеры:
display=10::C::64::30::Текст|16::C::64::45::Ещё текст
display=10::C::64::35::{English text~Русский текст}! — в зависимости от выбранного языка будет использован соответсвующий вариант
ответ: 1всегда


display>com:W — включение/выключение инверсии экрана
W — параметр:

i — включить инверсию / n — выключить инверсию, пример: display>com:i ответ: 1всегда


ЗВУК


sound:beep — короткий отрывистый звук
пример: sound:beep ответ: 1всегда


sound:error — продолжительный звук
пример: sound:beep ответ: 1всегда



ПУЛЬТ


key>discover — проверка возможности управления с пульта (в SR Nano взаимоисключающее управление пульт/интернет, для активации пульта при включении надо нажать на пульте любую кнопку)
пример: key>discover ответ: 1управление возможно 0управление невозможно


key — отпрос пульта (в ответе возвратится 1 если какая-либо кнопка была нажата, имя нажатой клавиши помещается в буфер)
пример: key ответ: 1кнопка нажата 0кнопка не нажата
варианты ответов в буфере: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, menu, ok, up, down, left, right, star, hash



ПЕРЕМЕННЫЕ


var>W[=D|+D|-D|*D|\D|==D|<D|>D] — работа с переменной
W — имя численной переменной (доступно 26 переменных от a до z)

D — вывод значения переменной
примеры: var>a ответ: 123значение переменной a

=D — присвоение значения переменной
примеры: var>a=123 ответ: 123присвоенное значение переменной a, var>a=b ответ: присвоенное значение переменной a

+D — cложение
примеры: var>a+1 ответ: новое значение переменной a, var>a+b ответ: новое значение переменной a

-D — вычитание
примеры: var>a-2 ответ: новое значение переменной a, var>a-b ответ: новое значение переменной a

*D — умножение
примеры: var>a*3 ответ: новое значение переменной a, var>a*b ответ: новое значение переменной a

/D — деление
примеры: var>a/4 ответ: новое значение переменной a, var>a/b ответ: новое значение переменной a

==D — проверка тождественности
пример: var>a==33 ответ: 1выражение тождественно 0выражение не тождественно, var>a==b ответ: 1выражение тождественно 0выражение не тождественно

<D — проверка тождественности
примеры: var>a<33 ответ: 1выражение тождественно 0выражение не тождественно, var>a<b ответ: 1выражение тождественно 0выражение не тождественно

>D — проверка тождественности
примеры: var>a>33 ответ: 1выражение тождественно 0выражение не тождественно, var>a>b ответ: 1выражение тождественно 0выражение не тождественно

W — имя текстовой переменной (доступно 3 переменных str1, str2, str3)

var>str1 — вывод содержимого str1
пример: var>buffer=str1 ответ: ...содержимое переменной 0переменная пуста

var>str2=buffer — копирование в переменную str2 содержимого буфера
пример: var>str2=buffer ответ: 1всегда

var>buffer=str3 — копирование в буфер содержимого str3
пример: var>buffer=str3 ответ: 1всегда

Важно! Чтобы вставить значение переменной в буфер используйте конструкцию {a}, {b} ... {z}.



ФАЙЛЫ


Файловая система всех агрегаторов SIM Roulette использует внутреннюю FLASH-память контроллера. Объем доступного пространства, в зависимости от модели, от 1,5 до 2,5 Мегабайт.
В некоторых комплектациях SR Nano дополнительно может быть задействована внешняя карта памяти microSD.


fs>space:W — просмотр информации о состоянии памяти
W — параметр:

free — свободно
used — занято
total — всего

пример: fs>space:free ответ: 100000размер свободной памятив байтах


fs>list:W — просмотр содержимого папки
W — имя папки
пример: fs>list:/ ответ: ❰ СПИСОК ФАЙЛОВ ❱ 0ошибка


fs>view:W — просмотр файла
W — имя файла
пример: fs>view:/terminal.dat ответ: ❱❱ ПЕРЕХОД В РЕЖИМ ПРОСМОТРА 0ошибка


fs>edit:W — редактирование файла
W — имя файла
пример: fs>edit:/terminal.dat ответ: ❱❱ ПЕРЕХОД В РЕДАКТОР 0ошибка


fs>remove:W — удаление файла
W — имя файла
пример: fs>remove:/test/file.txt ответ: 1выполнено 0ошибка


sd>remove:W — удаление файла c SD-карты
W — имя файла
пример: sd>remove:/test/file.txt ответ: 1выполнено 0ошибка


fs>rename:W — переименование файла
W — текущий путь и имя файла _ новый путь и имя файла
пример: fs>rename:/terminal.dat /test/terminal.dat ответ: 1выполнено 0ошибка


sd>rename:W — переименование файла на SD-карте
W — текущий путь и имя файла _ новый путь и имя файла
пример: sd>rename:/terminal.dat /test/terminal.dat ответ: 1выполнено 0ошибка


fs>copy:W — копирование файла
W — имя файла-источника _ имя файла-приемника
пример: fs>copy:/terminal.dat /test/terminal.dat ответ: 1выполнено 0ошибка


fs>sd>copy:W — копирование файла из внутренней памяти на SD-карту
W — имя файла-источника _ имя файла-приемника
пример: fs>sd>copy:/terminal.dat /test/terminal.dat ответ: 1выполнено 0ошибка


sd>fs>copy:W — копирование файла с SD-карты во внутреннюю память
W — имя файла-источника _ имя файла-приемника
пример: sd>fs>copy:/terminal.dat /test/terminal.dat ответ: 1выполнено 0ошибка


fs>download:W — скачивание файла с WEB-сайта
W — адрес сайта;путь и имя файла в файловой системе агрегатора
пример: fs>download:sim-roulette.com/download/test /test/test ответ: 1выполнено 0ошибка


fs>upload:W — закачивание файла на WEB-сайт
W — адрес сайта;путь и имя файла в файловой системе агрегатора
пример: fs>upload:sim-roulette.com/upload/test /test/test ответ: 1выполнено 0ошибка
Важно! Для реализации механизма приема файла на ваш WEB-сервер вы можете воспользоваться готовым PHP-скриптом.



УПРАВЛЕНИЕ МАКРОСАМИ


macro:W (m:W) — запуск макроса с заданным именем из папки /m (допустимо использовать переменные)
примеры:
macro:filename ответ: ❱❱ ВЫПОЛНЕНИЕ МАКРОСА 0ошибка
m:filename ответ: ❱❱ ВЫПОЛНЕНИЕ МАКРОСА 0ошибка
macro:file_{a} ответ: ❱❱ ВЫПОЛНЕНИЕ МАКРОСА 0ошибка
Примечание: макросы можно редактировать и запускать в разделе Макросы WEB-интерфейса SR-Nano, там же можно отслеживать ход выполнения запущенного макроса.


macro>stop (m>stop) — остановка выполнения текущего макроса



НАСТРОЙКИ


answer — разрешение (answer=1) или запрещение (answer=0) вывода ответов команд в выходной поток
пример: answer=1 ответ: 1подтверждение введенных данных


answer>clear — очистка буфера ответов
пример: answer>clear ответ: 1всегда


busy_enable — разрешение (busy_enable=1) или запрещение (busy_enable=0) устройству игнорировать обращения к нему с запросами по сети во время выполнения механических действий, введите busy_enable, чтобы посмотреть текущую настройку
пример: busy_enable ответ: 1разрешено 0запрещено


carrier_time — время (в секундах) простоя SIM Roulette между командами, по окончании таймера SIM Roulette заново подключается к сети / carrier_time=D — задать время
пример: carrier_time=60 ответ: 60подтверждение введенных данных


server_url — URL сервера / server_url=W — задать URL
пример: server_url=link.sim-roulette.com/?token=12345 ответ: link.sim-roulette.com/?token=12345подтверждение введенных данных


server_fr — Частота обращения к серверу / server_fr=D — задать частоту
пример: 1000 ответ: 1000подтверждение введенных данных


port_rate> — скорость передачи интерфейса RS-485 (для моделей с поддержкой) / port_rate=D — задать скорость
пример: port_rate=38400 ответ: 38400подтверждение введенных данных


sms_check — интервал (в секундах) для проверки наличия SMS на активной СИМ-карте / sms_check=D — задать время (0 — надичие SMS не проверяется)
пример: sms_check=30 ответ: 30подтверждение введенных данных


pdu — включение (pdu=1) или отключение (pdu=0) автоконвертирования из PDU приходящих сообщений SMS и ответов на USSD-запросы, введите pdu, чтобы посмотреть текущую настройку
пример: pdu ответ: 1включено 0выключено


debug — разрешение (debug=1) или запрещение (debug=0) вывода отладочной информации (например, хода выполнения макросов) на экран устройства, введите debug, чтобы посмотреть текущую настройку
пример: debug ответ: 1включено 0выключено


version> — текущая версия ПО
пример: version ответ: 1.01текущая версия


save — Сохранение настроек в конфигурационном файле (без сохранения настройки действуют до перезагрузки устройства)
пример: save ответ: 1 всегда



МОНИТОРИНГ


request — команда для получения ответа (результата выполнения предыдущих команд) от устройства (команда никаких действий не производит)


email>send:[email];[topic] — отправка письма на E-mail
пример: email:user@mail.ru;Новая информация от SIM Roulette ответ: 1письмо отправлено 0неверные настройки


restart — Soft-reset устройства
пример: restart ответ: 1 ❱❱ ПЕРЕЗАГРУЗКА УСТРОЙСТВА


Интеграция SIM Roulette в ваш проект

Мы надеемся, что изложенная выше информация поможет без проблем интегровать SIM Roulette в ваш проект.
Для упрощения задачи рекомендуем использовать WEB-панель SR-Navigator и API для взаимодействия с вашим ПО.
И конечно, вы всегда можете воспользоваться услугами наших программистов.



Новости SIM Roulette

Анонсы новых девайсов и софта, информацию об акциях и скидках мы публикуем только в соцсетях: