В предыдущем материале мы рассмотрели основы взаимодействия микроконтроллерной платы Arduino с модулем SIM800L. В этой же статье мы приведем простой пример создания несложной сигнализации GSM, которая будет отправлять сообщения SMS при срабатывании контакта сигнализации (например, в дверном проеме).

В этой системе оповещения по сотовой связи, когда переключатель датчика безопасности распознает событие (то есть, когда нормально открытый контакт переводится в закрытое состояние), система отправляет изначально настроенное сообщение оповещения на предопределенный номер мобильного телефона. Ниже приведена схема подключения оповещательной системы на основе платы Arduino Uno и GSM модуля SIM800L. Когда аппаратная настройка будет готова, просто загрузите приведенный ниже скетч в Arduino Uno и выполните пробный запуск.

Код (скетч) функционирования сигнализации на основе Arduino и SIM800L:
// Подключите линию Tx модуля SIM800L к выводу D10 платы Arduino
// Подключите линию Rx модуля SIM800L к выводу D11 платы Arduino
// SMS Trigger Input подключите к выводу D3 платы Arduino
// Подключите нормально разомкнутый контакт между выводом D3 и землей GND
// При нажатии на этот контакт будет отправлено SMS-сообщение
#include <SoftwareSerial.h>
SoftwareSerial smsSerial(10,11); // выводы RX и TX для общения с модулем SIM800L
#define sense_pin 3
String number ="1234567890"; // Замените эти цифры на номер телефона для отправки сообщений
void setup()
{
Serial.begin(9600);
smsSerial.begin(9600);
pinMode(sense_pin,INPUT);
digitalWrite(sense_pin,HIGH);
}
void loop()
{
// Отправлять сообщения всякий раз когда sense_pin устанавливается в 0
if (digitalRead(sense_pin)==LOW) // Проверка если sense_pin установлен в 0
{
smsSerial.println("AT+CMGF=1"); // Установка текстового режима
delay(150);
smsSerial.println("AT+CMGS=\"+7"+number+"\""); // Укажите номер получателя в международном формате, заменив 7 если это не Россия
delay(150);
smsSerial.print("Warning! SIM800L"); // Введите отправляемое сообщение
delay(150);
smsSerial.write((byte)0x1A); // Символ окончания сообщения 0x1A : эквивалентно Ctrl+z
delay(50);
smsSerial.println();
}
}
Это не полноценный проект, а упрощенная версия без каких-либо специализированных библиотек Arduino. Тем не менее, на основе этого простого примера можно создавать полноценные проекты охранных сигнализаций с оповещением, о чем будет рассказано в следующем материале.
© digitrode.ru