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-уведомления сначала необходимо открыть окно Add→Add 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 при помощи сторонних программ, скрипта
Для отправки СМС используйте следующую команду в консоли:
gcc -O2 -o sendsms sendsms.c
#!/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).