Arduino gsm управление отоплением

Arduino gsm управление отоплением

Появилась потребность изготовить бюджетный контроллер отопления. Да такой, чтобы можно было управлять им удаленно с помощью SMS команд, и получать данные о температуре влажности и состоянии сети 220 вольт.

Для проекта понадобятся:

Плата Arduino UNO,

GSM модуль SIM800L, Провода,

Твердотельное реле G3MB-202P,

Модуль зарядки LI-ION батарей от MICROUSB,

LI-ION батарея на 3.7 вольта с емкостью от 1000 миллиампер,

Зарядка от телефона, или блок питания на 5 вольт, и от 500 до 1000 миллиампер,

Датчик температуры и влажности DHT11,

Датчик температуры LM35,

4 сопротивления на 250-500 ом, 2k, 2.4k и 10k

Для индикации любой маломощный светодиод,

Еще понадобится: активная сим карта с положительным балансом на счету.

Вилка, розетка, и коробка в корой все поместится.

Коробку для корпуса лучше использовать из негорючего пластика!

В 16 строке скетча, необходимо вписать номера телефонов, с которых будет разрешено принимать SMS команды.

Также в 245 строке необходимо указать номер, на который будут приходить данные о температуре, влажности, состоянии сети 220 вольт и какую программу выполняет контроллер.

Я прописал в этот скетч 8 SMS команд.

Часть из них служат для переключения на интересующую программу, а остальные для запроса отчета, и настройки климат контроля.

Более подробно я рассказываю на видео, которое закреплено в конце этой статьи

//Начало скетча

//Конец скетча

Указав свои номера в скетче, загружаю его на плату.

Затем надо подготовить GSM модуль SIM800L. Припаять антенну, делитель напряжения, и еще 3 провода, как показано на схеме ниже.

Делитель напряжения нужен, для того чтобы не спалить GSM модуль. Сигнал входящего высокого уровня, для модуля SIM800L должен быть в пределах от 2.1 до 2.8 вольта!

Затем собираю все как показано на этой схеме.

Я в схеме применил твердотельное реле G3MB-202P, которое рассчитано на нагрузку до 2 Ампер. Этого вполне достаточно для обычного циркуляционного насоса!

Если вы планируете, управлять мощным обогревателем или теплым полом, то используйте более мощное твердотельное реле, на пример SSR-40DA, которое выдерживает до 40 Ампер, или SSR-80DA до 80 Ампер. И провода соответствующего сечения!

Не используйте слишком тонкие провода для питания GSM модуля, так как при запуске модуля, нагрузка может достигать 2 Ампер. При использовании очень тонких проводов, возникает просадка по напряжению, и модуль не сможет найти сеть GSM.

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

Творческая мастерская Мастер Колотушкин 2021

Проекты на базе Arduino для начинающих, электронные самоделки своими руками.

Управление отоплением на ардуино по gsm. Подключение с помощью GSM-GPRS шилда. Основные характеристики Arduino Uno

GSM-lib написанна под Arduino IDE версии 1.0. Скачать последную версию библиотеки с готовыми примерами использования можно из репозитория проекта . Для установки — распакуйте архив GSM в директорию libraries (/arduino-1.0/libraries/GSM). После запуска среды разработки Arduino, в меню программы «File -> Examples» появится пункт GSM, с примерами скетчей.

Читайте также:  Значение гидроаккумуляторы для водоснабжения

Библиотека GSM разработана для работы с шилдом « ». Она аппаратно совместима с платами Arduino (Uno, Duemilanove и прочие аналоги). При использовании других плат, возможно, потребуется внесение правок в GSM.cpp для указания правильного порта, на который выведена с шилда линия включения модема.

В настоящий момент в библиотеке реализованы следующие функциональные возможности.

  • Регистрация в GSM-сети
  • Отправка SMS
  • Прием и разбор SMS
  • Прием входящих вызовов
  • Проверка статуса соединения с сетью GSM, восстановление сети при потере сигнала

Регистрация в GSM-сети

Для регистрация модема в сети необходимо указать пин-код симкарты. Важно помнить, что если вы укажете неправильный номер, симкарта может заблокироваться, т.к. функция инициализация будет периодически повторяться до удачной попытки. Процесс инициализации обычно занимает около 1 минуты.

Первичная инициализация выполняется в функции setup().

Постановка задачи

  • Используя только Arduino и GSM модуль управлять светодиодом посредством звонка с телефона.
  • Отправлять СМС (пока через команду поступающую через монитор порта в Arduino IDE)

Подключение к Arduino

Соединяем GSM модуль с Arduino.
5В модуля -> 5V Arduino
GND модуля -> GND Arduino
ТХ модуля -> digital pin2 Arduino
RX модуля -> digital pin3 Arduino
Распиновку можно посмотреть на фото. Порядок контактов такой: 1 — +5В, 2 — GND, 7 — TX, 8 — RX.

