Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 18 Next »

Modem is used in the system to send sms notifications and receive sms commands.

To operate with a modem:

1) insert the sim card;

2) turn on the power of the monitoring system;

3) configure the modem;

4) add sms notifications and configure the logic.

Configuring the modem..

To configure modem, use the modem settings tab (Main Menu→System tree→GSM Modem):

Fields characterizing the properties of the modem element in a system:

  • ID – modem element ID in the system;

  • IMEI – unique number of the modem;


  • State – the state of the modem;

    • normal – the modem is found, registered in the network;

    • alarm – sim card error, modem initialization error, no network.

  • Status – the status of the cellular network:

    • registered – registered in the network;

    • registered roaming – registered in the roaming network; 
    • not registered, searching - searching the network;
    • not registered, not searching – network not found;

    • registration denied – registration is prohibited;

    • found, not ready – modem is not ready to send sms messages;

    • found, ready – modem is ready to send sms messages; 

    • error text, for example: SIM not inserted..
  • Signal level – the signal level, the range of values ​​is from 0% to 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-код в соответствующем поле формы настроек.

Внимание!

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

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

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

Внимание!

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

Кнопка 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 for sending SMS
#!/bin/bash
# SMS sending script for version 2.4.x and higher
 
usage()
{
cat << EOF
usage: $0 options
 
OPTIONS:
   -?,-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 “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) password hash
HASH=`echo -n ${PASSWORD} | openssl dgst -sha1 | awk '{print $NF}'`
 
# 2) authorization
RESPONSE=`curl -s -d "querytype=auth&name=${USERNAME}&h=${HASH}" "${HOSTIP}/engine.htm"`
 
# 3) session key
KEY=`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

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).


  • No labels