Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Modem is used to send SMS-notifications and to receive SMS-commands.

Configuring modem

Before modem can be used, you have to fill in the fields in the modem properties window.  Go to "System tree" menu and find modem, click on it. A modal window with properties will open.

  • Name – the name of modem, "GSM Modem" by default;

  • Group - groups are used in "Group tree" menu and are set manually by the user.

  • Current state – the state of modem;

    • not connected – modem is not connected;

    • low – modem is initiating or  disconnecting; 

    • normal – modem is ready to send SMS;

    • warning – occurence of a one-time error that does not affect the overall operation of the modem;

    • alarm – occurence of error that does not allow further operation of modem.

  • Current value - 0, ????

  • IMEI – unique number that identifies modem;

  • Signal level - the level of signal, values range from 0% to 100%.

  • Network registration - ???

  • Networkstatus – network status:

    • registered in Operator – registered in network  Operator;

    • registered – registered in network;

    • not registered – not registered in home network;

    • registration denied – registration in home network is denied.

  • Network status – network status:
    • not found – modem is not found; 

    • found, not ready – modem is found but is not ready for operation;

    • found, ready – modem is found and is ready for operation.  In addition, this field shows errors that occur during operation of a modem e.g.error sending SMS.

  • PIN code – PIN code of SIM card.  This field can be empty if PIN code is deactivated on SIM card; 

  • Phone of SMS center - the number of SMS center.   At connection the number is read from the SIM card.  After editing the changes are saved on SIM card;

  • List of allowed phone numbers - the list of numbers that are allowed to send SMS commands.  SMS commands from any other number will not be executed. The number must begin with a "+".

Image Removed

To save the settings press "Save".  In order to avoid repeating the procedure every time you connect monitoring system, the settings should be saved in the flash memory of the system.  Press " Image Removed " and then confirm.

SMS notifications
Info

For more information on creating SMS see section Setting up GSM / USB modem .

To add recipient of SMS notification go to "System tree" or "Group tree" menu and press " Image Removed ", then choose "SMS".

  • Name – name of notification.  Can be random ( name, recipients position etc.) , "SMS" by default;

  • Phone number – the recipients phone number.  The number must begin with a  "+". 

  • Message – the text of the message, can be in any language.  The length of the message which contains latin characters is max 160, cyrillic characters - 70.  If the length of the message exceeds this limit the SMS is split into several parts.  In addition, this field allows you to edit macros (1%-7%) which insert the real values of the variables instead of the text. 

To send a test message press "Test". The macros in the message text will be displayed in its original form (% ..). To save the notification properties, click "Save". 

After filling in the properties of notification , you must specify the event, at occurence of which SMS notification will be sent. To do this, go to "Logic schemes" menu >> press add button " Image Removed " and specify the conditions for sending SMS notifications. 

Info

For each new recipient you have to repeat the procedure of adding SMS notification.   

Before messages are sent they are queued up,  which means you do not have to wait until the previous message is sent. The information on all SMS sent is displayed in the log of monitoring system.

If an error occurs while sending a message, the log displays "SMS send error" and indicates the error number. The most common error is 515 (p.s. busy), which can occur when:

  • not enough credit on the SIM card; 

  • wrong SMS centre number;

  • low signal level ( less than 15%) in the home network;

  • wrong SMS format ( the number must begin with a "+") or the number is invalid.

If these points do not cover your case, try to reboot the system. In addition, try to send SMS from your mobile phone, make sure the SMS centre number is the same.

SMS commands

SMS-commands are used for remote control of monitoring systemUsing these commands, you can read the state and the measured values of sensors, control  relays or outletsPhone numbers from which the SMS commands will be sent, should be added to the list of allowed numbers in the modem properties ( Click on modem icon and edit "Allowed numbers").  In response to each SMS-command,  a response SMS will be sent.  In case of an error, an SMS will be sent with information about the error and an example of command. An SMS can contain only one command for only one element.

Command: reading sensor (relay, outlet) parameters

Function. get [id] or get [name], where id – number of the element, name – name of the element. Field "get" is not case sensitive, both can be used Get, GET.  Field "name" is case sensitive.

Description.  This command checks the state of the sensor or relay (outlet) and sends response SMS to the phone, from which the command was sent.

Examples.

  • “get 1034” - to obtain information about the sensor with number 1034;

  • ”Get Analog-1” - to obtain information about the state of the element with the name of Analog-1;

  • “GET Relay-2” - to obtain information about the state of the element with the name of Relay-2.  
    See section "Macros in the notification text" in Setting up GSM / USB modem for further information.