Запитать модуль можно от 4В до 5В, я использовал 5 вольтовый выход.

Модуль требует отдельного питания, потому что потребляет в пике до 2А. Конденсатор скорей всего не спасет. Поэтому при запитке от Ардуино может не работать или глючить.

Землю Ардуино и модуля GSM при раздельном питании надо соединить, но сначала нужно мультиметром замерить напряжение между этими «землями». Некоторые компьютерные блоки питания имеют перепад потенциала на корпусе и земле USB до 100В. Ток там мизерный и убить не может, но уничтожить Ардуино или модуль GSM или то и другое вместе — запросто.

Скетч

Проверка

В рассматриваемой версии модуля 1.30 поддержка GPRS урезанная. Мне не удалось подключиться к серверу по его DNS имени (например mysite.ru), получилось только по IP-адресу. В другом модуле SIM800L таких проблем не было.

Перечень некоторых AT команд:

AT+CMGF=1 Вкл. текстового режима (смс только латиницей)
AT+CSCS= «GSM» Вкл. режима
AT+CLIP=1 включение определения номера входящего звонка
Если отправить команду с 0, то определение номера отключится и модуль вместо номера вызывающего будет слать только сообщение «RING».
AT+CMGS=»+79123456789″ Отправка СМС
ATI Получить информацию об устройстве
AT+IPR=19200 настройка скорости порта
AT+GSN вернет IMEI модуля
AT+CCLK? считываем время с модуля
AT+CCLK=«yy/mm/dd,hh:mm:ss+zz» где по порядку идут «год/месяц/дата,час:минуты:секунды+часовой пояс» Данные обязательно отправляются с ведущими нулями, то есть, к примеру, если месяц у нас «4», то отправить должны «04».
Получить обратно текущие время и дату можно отправив ту же команду, только со знаком «?»:
AT+CMEE=0 уровень информации об ошибке. Может быть от 0 до 2.
0 — отключено. Будет просто писать ERROR.
1 — код ошибки. Будет возвращать цифровой код ошибки.
2 — описание ошибки. Напишет что именно ему не нравится в команде.
Для работы с модулем через терминал удобней режимы ATV1, ATE1 AT+CMEE=2, для общения с микроконтроллером лучше использовать ATV0, ATE0 и AT+CMEE=0 — так проще будет обрабатывать полученные ответы.
Данные настройки не сохраняются после перезагрузки модуля, поэтому необходимо включать эти команды в код программы.
AT+CSQ информация о качестве сигнала.
Модуль вернет два числа +CSQ: 17,0
17 — уровень сигнала. Может быть в диапазоне 0..31 или 99. Чем больше тем лучше, но 99 значит его отсутствие.
0 — коэффициент ошибок связи (т.н. RXQUAL). Может быть от 0 до 7, чем число меньше тем качество связи лучше.
AT+COPS? информация об операторе, в сети которого зарегистрирован модуль
ATD+79121234567; набор номера. («;» обязательно)
Модуль позвонит по указанному номеру и вернет один из вариантов
BUSY — номер занят
NO DIALTONE — нет сигнала на линии
NO CARRIER — нет сети или другая проблема (например, нет денег на счету)
NA ANSWER — нет ответа
CONNECT — есть контакт!
AT+CMGR=3,0

Shield GPRS/GSM SIM900 с антенной
SIM900 GPRS/GSM Shield Development Board Quad-Band Kit For Arduino Compatible

Модуль для работы микроконтроллерных устройств Arduino и аналогичных в сетях сотовой связи по стандартам GSM и GPRS. Ориентирован на использование в системах автоматики и управления. Обмен данными с другими модулями происходит через интерфейс UART. Shield GPRS/GSM SIM900 с антенной может сопрягаться непосредственно с микроконтроллером через интерфейс UART или работать совместно с персональным компьютером при использовании преобразователя интерфейса портПК-UART. Это возможно благодаря программной совместимости на уровне класса команд используемых для управления модемами — АТ команды.
Мониторинг объектов и управление ими происходит благодаря обмену данными в пределах досягаемости мобильной связи. Обеспечивается голосовая связь, отправка СМС, ММС и много других функций и сервисов. Работа модуля основана на компоненте SIM900.

Статья на русском из журнала о компоненте SIM900 . Компонент разработан компанией SIMCom Wireless Solutions. Сайт SIMCom имеет русскоязычную версию . Плата GSM модуля на стороне компонентов содержит соединители для подключения антенны, наушников и микрофона. На стороне пайки платы размещены держатель батареи CR1220 3 вольта поддерживающей работу часов модуля и контейнер для установки симкарты.
Одно из применений устройства — система слежения за перемещениями транспорта совместно с ГЛОНАСС или GPS прибором. Отправка СМС сообщений позволяет использовать модуль в диспетчеризации, беспроводной сигнализации и в охранных системах. В результате происходящих событий могут отправляться различные СМС: “Аварийный стоп лифта 2 дома №34”, “Дверь автомобиля открыта”, “Подвал открыт”, “Напряжение 220 В выключено”, “Входная дверь дачи открыта”, “Включено освещение”, “Температура в теплице ниже критической”. Модуль незаменим для контроля и управления подвижными объектами, перемещающимися на большие расстояния. Или в случае удаления оператора на большое расстояние от стационарного объекта.

