Управление нагрузкой через SMS (GSM) и Arduino.

Управление нагрузкой через SMS (GSM) и Arduino.

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

Управление нагрузкой по SMS с использованием SIM800L и Arduino

Необходимые детали:
► Arduino UNO R3 x 1 шт.
► Модуль GSM, GPRS на чипе SIM800L x 1 шт.
► Модуль реле 2-о канальный — 5V, 10A, 250V — lOW x 1 шт.
► Преобразователь напряжения LM2596, DC 3.2-40B на DC 1.38-35B, 3А, Step-Down x 1 шт.
► Провод DuPont 10x, 2.54 мм, 20 см, F-M, Female — Male x 1 шт.

Подключение:
Для стабильно работы модуля SIM800L необходим источник питания с рабочим током 2А, подойдет преобразователь напряжения LM2596 с настроенным выходным напряжением 4.3 В (можно воспользоваться модулем MINI360).
Первым делом подготавливаем модуль SIM800L, припаиваем контакты и антенну, затем устанавливаем SIM карту любого оператора. Теперь подключаем вывод Tx на модуле к выводу 3 на Arduino. Вывод Rx нельзя подключать напрямую, так как цифровой вывод Arduino UNO использует 5В, а модуль SIM800L использует 3,3В. Необходимо сигнал Tx, поступающий от Arduino UNO, понизить до 3,3В, чтобы не спалить модуль SIM800L. Самый простой способ, это воспользоватся делителем напряжения на резисторах. Подключаем резистор на 10 кОм между выводом Rx (SIM800L) и выводом 2 (Arduino) и второй резистор на 10 кОм между выводом Rx (SIM800L) и GND. Теперь осталось подключить питание модуля, в примере используется стабилизатор напряжения на LM2596.
Осталось подключить двух канальное реле, подключаем IN1 и IN2 к выводам A0 и A1, затем необходимо подключить питание VCC и GND к плате ARDUINO.

Управление нагрузкой через SMS (GSM) и Arduino.

Программа:
Для работы скетча необходима библиотека «SoftwareSerial» которая входит с среду разработки IDE.

Скачать скетч

Открываем окно «Мониторинг порта» , устанавливаем скорость «9600 и «NL» (Новая строка)». При отправки SMS с любого телефона ON_1 (ON_2) первое или второе реле включиться или OFF_1 (OFF_2) отключиться, в ответ приходит сообщение о состоянии.

Управление нагрузкой через SMS (GSM) и Arduino.

Описание скетча:
Скетч начинается с включения библиотеки «SoftwareSerial.h» и указании выводов к которым подключены Tx и Rx модуля SIM800L.

Далее создаем переменную «incomingByte» для хранения SMS сообщения и указываем к каким выводам подключено реле.

В функции void setup(), первым делом настраиваем реле, устанавливаем вывода как выход и устанавливаем лог «1», чтобы реле было по умолчанию выключено.

Далее, инициализируем последовательный связь между Arduino и модулем SIM800L на скорости 9600 бод.

Командой while зацикливаем программу до связи с SIM800L. Если модуль обнаружен, отправляем команду «AT+CMGF=1» для установки текстового режим и отправляем команду «AT+CMGL=\»REC UNREAD\».

В основной части программы, проверяем нет ли сообщений « if(mySerial.available())», если сообщение есть, считываем данные пока полностью не закончиться сообщение.

Меняем все буквы на заглавные

Сравниваем получено сообщение и если оно совпадает включаем или отключаем реле.

Последняя функция просто отправляем сообщение об состоянии.

Купить на Aliexpress
  Контроллер Arduino UNO R3
  Модуль GSM, GPRS на чипе SIM800L
  Комплект проводов DuPont, 2,54 мм, 20 см
  Преобразователь напряжения LM2596, DC 3.2-40B на DC 1.38-35B, 3А, Step-Down
  Преобразователь напряжения LM2596 с вольтметром, DC 4-40B на DC 1.38-35B, 3А, Step-Down

Купить в Самаре и области
  Купить контроллер Arduino UNO R3
  Модуль GSM, GPRS на чипе SIM800L
  Купить комплект проводов DuPont, 2,54 мм, 20 см
  Преобразователь напряжения LM2596, DC 3.2-40B на DC 1.38-35B, 3А, Step-Down
  Преобразователь напряжения LM2596 с вольтметром, DC 4-40B на DC 1.38-35B, 3А, Step-Down

Читайте также:

комментариев 8

  1. Иван:

    «В функции void setup(), первым делом настраиваем реле, устанавливаем вывода как выход и устанавливаем лог «1», чтобы реле» — что бы реле было по умолчанию включено ?

  2. Денис:

    добрый день, у меня в наличии есть ардуино нано, могу ли я использовать этот скейтч, заранее спасибо за ответ

  3. Денис:

    спасибо большое, я не спец в этом деле, но очень хочется…

  4. Денис:

    А еще я правильно понимаю, что в этом скейтче нет номера телефона админа, смс можно слать с любого?

  5. Сергей:

    Да, верно. Белый список не реализован. Но его можно легко добавить.

  6. Сергей Сергеевич:

    Функцию стирание СМС можно сделать?

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *