Система "Бенукс". Компьютерное управление и контроль.
http://benuks.flyboard.ru/

Обсуждение управления по SMS
http://benuks.flyboard.ru/topic30.html
Страница 1 из 2

Автор:  Геннадий [ 15-03, 13:59 ]
Заголовок сообщения:  Обсуждение управления по SMS

Хотелось бы услышать пожелания пользователей по управлению SMS. Причём, не только того, что уже реализовано, но и того, что добавить или изменить существующие команды и т.д.

Автор:  Геннадий [ 15-03, 14:18 ]
Заголовок сообщения: 

Привожу описание того, что реализовано в настоящее время.

В одном SMS сообщении допускается любое количество команд (ограничено только размером SMS-сообщения). Для того, чтобы система "Бенукс" реагировала на SMS-команды, используется так называемый "идентификатор" - это обычная текстовая строка из произвольных символов. Используется первый идентификатор (перед первой командой)и завершающий (после последней команды.) Таким образом, с помощью идентификаторов выделяется командная последовательность из общего текста SMS-сообщения.

Команды управления делятся на символьные и цифровые. Символьные - это команды общего управления системой "Бенукс", а цифровые - для ручного управления устройствами. В свою очередь, каждая команда может быть с параметрами или без параметров. В настоящее время реализованы символьные команды без параметров и цифровые с параметрами. Символом, разделяющим команды является запятая. Символом, отделяющим команду от параметра является пробел. Символьные команды не чувствительны к регистру клавиатуры.


В настоящее время доступны следующие команды:

Команда STATUS - запрос текущего статуса системы "Бенукс".
список возможных статусов (ответов):
    CREATE - создание объектов (при запуске программы).
    LOAD_DEV - загрузка справочника (при запуске программы).
    CREATE_LOGGER - создание логгеров (при запуске программы).
    SHOW - показ окон (при запуске программы).
    ACTIVATE - активация окон (при запуске программы).
    READY - система загружена и готова к работе.
    INIT - инициализация устройств (после команды "PUSK").
    STOP - при переходе в режим "STOP".
    WORK - выполняется сканирование.
Команда START - запуск сканирования.
Команда STOP - останов сканирования.
Команда CONTIN - продолжение сканирования после останова.

Команда LIST - запрос списка устройств для ручного управления. В ответ на эту команду приходит SMS-сообщение со списоком устройств с текущими состояниями ("on" или "off")

Цифровые команды представляют собой порядковый номер устройства ручного управления, полученный по команде LIST. После цифровой комманды обязятельно идёт пробел, а затем параметр команды (1 - включить, 0 - выключить).

Приводим примеры SMS-сообщений с командами.
В приводимых примерах идентификатором является слово "benuks"

Пример 1. ... benuks STATUS, LIST benuks ...
в данном сообщении две символьные команды: запрос текущего статуса
и запрос списка устройств ручного управления.

Пример 2. ... benuks 2 1,3 1,4 0, LIST benuks ...
    в данном примере цифровые и символьные команды:
    включается устройство №2
    включается устройство №3
    отключается устройство №4
    запрос списка устройств с текущими статусами.


Команда SCEN - запуск сценария на выполнение. Эта команда должна отправляться с обязательным параметром: имя сценария.

Команда LOGGER - запрос списка псевдонимов логгеров.

Командами также являются псевдонимы логгеров. В ответ на такие команды отправляется текущее состояние датчиков логгера.

Команда HELP - возвращает список доступных команд управления по SMS.

Автор:  AlexAlex [ 15-03, 15:42 ]
Заголовок сообщения: 

benuks если не сложно, то с какими конкретно моделями
телефонов в качестве GSM модемов проверяли работоспособность
ПО? С какими производителями меньше проблем?

Автор:  AlexAlex [ 15-03, 15:52 ]
Заголовок сообщения: 

benuks как сделать что бы при выходе контролируемого
параметра, например температуры, за заданные параметры,
получать SMS со значениями этого параметра, или всего логгера,
где этот датчик прописан? Привязку сценария к датчику сделал,
отправку SMS на номер телефона в сценарии прописал. A что
дальше? Если можно поподробнее, лучше с примером.

Автор:  AlexAlex [ 15-03, 16:30 ]
Заголовок сообщения: 