Command: setting state of relay/outlet

  Function. set [id] [state] or set [name] [state], where id – number of the element, name – name of the element, state – state to which relay/outlet switches. Field "set" and "state" are not case-sensitive. Field "name" is case-sensitive.  Field "state" can be in the following states:  on – switch on, off – switch off.

 Description. This command switches the relay ( outlet) in accordance with state parameter. In response it sends an sms notification to the phone number, from which the command was received,  with result of the command.

 Examples.

  • “set 1004 on” - switch on relay with number 1004;

  • ”Set Relay-1 on” - switch on relay with name Relay-1;

  • “SET Relay-2 Off” - switch off relay with name Relay-1;

  • “set 1005 OFF” - switch off relay with number 1005.

Command: setting impulse of relay/outlet

 Function. set [id] [name] pulse [duration], where id – number of the element, name – name of the element, duration – duration of delay in seconds. Field "name" is case sensitive.  The range of values for field "duration" is from 1 to 120.  

 Description. This command switches the relay ( outlet) two times with a temporary delay specified as a "duration" parameter in seconds.  

Examples.

  • “set 1004 pulse 15” - pulse is sent to the relay with number 1004 with delay time of 15 sec;

  • “SET Relay-1 PULSE 110” - pulse is sent to the delay with name Relay-1 with delay of 110 sec;

  • “set Relay-2 pulse 10” - pulse is sent to the relay with name Relay-2 with delay of 10 sec.

For errors related to a  modem, leave comments on this page.  Please indicate the firmware version of your monitoring system ( "System menu" → "About this system" → "Firmware version"). 

Sending SMS from PC

You can use an external program to send SMS directly from your PC, cURL for example.

To follow the example please use the following command in consoleМодем используется в системе для отправки sms–уведомлений и приёма sms–команд.

Для функционирования модема необходимо:

1) вставить зарегистрированную у оператора sim-карту с положительным балансом на счету, для регистрации нужно использовать мобильный телефон!

2) включить питание системы мониторинга;

3) настроить модем;

4) добавить sms-уведомления и настроить логику.

Настройка модема.

Для настройки модема используется форма настроек модема (Main Menu→System tree→GSM Modem→Edit →Edit GSM modem):

Image Added

Поля, характеризующие свойства элемента модем в системе:

  • ID – идентификатор элемента модем в системе;

  • IMEI – уникальный номер модема;


  • State – состояние элемента модем;

    • normal – модем найден, зарегистрирован в сети;

    • alarm – ошибка sim-карты, ошибка инициализации модема, отсутствует сеть.

  • Status – статус сети сотовой связи:

    • registered – зарегистрирован в сети;

    • registered roaming – роуминг; 
    • not registered, searching - поиск сети;
    • not registered, not searching – сеть не найдена;

    • registration denied – регистрация запрещена;

    • found, not ready – модем не готов к отправке sms-сообщений;

    • found, ready – модем готов к отправке sms-сообщений; 

    • текст ошибки, например: SIM not inserted.
  • Signal level – уровень сигнала, диапазон значений от 0% до 100%.

Настраиваемые параметры элемента модем в системе:

  • Name – название элемента модема в системе;

  • Verbosity level – определяет уровень сообщений по их важности, которые выводятся в лог от Critical (только самые важные сообщения) до Debug (все сообщения);
  • PIN code – pin-код sim-карты;

  • Phone of SMS centre – номер sms-центра;

  • List of allowed phone numbers – список номеров, с которых разрешён приём sms-команд. Для разделения номеров используйте пробел. Входящие sms-сообщения с других номеров не обрабатываются. Номер должен обязательно начинаться с "+".

  • Phone number for balance – номер по кторому запрашивается сообщение о балансе на счете, сам запрос осуществляется кнопкой Request current balance, чтобы посмотреть ответ закройте окно и откройте его вновь.

Если у sim-карты установлен pin-код, следует указать этот pin-код в соответствующем поле формы настроек.

Info
titleВнимание!

После 3 неправильных попыток необходимо извлечь sim-карту и воспользоваться PUK-кодом для разблокирования.

Номер sms-центра по умолчанию считывается из sim-карты при инициализации модема. При необходимости этот номер можно изменить в соответствующем поле формы настроек.

Кнопка "OK"  служит для применения настроек в текущем сеансе работы.

Info
titleВнимание!

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

Кнопка Reset служит для перезапуска и повторной инициализации модема. При этом очередь сообщений не очищается. Reset стоит использовать в крайних случаях: зависание модема, sim-карта после установки не обнаруживается, запрещена регистрация в домашней сети ('registration denied').

SMS сообщения

