Рассмотрим решение следующей практической задачи:
Необходимо организовать управление реле модуля по SMS (включать / выключать). Дополнительно, нужно получить ответную SMS, подтверждающую факт приема команды и отражающую факт изменения состояния реле (обратная связь).
Задачу решим с помощью одного CAT события (программируемая логика). Но первым делом, настроим модуль MP718m Laurent-5G для работы в сети GSM.
Напомним вкратце последовательность действий. Считаем что SIM карта вставлена, GSM антенна подключена. В WEB интерфейсе заходим в раздел посвященный GSM.
Укажем PIN код установленной SIM карты. Вводим код и нажимаем на кнопку "Изменить". Данные сохранятся в энергонезависимой памяти. Далее, выбираем AUTO режим работы GSM модема - т.е. при наличии установленной SIM карты и корректном PIN коде модуль будет всегда пытаться выйти в сеть GSM и зарегистрироваться в ней.
Начинается процесс регистрации в сети:
Успех! GSM модем успешно зарегистрировался в сети и готов к приему / отправке SMS и звонков.
Последним шагом, добавим наш телефонный номер (на который должна прийти ответная SMS от модуля) в базу "белых" номеров. В дальнейшем по ID этого номера (в данном случае, ID=1) мы сможем автоматически отправлять SMS и совершать звонки с модуля при возникновении событий.
Теперь сформируем правило CAT по входящей SMS с некоторым конкретным текстом. Модуль, приняв такую SMS, выполнит управление реле и отправит в ответ обратную SMS в которой с помощью динамических переменных мы подставим текущее состояние реле (после операции управления).
Пусть текст входящей SMS будет равен VOROTA_ON (намекая о том, что данным действием через реле мы будем, например, управлять воротами).
Теперь реакция. Как обычно для модулей Laurent-5 / 5G задаем ее в виде списка Ke-команд управления. Первым шагом, например, включим 1-ое реле с помощью команды $KE,REL. Далее отправим SMS на номер в "белой" базе с ID=1 в которой отразим факт включения реле через динамическую переменную ~RL1~. При формировании текса SMS для отправки данная переменная будет заменена на текущее состояние реле.
$KE,REL,1,1 $KE,SMS,SND,1,C,RELE_1: ~RL1~~LF~Date: ~DT~~LF~Time: ~TM~
Все динамические переменные начинаются и заканчиваются символами ~ (Тильда). Немного пояснений по использованным переменным:
Динамическая переменная | Пояснения |
~RL1~ | Динамическая переменная отвечающая за состояние реле (включено / выключено). Для 1-го реле следует использовать переменную ~RL1~, для 2-го: ~RL2~ и т.д. |
~LF~ | Перенос строки (хочется видеть SMS отформатированной, так что бы разные данные были на разных строках) |
~DT~ | Текущая дата (год, месяц, день) из RTC (часы реального времени) |
~TM~ | Текущее время в рамках дня (часы, минуты, секунды) из RTC (часы реального времени) |
Полный список всех Ke-команд управления и динамических переменных поддерживаемых модулем можно найти в соответствующем документе Описание Ke-команд управления
Присвоим на следующем шаге символическое имя для события:
По умолчанию, сразу после создания CAT событие будет выключено. Его следует включить соответствующей "кнопочкой" в панели управления.
Если теперь отправить SMS с текстом "VOROTA_ON" (регистр символом имеет значение) на номер SIM карты в модуле Laurent-5G как в скором времени мы услышим щелчок включения 1-го реле и получим SMS с подтверждением факта приема команды и текущим состоянием 1-го реле.
Факт обработки события так же можно наблюдать через увеличение счетчика срабатываний. На компактной панели справа можно увидеть так же факт изменения состояния 1-го реле:
© Дмитрий Иванов