benuks с опцией "level GSM" всё понятно, а что означает
опция "level Power". Заряд батареи сотика используемого в
качестве модема? Если да, то что будет происходить при снижении
заряда ниже критического?

Автор:  Геннадий [ 15-03, 17:33 ]
Заголовок сообщения: 

AlexAlex писал(а):
benuks если не сложно, то с какими конкретно моделями
телефонов в качестве GSM модемов проверяли работоспособность
ПО? С какими производителями меньше проблем?

Отладка программы выполнялась с терминалом Siemens ES75.
Для пробы использовались SonyEricsson, Samsung и Siemens.
Мировым лидером в области удалённого мониторинга и управления считается Siemens.

Автор:  Геннадий [ 15-03, 17:39 ]
Заголовок сообщения: 

AlexAlex писал(а):
benuks как сделать что бы при выходе контролируемого
параметра, например температуры, за заданные параметры,
получать SMS со значениями этого параметра, или всего логгера,
где этот датчик прописан? Привязку сценария к датчику сделал,
отправку SMS на номер телефона в сценарии прописал. A что
дальше? Если можно поподробнее, лучше с примером.

При написании сценария, в команде "Отправить SMS" надо в теле сообщения использовать макроподстановку. Символы макроподстановки указаны в окне редактирования команды.
Привожу пример тела сообщения:
Внимание! Установленное значение @@@@ Град. превышено. Текущая величина температуры: #### Град.

Автор:  Геннадий [ 15-03, 17:42 ]
Заголовок сообщения: 

AlexAlex писал(а):
benuks с опцией "level GSM" всё понятно, а что означает
опция "level Power". Заряд батареи стотика используемого в
качестве модема? Если да, то что будет происходить при снижении
заряда ниже критического?

В настоящее время эта опция носит информативный характер. В будущем планируется сделать привязку к сценарию при снижении заряда батареи ниже критического.

Автор:  AlexAlex [ 15-03, 23:18 ]
Заголовок сообщения: 

benuks предлагаю для удобства набора команд ввести
синонимы для каждой команды, из одной двух букв, не чувствительные к регистру, например такие:

STATUS =SS
START =ST
STOP =SP
CONTIN =CO
LIST =LI
SCEN =SC
LOGGER=LO
HELP =HE

Это упростит набор команд на сотовых телефонах.

Автор:  AlexAlex [ 16-03, 00:41 ]
Заголовок сообщения:  Re: Обсуждение управления по SMS

benuks писал(а):
Хотелось бы услышать пожелания пользователей по управлению SMS. Причём, не только того, что уже реализовано, но и того, что добавить или изменить существующие команды и т.д.


На мой взгляд команд вполне достаточно, так как пользователь сам
создаёт нужные ему команды посредством создаваемых им сценариев.
Создавать команды опроса отдельных датчиков не вижу смысла. Если
их в системе мало, то проще загрузить весь логгер с этим датчиком.
А если датчиков очень много, то тем более не удержишь в голове
какой для чего. Проще загрузить логгер с соответствующим
псевдонимом, в котором присутствует нужный датчик. Благо Бенукс
позволяет создать отдельный логгер хоть на каждый датчик. :smile:
Правда, сколько людей, столько и мнений. Может у кого и есть
потребность в дополнительных командах.

А вот в сценарии, в команде "Отправить SMS", в макроподстановке
добавить возможность отправлять данные всех датчиков в логгере,
а не только "провинившегося" датчика. При чём датчиков любого
логгера, а не только того, в котором "прописан" виновник события.
Тоже самое относится и к отправке по ICQ и Email.

Поле "сообщение" в этих командах надо сделать побольше, на
несколько строк, не меньше чем в современном сотике входит
на экран.

Автор:  vic@ [ 17-03, 18:32 ]
Заголовок сообщения:  Повторюсь отчасти относительно того, что было в переписке...

Добрый день.

1 На мой взгляд излешне дублирование "клучевого слова" (пароля) в конце сообщения. Для авторизации достаточно одного раза, а маркером конца строки можно сделать что-то более коротко набираемое, например #

2 Что касается прямого обращения к датчику, то, на мой взгляд, оно удобно как раз при относительно большом количестве разнотипных датчиков/устройств. При принятии для себя единой системы имен, проблем с "запоминанием" быть не должно. Плодить же сценарии и логгеры на все случаи жизни, только ради доступа к одному из устройств, как мне кажется, не всегда удобно, равно, как и получать на телефон списки из датчиков и значений, а затем листать их.
Кроме того псевдоним для датчика/устройства в любом случае полезен, например. для обсуждаемой тут же проблемы подстановки значения КОНКРЕТНОГО датчика. Ну, а если псевдонимы будут, то отчего в любом случае не давать к ним прямого доступа.