Для добавления получателя sms-уведомления сначала необходимо открыть окно AddAdd Mailer SMS:

  • Name – название уведомления. Может быть произвольным (фамилия, должность получателя, ...), по умолчанию SMS;

  • Phone number – номер телефона, на которое отправляется уведомление.  

  • Message – текст сообщения, может быть на любом языке. Длина одного сообщения, содержащего только латинские символы, составляет 160, с национальными символами – 70. Если длина одного сообщения превышает предельную, то сообщение разбивается на несколько частей. Также в этом поле можно использовать различные макросы (%1-%7), которые вставляют в текст текущие значения переменных.

Для пробной отправки sms нажмите на кнопку Send sms. При этом макросы в тексте сообщения будут отображаться в исходном виде (%..). Для применения настроек нажмите на кнопку Save.

После заполнения параметров уведомления, необходимо указать событие (события), по которому будет отправляться sms-сообщение. Для этого открываете окно Preferences→Logic schemes→Add и указываете условие отправки sms-сообщения в логике. В одной логике возможно по одному или по нескольким событиям отправлять SMS-уведомления не более 15 получателям. Если необходимо отправлять sms-уведомления более 15 получателям в одной логике, то создавайте новые логики с тем же входным условием.

SMS-сообщения перед отправкой добавляются в очередь, что позволяет не ждать конца отправки предыдущего сообщения. Информация об отправленных сообщениях выводится в журнал мониторинговой системы. Ёмкость очереди 100 сообщений, при переполнении отправленные сообщения автоматически удаляются.

При возникновении ошибки во время отправки сообщения в журнале отображается сообщение со статусом sms send error и указывается номер ошибки. Наиболее вероятная ошибка 515 (Ps busy), причинами которой могут быть:

  • отрицательный баланс на счету sim-карты.

  • низкий уровень сигнала;
  • неправильный номер sms-центра, уточните номер у оператора сотовой связи;

  • неправильный формат или несуществующий номер телефона получателя.

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

SMS-команды.

SMS-команды используются для удаленного контроля мониторинговой системой. С помощью этих команд можно считывать состояние и измеряемые величины датчиков, управлять релейными переключателями (розетками). Начиная с версии прошивки системы 2.2.1, добавлены команды управления логикой. Номера телефонов, с которых будет производиться удаленный контроль, должны быть добавлены в список разрешенных номеров в окне редактирования параметров модема (Главное меню→Структура системы→GSM модем→Список разрешенных номеров). В ответ на каждую sms-команду приходит ответное sms-сообщение, в случае ошибочной команды приходит sms с описанием ошибки и примером команды. В одном sms-сообщении может быть только одна команда для одного элемента.

Команды чтения состояния датчика, реле (розетки).

Синтаксис. get [id] или get [name], где id – номер элемента, name – название элемента. Поле get не чувствительно к регистру, можно применять Get, GET. Поле name чувствительно к регистру и не должно содержать символы пробела.

Описание. Команда запрашивает состояние датчика или реле (розетки) и отправляет ответное sms на телефон, с которого пришла команда, с описанием состояния датчика.

Примеры.  

  • “get 1034” - получить информацию о датчике с номером 1034;

  • ”get Analog-1” - получить информацию о датчике с именем Analog-1;

Команды установки состояния реле (розетки).

Синтаксис. set [id] [state] или set [name] [state], где id – номер элемента, name – название элемента, state – состояние, в которое должно произвестись переключение. Поля set и state не чувствительны к регистру. Поле name чувствительно к регистру. Поле state принимает одно из  следующих состояний: on – включить, off – отключить.

Описание. Команда выполнит переключение реле или розетки в соответствии с параметром state и отправляет ответное sms на телефон, с которого пришла команда, о результате совершения команды.

Примеры.  

  • “set 1004 on” - включить реле с номером 1004;

  • ”set Relay-1 on” - включить реле с названием Relay-1;

  • “set 1005 off” - отключить реле с номером 1005;
  • “set Relay-2 off” - отключить реле с названием Relay-1.

Команды установки импульса реле (розетки).

Синтаксис. set [id]  pulse {duration} или set  [name] pulse {duration}, где id – номер элемента, name – название элемента, duration – время задержки в секундах. Поле name чувствительно к регистру. Диапазон значений поля duration от 1 до 120. Поле duration необязательно указывать, применяется ранее установленное значение. 

Описание. Команда два раза переключает состояние реле (розетки) на противоположное, с временной задержкой, указанной как параметр duration в секундах.

Примеры.

  • “set 1004 pulse 15” - подача импульса на реле c номером 1004 с задержкой 15 сек;

  • “set Relay-1 pulse 110” - подача импульса на реле c именем Relay-1 с задержкой 110 сек; 

  • "set Outlet-2 pulse" - подача импульса на розетку с именем Outlet-2 с ранее установленной задержкой. 

Команды управления логикой (логиками).

Синтаксис. logic [id] [state] {duration},  logic * [state], где id – номер логики (символ '*' для всех логик), state – состояние, в которое переходит логика ("off", "on"), duration – время отключения логики в секундах. Все поля не чувствительны к регистру.

Описание. Команды отключают или включают логику. Время (duration) указывается только при отключении одной логики. 

Примеры.

  • "logic 1 off 10" - отключение логики с номером 1 на 10 секунд;
  • "logic 1 on" - включение логики с номером 1;
  • "logic * off" - отключение всех логик на 24 часа;
  • "logic * on" - включение всех логик.
Горячая замена sim-карты (Hot Swap).

Начиная с версии прошивки системы 2.2.0 добавлена возможность замены сим-карты: не отключая питание системы можно извлечь и через некоторое время обратно вставить туже либо другую sim-карту. При извлечении sim-карты в журнале системы выдается сообщение "GSM Modem error: SIM not inserted". При отсутствии sim-карты через каждые 15 минут модем автоматически перезапускается, при этом очередь sms-сообщений сохраняется.


Отправка SMS при помощи сторонних программ, скрипта

Для отправки SMS можно использовать, например, утилиту cURL. Либо другие программы, с аналогичной функциональностью.

Для отправки СМС используйте следующую команду в консоли:

gcc -O2 -o sendsms sendsms.c

Script example of sending SMS


 

Code Block
languagebash
titleSMS script
Скрипт для отправки SMS


#!/bin/bash
#
SMS script for version
Скрипт отправки SMS для версии 2.4.x
 
usage()
{
cat
<<
EOF
usage:
$0
options
 
OPTIONS:
   -?,-
h
h   Show
this
message -H Hostname or IP address -u User name -p Password -P Phone for sending -m Message for sending EOF } HOSTIP= USERNAME= PASSWORD= TOPHONE= MESSAGE='Test' while getopts
message
   -H      Hostname or IP address
   -u      User name
   -p      Password
   -P      Phone for sending
   -m      Message for sending
EOF
}
 
HOSTIP=
USERNAME=
PASSWORD=
TOPHONE=
MESSAGE='Test'
 
while getopts “hH:u:p:P:m:”
OPTION
do case $OPTION in h) usage exit 1 ;; H) HOSTIP=$OPTARG ;; u) USERNAME=$OPTARG ;; p) PASSWORD=$OPTARG ;; P) TOPHONE=$OPTARG ;; m) MESSAGE=$OPTARG ;; ?) usage exit ;; esac done if [[ -z $HOSTIP ]] || [[ -z $USERNAME ]] || [[ -z $PASSWORD ]] || [[ -z $TOPHONE ]] || [[ -z $MESSAGE ]] then usage exit 1 fi # 1) hash HASH=`echo -n ${PASSWORD} | openssl dgst -sha1 | awk '{print $NF}'` # 2) autorisation RESPONSE=`curl -s -d
do
     case $OPTION in
         h)
             usage
             exit 1
             ;;
         H)
             HOSTIP=$OPTARG
             ;;
         u)
             USERNAME=$OPTARG
             ;;
         p)
             PASSWORD=$OPTARG
             ;;
         P)
             TOPHONE=$OPTARG
             ;;
         m)
             MESSAGE=$OPTARG
             ;;
         ?)
             usage
             exit
             ;;
     esac
done
 
if [[ -z $HOSTIP ]] || [[ -z $USERNAME ]] || [[ -z $PASSWORD ]] || [[ -z $TOPHONE ]] || [[ -z $MESSAGE ]]
then
     usage
     exit 1
fi
 
# 1) хеш пароля
HASH=`echo -n ${PASSWORD} | openssl dgst -sha1 | awk '{print $NF}'`
 
# 2) авторизация
RESPONSE=`curl -s -d "querytype=auth&name=${USERNAME}&h=${HASH}"
"${HOSTIP}/engine.htm"`
 
#
3)
session key
ключ сессии
KEY=
`echo -n
`echo -n  ${RESPONSE}
|
awk
-F"\""
'{print
$4}'`
 
#
4)
send
отправить SMS
curl
 -d
"querytype=send_sms_message&k=${KEY}"
--data-urlencode
"to_phone=${TOPHONE}"
--data-urlencode
"message=${MESSAGE}"
${HOSTIP}/engine.htm
>
/dev/null
2>&1

Child pages (Children Display)

 In case of errors, leave comments below on the page or on our forum. Please indicate in the message the current version of the firmware of the monitoring system (System menu → About this system → Firmware version).

developer notes: linkchange

...


В случае возникновения ошибок, оставляйте комментарии ниже на странице или на нашем форуме. Просьба, в сообщении указывайте текущую версию прошивки мониторинговой системы (System menu→About this system→Firmware version).