Shield GPRS/GSM SIM900 с антенной дает широкие возможности изучения работы компонента SIM900. Монтаж компонента SIM900 выполняется по самым современным технологиям из-за чего припаять к печатной плате SIM900 в лабораторных условиях весьма затруднительно. Имея модуль с установленным SIM900 можно проводить эксперименты по применению компонента SIM900. При использовании в собственных разработках компонента SIM900 появляется возможность отладки программного обеспечения и проверки схемотехнических решений.

Питание
напряжение, В
номинальное 5
диапазон 4,8-5,2
ток
обычный режим 50-450 мА
в спящем режиме 1,5 мА
предельный импульсный 2 А
Поддерживает симкарты питанием 1,8 и 3 В
Диапазоны связи 850, 900, 1800, 1900 МГц
Поддерживает сеть 2G
Мощность передачи в различных диапазонах
1 Вт 1800 и 1900 МГц
2 Вт 850 и 900 МГц
Соответствует стандарту GSM фазы 2/2+
Встроенные протоколы TCP и UDP
Класс передачи данных GPRS multi-slot class 10/8
Аудиокодеки HR, FR, EFR, AMR, подавление эха
CSD до 14,4кбит/сек
PPP стек
MUX (07.10)
Протоколы HTTP и FTP
Есть возможность отправлять сигналы DTMF и проигрывать записи как на автоответчике
Поддержка часов реального времени RTC
Температура, ℃
воздуха при работе -30. 75
хранения -45. 90
размеры 86 х 58 х 19 мм

Переключателем Power select устанавливается источник питания: внешний, подключенный к коаксиальному соединителю или источник питания микроконтроллерного модуля Arduino.

Кнопкой Power key включается или выключается питание при нажатии и удерживании в течение 2 с.

О состоянии модуля сообщают 3 светодиода:
PWR (зеленый) — индикатор питания модуля,
Status (красный) — индикатор питания компонента SIM900,
Net Light (зеленый) — соединение с сетью.
Сообщения светодиода Net Light.
Выключен — SIM900 не работает.
Мигает с интервалами, указано в секундах:
0,064 включен и 0,8 выключен — сеть не обнаружена,
0,064 включен и 0,3 выключен — сеть обнаружена,
0,064 включен, 0,03 выключен — GPRS подключен.

Компонент SIM900 содержит порт UART, его сигналы выведены на выводы компонента и соединены с перемычками, устанавливающими с какими контактами модуля Shield GPRS/GSM SIM900 будет соединен порт UART компонента SIM900 с D0, D1 или D7, D8.
UART Shield GPRS/GSM можно подключнить: к аппаратному интерфейсу МК через контакты TXD и RXD модуля Shield GPRS/GSM, для этого используются D0, D1. Или к программно эмулируемому средствами ардуино, для этого используются контакты D7 и D8 модуля Shield GPRS/GSM. Полный интерфейс UART имеет 10 сигналов выведенных на контакты в углу платы: R1, DCD, DSR, CTS, RTS, GND, 2V8, TX, RX, DTR.
12 подписанных контактов цифровых линий ввода-вывода GPIO расположены в углу платы. Имеется 2 контакта выходных сигналов с широтно-импульсной модуляцией PWM1, PWM2. Вход АЦП контакт ADC. Интерфейс встроенного счетчика времени имеет 4 контакта. Обозначение контактов: DISP_CLK, DISP_DATA, DISP_D/C, DISP_CS.
Контакт D9 используется для программного контроля включения или выключения SIM900.
На плате установлен соединитель для подключения антенны.

Назначение выводов компонента SIM900.

Внешнее включение и выключение питания

Включить или выключить питание модуля можно с помощью сигнала на управляющем входе D9. Для изменения состояния на D9 подается импульс продолжительностью 1 с. Изменение состояния происходит спустя 3,2 с после начала импульса.

Включение модуля. Графики напряжения питания модуля, внешнего управляющего импульса и индикатора питания STATUS.

При управлении модулем руководящим устройством включение должно происходить без применения кнопки Power key, т. е. сразу после подачи питания. Для этого в программу МК следует добавить несколько команд.

Void powerUpOrDown()
<
pinMode(9, OUTPUT);
digitalWrite(9,LOW);
delay(1000);
digitalWrite(9,HIGH);
delay(2000);
digitalWrite(9,LOW);
delay(3000);
>

Эту группу команд в программе можно использовать и для выключения модуля. Также выключить GSM модуль можно посылая AT команду.

Читайте также:  Экран отражающий для радиаторов отопления
Оцените статью