3 По поводу подстановок. Если есть маска (такая, например, ####), то я бы предложил задавать в ней сразу формат. Например так # ###,##. Сейчас, как мне кажется, значения не форматируются жестко и могут приходиь в разных форматах, в зависимости от значения (тут могу ошибаться)

Автор:  AlexAlex [ 17-03, 19:07 ]
Заголовок сообщения:  Re: Повторюсь отчасти относительно того, что было в переписке...

vic@ писал(а):

1 На мой взгляд излешне дублирование "клучевого слова" (пароля) в конце сообщения. Для авторизации достаточно одного раза, а маркером конца строки можно сделать что-то более коротко набираемое, например #

1
Ключевые слова Вы сами назначаете в настройках программы, при
чем независимо, первый идентификатор и завершающий.

Автор:  Геннадий [ 17-03, 20:55 ]
Заголовок сообщения:  Re: Повторюсь отчасти относительно того, что было в переписке...

AlexAlex писал(а):
vic@ писал(а):

1 На мой взгляд излешне дублирование "клучевого слова" (пароля) в конце сообщения. Для авторизации достаточно одного раза, а маркером конца строки можно сделать что-то более коротко набираемое, например #

1
Ключевые слова Вы сами назначаете в настройках программы, при
чем независимо, первый идентификатор и завершающий.

Просто раньше идентификатор был один и тот-же и для первого и для завершающего. Только в последней версии можно назначать их отдельно.

Автор:  AlexAlex [ 17-03, 22:01 ]
Заголовок сообщения:  Re: Повторюсь отчасти относительно того, что было в переписке...

vic@ писал(а):
2 Что касается прямого обращения к датчику, то, на мой взгляд, оно удобно как раз при относительно большом количестве разнотипных датчиков/устройств. При принятии для себя единой системы имен, проблем с "запоминанием" быть не должно. Плодить же сценарии и логгеры на все случаи жизни, только ради доступа к одному из устройств, как мне кажется, не всегда удобно, равно, как и получать на телефон списки из датчиков и значений, а затем листать их.
Кроме того псевдоним для датчика/устройства в любом случае полезен, например. для обсуждаемой тут же проблемы подстановки значения КОНКРЕТНОГО датчика. Ну, а если псевдонимы будут, то отчего в любом случае не давать к ним прямого доступа.


2
Соглашусь по той простой причине, что лишних команд не
бывает, не нужна не используй. :grin:

Свои рассуждения строил на следующем:
Пользуюсь этой системой не первый год (Multilogger), при чем не
из "баловства", а внедрил её на своём предприятии. Контролирую
работу газовой котельной (порядка восьми температурных датчиков),
а так же работу пяти холодильников (то же 8 датчиков температуры
и пара "цифровых") и нескольких коптильных печей, плюс
температура в цехе и на улице. В планах контроль температуры
ответственных узлов и агрегатов, видеокамеры, контроль помещений
на предмет открытия дверей. Не все до конца реализовано. До
Бенукс2 использовал три одновременно запущенных Multilogger.
Удаленно (из дома) контролирую через http, а так же по ICQ и Email
(графики) с коммуникатора (вне дома). Желающие могут посмотреть на
бойлерную, сейчас шесть датчиков, пройдя по адресу:
http://kirovfish.servebeer.com:8080/ Пароль 22 имя 22, (потом
сменю :grin: ). Обратите внимание, на графике всего шесть! датчиков,
я это к тому, что в одном логгере много датчиков "нечитабельно".

За всё время ни разу не потребовалось запросить параметры одного
датчика (но это не значит что такая возможность не нужна).
В одном Логгере иметь больше восьми датчиков температуры не
очень удобно. График теряет "читаемость". 8 датчиков в одной SMS
(у меня ICQ сообщении) смотреть вполне удобно. В большинстве
случаев показания датчиков взаимосвязаны, поэтому информативнее
видеть всю картину сразу, а не отдельный датчик.

В некоторых случаях удобнее иметь возможность просматривать
логгер отдельно по типам датчиков, отдельно температурных, отдельно
цифровых и т.д.
Прелагаю к команде "псевдоним логера" добавлять параметр.
Тогда без параметра отправляется текущее состояние всех датчиков
логгера. А с параметром (параметрами) только тех типов датчиков,
которые указаны в параметре (параметрах). Таким образом количество
датчиков логгера в SMS (ICQ) ещё уменьшится.

Для увеличения команд по SMS (ICQ) предлагаю расширить набор
команд "сценария". Тогда каждый пользователь сможет создать
необходимый ему набор команд. Удобство такого подхода в том,
что каждый создаст нужный ему набор команд с удобной именно
ему классификацией и аббревиатурой. А команду SCEN сократить
(сделать синоним) до одной буквы S. Тогда перед именем сценария
(а имя пользователь может создать любое, хоть из одного символа)
достаточно будет поставить одну букву-команду S. Такой "гибкий"
подход позволит создать свой уникальный набор команд каждому
пользователю, удобный и понятный именно ЕМУ.

Вот почему считаю имеющийся набор команд вполне достаточным.
Пока предлагаю только добавить параметр к команде "псевдоним
логгера".

Предлагаю для увеличения количества и функциональности SMS
команд прейти к обсуждению новых команд "сценария". :grin:

Автор:  Геннадий [ 17-03, 22:25 ]
Заголовок сообщения:  Re: Повторюсь отчасти относительно того, что было в переписке...

AlexAlex писал(а):
vic@ писал(а):
Кроме того псевдоним для датчика/устройства в любом случае полезен, например. для обсуждаемой тут же проблемы подстановки значения КОНКРЕТНОГО датчика. Ну, а если псевдонимы будут, то отчего в любом случае не давать к ним прямого доступа.

Прелагаю к команде "псевдоним логера" добавлять параметр.
Тогда без параметра отправляется текущее состояние всех датчиков
логгера. А с параметром (параметрами) только тех типов датчиков,
которые указаны в параметре (параметрах). Таким образом количество
датчиков логгера в SMS (ICQ) ещё уменьшится.
:grin:


Вариант псевдонима с параметрами - интересное предложение. Вот только какие будут параметры?

Автор:  AlexAlex [ 17-03, 22:51 ]
Заголовок сообщения:  Вариант псевдонима с параметрами

benuks писал(а):

Вариант псевдонима с параметрами - интересное предложение. Вот только какие будут параметры?


Например:

T - отправляются только данные температурных датчиков.
D -отправляются только данные цифровых датчиков.
A -отправляются только данные аналаговые (АЦП).
H -отправляются только данные влажности (гигрометр по англицки)
и т.д.

Можно и ещё шире, с подпараметрами, например:

T с псевдонимом (номером) того температурного датчика, который
нужен, тогда придут данные этого датчика.
Аналогично и с остальными типами.

Только уж очень длинно, а значит неудобно. :cry:

Да и зачем тогда псевдоним логгера? Просто приходим к командам
прямого доступа к датчикам. Тогда T,D,A,H стоящие после
псевдонима логгера являются его параметрами.

А те же T,D,A,H стоящие самостоятельно сами являются командами,
со своими параметрами, псевдонимами или номерами датчиков.
Т.е. добавляется столько команд, сколько типов датчиков поддерживает
Бенукс2, а номера или псевдонимы самих датчиков , это параметры
новых команд.

Собственно получили то, о чем недавно писал vic@. :grin:

benuks если сочтете необходимым вводить прямой доступ к
конкретным датчикам, то это вариант реализации.

Автор:  AlexAlex [ 18-03, 02:01 ]
Заголовок сообщения:  Команды и синонимы.

AlexAlex писал(а):
benuks предлагаю для удобства набора команд ввести синонимы для каждой команды
STATUS =SS
START =ST
STOP =SP
CONTIN =CO
LIST =LI
SCEN =SC
LOGGER=LO
HELP =HE

Это упростит набор команд на сотовых телефонах.


Если команде LIST придумать другое имя, то все нужные команды
можно сделать "однобуквенными".
Почему "все нужные", да потому, что никак не могу понять зачем по
SMS (ICQ) останавливать, запускать и продолжать сканирование?
Неделю ломаю над этим голову, но придумал только одну ситуацию,
когда могут потребоваться команды пуск и продолжить. Это когда ушел
с работы и забыл запустить сканирование.
Не могу придумать ситуацию, когда команда стоп будет востребована.
Повторюсь, команд много не бывает, раз есть, пусть будут. :smile:

Предлагаю LIST заменить на ENUMERATION - перечень, реестр, список.

Суть та же, да первая буковка другая.

Тогда получится:

STATUS =SS
START =ST
STOP =SP
CONTIN =CO=C
ENUM =EN=E
SCEN =SC=S
LOGGER=LO=L
HELP =HE=HP

Можно и не очень нужные :smile: заменить
START на RUN -пуск, бег
STOP на PAUSE -пауза
STATUS на MODE -состояние, режим
Тогда все команды, кроме HELP, "однобуквенными" станут.

И новые T,D,A,H с ними не подерутся, если, конечно, benuks сочтет
целесообразным их присутсвие в стройной системе команд. :smile:

Тогда имеем след. возможные команды и синонимы:

HP=HE=HELP -возвращает список доступных команд управления по SMS.
M=MODE=SS=STATUS -запрос текущего состояния системы "Бенукс"
R=RUN=ST=START -запуск сканирования.
P=PAUSE=SP=STOP -останов сканирования.
C=CO=CON=CONTIN -продолжение сканирования после останова.
E=ENUM=LI =LIST -запрос списка устройств для ручного управления.
S=SC=SCEN -запуск сценария на выполнение.
L=LO=LOG=LOGGER -запрос списка псевдонимов логгеров.
T -датчик температуры (с параметром) возвращает данные этого датчика.
D -датчик цифровой (с параметром) возвращает данные этого датчика.
A -датчик аналовый (с параметром) возвращает данные этого датчика.
H -датчик влажности (с параметром) возвращает данные этого датчика.
ПСЕВДОНИМЫ ЛОГГЕРОВ -(с параметром) в ответ на такие команды отправляется
текущее состояние датчиков логгера
Интересное количество команд получилось 13 шт, наверное забыл
какую то . :grin:

Таким образом команду можно вызвать или одной буквой (HELP двумя),
или двумя, или любым словом синонимом из перечисленных, т.е.
остановить можно:
и P и PAUSE и STOP и SP, что вспомнил, что больше нравится, тем и
остановил. А зачем SMS-кой остановил, сам не понял.

В полной мере эта система команд должна быть реализована и в
ICQ сообщениях.

Автор:  Геннадий [ 18-03, 10:53 ]
Заголовок сообщения: 

AlexAlex писал(а):
И новые T,D,A,H с ними не подерутся, если, конечно, benuks сочтет
целесообразным их присутсвие в стройной системе команд. :smile:

Для меня важно чтобы Вам, пользователям, было удобно, причём хочелось бы сделать универсально с учётом всех пожеланий (насколько это возможно).

Автор:  AlexAlex [ 18-03, 17:50 ]
Заголовок сообщения:  Поговорить о командах сценария

День добрый.

benuks хочу поговорить о командах сценария, не знаю в какой
теме уместнее. Думаю в этой, так как эта проблема перекликается с
текущей темой, а новую начинать не вижу смысла. Не думаю, что
будет много сообщений.

Почему есть команда "отправить на E-maill текущие значения",
но нет аналогичных команд для SMS и ICQ?
На мой взгляд, это самые "главные" команды.
В команде "отправить на E-maill текущие значения" есть поле
для выбора имени логгера. Почему имя, а не псевдоним?
Предлагаю добавить к имени (псевдониму) логгера параметр, те самые
T,D,A,H, о которых говорил выше, расшифровывать их смысла нет,
понятно из предыдущих обсуждений. По аналогии ввести команды:

"отправить SMS с текущими значениями"
"отправить по ICQ текущие значения"
"отправить на E-maill текущий график"

Если будут введены эти команды, то команды "Отправить SMS (ICQ,
E-maill) сообщение" можно оставить, как есть, лишь с теми
макроподстановками, которые уже есть (без дополнений, о которых я
писал ранее).

Автор:  Геннадий [ 18-03, 20:51 ]
Заголовок сообщения:  Re: Поговорить о командах сценария

AlexAlex писал(а):
Почему есть команда "отправить на E-maill текущие значения",
но нет аналогичных команд для SMS и ICQ?

Будут, это дело времени.

Страница 1 из 2 Часовой пояс: UTC + 4 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/