Модем используется в системе для отправки sms–уведомлений и приёма sms–команд.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

SMS сообщения

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

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

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

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

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

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

SMS-команды.

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

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

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

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

Примеры.  

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

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

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

Примеры.  

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

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

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

Примеры.

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

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

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

Примеры.

Горячая замена 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


Скрипт для отправки SMS


#!/bin/bash
# Скрипт отправки SMS для версии 2.4.x
 
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) хеш пароля
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) ключ сессии
KEY=`echo -n  ${RESPONSE} | awk -F"\"" '{print $4}'`
 
# 4) отправить 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


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