Sim900 описание. Как установить GSM модуль для управления сигнализацией StarLine A93


GSM-модуль предназначен для оперативного контроля и управления автозапуском.

Основные функции GSM-модуля:

  • Контроль за состоянием внешней сети.
  • Контроль за подключением потребителей к источнику напряжения.
  • Дистанционное включение и отключение системы автозапуска с помощью SMS-запроса.
  • Дистанционное управление пуском генератора.
  • Контроль за состоянием встроенного реле.
  • Контроль за температурой (датчик внутри GSM-модуля).
  • Контроль за балансом SIM-карты.

С помощью GSM-модуля, используя силовую часть автозапуска, можно включать и отключать потребителей от внешней сети. (Например, электроотопление в загородном доме с контролем температуры посредством SMS).

GSM-модуль оповещает администраторов системы SMS сообщением, состоящим из 4-х информационных полей, следующего вида:

Сеть подключена;
Реле выкл.;
Темп. 27С;
Баланс: 51р.

SMS сообщение отправляется автоматически на телефон 1 администратора каждый раз при изменении режима питания потребителей (1 информационное поле). Если это изменение произошло на время менее 10 сек, SMS сообщение отправляться не будет.

1 информационное поле «Сеть подключена».

GSM-модуль контролирует сигналы наличия напряжения во входной сети и у потребителей, и в зависимости от наличия напряжения формирует информационное поле следующего вида:

2 информационное поле «Реле выкл».

Информационное поле, показывающее состояние реле, встроенного в GSM-модуль. Для включения реле необходимо с телефона 1 или 2 администратора отправить SMS с текстом «1» .

Для выключения реле - SMS с текстом «0» . Красный светодиод отображает состояние реле. То есть не горит когда реле выключено и горит когда включено.

3 информационное поле «Темп. 27С».

Температура, встроенного в GSM-модуль термодатчика.

4 информационное поле «Баланс: 51р.».

Баланс СИМ-карты GSM-модуля.

Администраторы могут запросить у GSM-модуля состояние системы. Для этого нужно отправить пустую СМС с номера 1 или 2 администратора или просто сделать дозвон (модуль автоматом разорвёт соединение - т. е. будет занято). GSM-модуль, приняв пустую SMS/входящий дозвон, опросит состояние своих входов, запросит баланс, состояние реле и считает температуру и пришлёт SMS на номер администратора, который делал запрос.

Подключайте GSM-модуль при обесточенной системе.

Установка GSM-модуля.

Выходы и входы GSM-модуля показаны на рисунке:

GSM-модуль необходимо размещать вне металлических конструкций. Если Вас интересует контроль за температурой в определенном помещении, то модуль можно разместить в нем (проверьте наличие в помещении достаточного уровня сети сотового оператора!) Модуль соединяется с автозапуском 5-ю проводами. Провода могут быть любые (модуль потребляет около 500 мА).

Настройка GSM-модуля.

Необходимо приобрести SIM-карту сотового оператора и выбрать тариф. Так как общение с модулем происходит только посредством SMS сообщений, тариф выбирайте по их минимальной стоимости и отсутствию абонентской платы.

Во избежание неоправданных затрат, необходимо с помощью меню телефона отключить информационные службы и рекламные каналы. Если возникли сложности с отключением рекламных или информационных каналов – обратитесь в абонентскую службу сотовой компании. По Вашей просьбе оператор, как правило, может проделать это дистанционно.

Вставьте SIM-карту в телефон и ПОЛНОСТЬЮ ОЧИСТИТЕ телефонную книгу SIM-карты. Далее Вам необходимо заполнить телефонную книгу следующим образом (это лучше делать на телефоне, который показывает номера ячеек сим-карты, т. к. крайне важен именно такой порядок заполнения ячеек):

В 1-ю ячейку SIM-карты необходимо ввести номер телефона 1 администратора. В поле «Имя» вводим слово «Админ 1» (или любое другое слово). В поле «Номер» вводим номер телефона администратора в формате: 89991234567 или +79991234567 (значения не имеет).

Во 2-ю ячейку SIM-карты необходимо ввести номер телефона 2 администратора. В поле «Имя» вводим слово «Админ 2» (или любое другое слово). В поле «Номер» вводим номер телефона администратора в формате: 89991234567 или +79991234567 (значения не имеет). Если планируется работа с одним администратором, то в эту ячейку необходимо ввести номер 1 администратора.

В 3-ю ячейку SIM-карты необходимо ввести команду запроса баланса сотового оператора. В поле «Имя» вводим слово «Баланс» (или любое другое слово). В поле «Номер» вводим команду запроса баланса (обычно это *100# или *102# ).

При подаче питания загораются оба светодиода на 1 сек., затем гаснут на 1 сек. и зажигается красный светодиод в пол накала. Через некоторое время красный светодиод загорается в полный накал.

Далее красный гаснет и зажигается в пол накала зелёный (как правило на очень короткое время что можно не заметить), затем светодиоды вместе мигнут 2 или 3 раза. 2 раза в случае если указаны только номера администраторов а номер баланса не указан, 3 раза - если все три ячейки прописаны и прошло успешное их чтение. Далее контроллер сохраняет текущее состояние системы. Реле выключено (всегда после подачи питания). Рабочий режим - красный потушен, зелёный мигает. Если зелёный мигает равномерно - сеть не найдена. Если редко кратковременная вспышка - то сеть найдена и может происходить обмен по сети GSM.

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

GSM-модуль можно использовать для дистанционного пуска генератора. Режим «Управляемый пуск» активируется в настройках системы. Позволяет в отсутствие внешней сети пускать генератор с подключением нагрузки и останавливать при необходимости.

Использование GSM-модуля для дистанционного управления нагрузкой.

GSM-модуль можно использовать для дистанционного управления включением нагрузки. Т. к. силовая часть в автозапуске уже есть, то используя режим «Управление нагрузкой», можно организовать вкл/выкл нагрузки при наличии внешней сети. Это удобно использовать, например, для дистанционного управления электроотоплением на даче в зимний период, что позволит Вам приезжать в любое время в уже прогретый дом. С помощью термометра можно контролировать процесс нагрева.

Если Вы планируете использовать этот режим, необходимо переключить вход БП, подзаряжающего аккумулятор генератора с потребителей на входную сеть! Также необходимо проверить нормальную работу встроенной в генератор системы подзарядки аккумулятора, т. к. в отсутствии сети, подзарядка аккумулятора будет происходить только от встроенной системы.

Использование GSM-модуля для дистанционного отключения системы.

GSM-модуль можно использовать для дистанционного отключения/включения системы. Режим «Управляемое включение» активируется в настройках. Позволяет корректно выключать систему и снова включать при необходимости.

Подключение GSM-модуля к автозапуску изображено на схеме:


GSM-модуль позволяет управлять дистанционно любой автоматикой, принимая сигнал с телефона, работающего в диапазоне GSM, и осуществляя включение/выключение подсоединенной аппаратуры. Применяется он для открытия распашных и откатных ворот, шлагбаума на паркингах, автостоянках, в дачных и гаражных кооперативах, частных домах, удаленного управления инженерными системами полива, освещения, отопления, перезагрузки серверов и роутеров.

Вот так владелец открывает ворота при въезде на территорию

Наиболее широкое распространение GSM-модуль получил как надежный и бюджетный контроллер для управления групповым доступом на объект, совместимый с популярной автоматикой ворот и шлагбаумов Doorhan и Came.

Как работает модуль

По сути GSM-модуль — это радиоприемник с установленной sim картой любого оператора сотовой связи и контроллер для обработки поступающей и исходящей информации. В базу данных модуля заносятся телефонные номера всех пользователей, имеющих право доступа на закрытую территорию. Современные модели поддерживают запись и хранение до 2000 номеров, более дорогие модификации способны обрабатывать до 10000 номеров.

Принцип работы устройства показан на рисунке.

Принципиальная схема работы устройства

При осуществлении звонка контроллер производит сверку входящего номера с записанными данными, и при его наличии в памяти подается команда на осуществление открытия и приведение в действие привода шлагбаума и откатных ворот. Если номера в списке нет, то устройство просто сбрасывает звонок, не производя больше никаких действий. Подобным же образом контроллер открывает распашные ворота, оборудованные электрозамком и приводом Doorhan или Came.

Соединения со звонящим абонентом не происходит, либо оно обрывается через несколько секунд, благодаря чему расходы на оплату услуг сотовой связи равны нулю. Если данные не совпадают, то пропуск через ограждающее устройство не предоставляется. В некоторых моделях существует возможность отключения идентификации, и пропуск осуществляется при любом входящем звонке на контроллер. Настройка блока управления GSM-модулем выполняется с помощью смс-команд, веб-интерфейса, программы на компьютере, подключенному через USB-порт, android-приложения для смартфонов.

Приведем пример gsm-модуля от компания ООО «Тор-Хаус». Существуют две модели, которые отличаются количеством пользовательских номеров и набором функций. Фото модулей на рисунке ниже.

Технические характеристики модулей приведены в таблице.

Характеристика Модель TH-G01 Модель TH-G02
Электропитание, В =12 или 24 В =9 … 24В
Частота, МГц Диапазоны 850/900/1800 Диапазоны 850/900/1800
SIM-карта Стандартная 1.8/3В Стандартная 1.8/3В
Антенна 50 Q SMA, возможно подключение выносной антенны с разъемом SMA
Реле 1, сухой контакт NO/NC 2, сухой контакт NO/NC
Кол-во пользователей 99 3002
Запись пользователей SMS SMS или звонок
Диапазон температур -30 … +60 -30 … +60

Плюсы и минусы gsm модулей

  • отпадает необходимость покупки индивидуальных пультов, брелоков или карточек, причем не все системы управления шлагбаумом «резиновые» и рассчитаны на их ограниченное число;
  • открыть шлагбаум или ворота можно с любого места, входящего в сеть покрытия мобильного оператора, благодаря чему обеспечить пропуск знакомого на территорию, находясь вне зоны досягаемости - не проблема, + упрощение работы службы охраны;
  • осуществление контроля - с помощью программного обеспечения или смс-команд, возможно добавление и удаление номеров из базы, настройка таких параметров, как допуск по дням недели, времени суток, запрет въезда при неуплате обязательных взносов, ведение журнала въездов и т. д.;
  • возможность установки на автоматические шлагбаум и ворота любого производителя;
  • экономия - цена на один gsm-контроллер приблизительно равняется стоимости трех пультов Came, и при большом количестве пользователей такая автоматизация проезда существенно выгоднее.

И небольшая ложка дегтя в бочку с медом - ворота или шлагбаум невозможно будет открыть при разряженной батарее телефона или нулевом балансе, будь они трижды Doorhan или Came, но тоже самое может приключиться, если вы, к примеру, забыли или потеряли пульт.

Характеристики популярных моделей

Teltonika

Простой модуль, обеспечивающий обслуживание до 500 клиентов. Устанавливается на распашные ворота, используется в управлении шлагбаумом, откатных ворот и прочих устройств с электроприводом.

Teltonika VRT012

Совместим с автоматикой Doorhan, рабочее напряжение - 12 В, укомплектовывается блоком питания для подключения к сети 220 В. Стабильно работает от -20 до +40°С. Настройка списка клиентов осуществляется с помощью смс или через компьютерное приложение.

Doorhan

Контроллер сохраняет в базе данных до 500 номеров. Предназначен для установки как непосредственно в корпус откатных ворот и шлагбаума с автоматикой Doorhan, так и снаружи. Работает при температуре -20 до +40°С, имеет собственный корпус для защиты от внешних воздействий. Электропитание 12-24 В.

Модуль Doorhan

Настройка параметров производится смс-командами или через компьютер. Модуль Doorhan совместим с автоматикой других производителей, существует лишь небольшое число приводов, для которых требуется дополнительная адаптация. Чтобы выяснить о возможности установки, обратитесь к специалистам организации-продавца.

ESIM 110/120

Осуществляет пропуск на территорию до 500 клиентов, дополнительная опция - расширение до 2000. В улучшенной версии - ESIM 120 реализована технология облачного управления через WEB-интерфейс и с мобильного приложения.

ESIM120 ELDES — GSM контроллер для открывания ворот и скуд

Контроллер совместим с автоматикой откатных ворот Doorhan, компактен и может встраиваться внутри блока системы привода. Удобное ведение журнала, где можно задать различные параметры разрешений на въезд индивидуально по каждому клиенту и просмотреть, кто и когда заезжал - память на 1000 событий. Рабочее напряжение 10-24 В, диапазон температур от -20 до +55°С.

Места применения

Модули применяются для управления любого типа оборудования с электроприводом:

  • автоматических ворот, шлагбаумов;
  • котлов;
  • офисных дверей (при наличии электрозамка);
  • сигнализаций;
  • автомобилей;
  • и прочих устройств.

Мы уже знакомы с такими устройствами, как GSM/MMS камеры (), GSM-сигнализации (), отправляющие сообщения при активации датчика движения. Это были первые устройства с применением GSM-модулей и их применение стало расширятся.

GSM-модули активно внедряются, наибольшую эффективность показали для управления на въездах в коттеджные поселки, большие жилые комплексы, на коммерческие объекты с большим числом персонала или клиентов.

Допустим, в ЖК «Березка» 5 домов, 500 квартир умножаем на 1500 руб. (средняя цена ключа). ТСЖ придется собрать с жильцов 750000 руб. только на закупку ключей.

Получается большая экономическая выгода в сравнении с покупкой ключей!

Уговорить собственников жилья на покупку автоматического шлагбаума будет легче, когда сумма инвестиций в оборудование и монтаж будет составлять 2000-3000 руб с квартиры.

Если сравнить с RFID метками, которые тоже могут применяться в качестве открывания ворот, то RFID идентификации несколько другой, комплект оборудования стоит дороже, но и диапазон применения шире.

В следующей статье разберем модуль от компании SmartAirkey — бесключевой доступ в подъезды и парковки многоквартирных домов.


По просьбе трудящихся продолжаю тему GSM девайсов, а именно подключение модуля SIM900D к ATmega. Какая модель это не важно. В этой статье я буду использовать ATmega8515. Этот контроллер я использовал исключительно по фен-шую))) Вся нужная информация будет выводится на ЖК дисплей 20х4 фирмы МЭЛТ. Его тоже выбирал по фен-шую))) И также потому что он понимает кодировку Windows-1251 что сильно упрощает вывод русских буковок.

А теперь собственно поставим задачу.

  • 1. Требуется включать и выключать 8 светодиодов(реле, вентиляторов и т.д.)
  • 2. Включат и выключать по переданному коду по средством SMS.
  • 3. Выводить на дисплей уровень приема GSM сигнала.
  • 4. Вывод на экран последнюю команду переданную по средством SMS.
Задача поставлена. GSM-модуль общается с МК по UART. Схема включения GSM-модуля можно посмотреть . МК будет работать на частоте 3,6864 МГц. Это нужно для снижения ошибок в UART. Скорость обмена 19200. За все время тестирования ошибок с передачей не было. Правда помер один МК, что дало головомойки на пару дней, но потом с заменой на новый МК все пошло как по маслу. ЖК дисплей подключен к порту А. Порт С отдан на включение и выключение светодиодов. Ах да. тут есть один нюанс. GSM-модуль может получать данные на ногу RxD только 3 вольта и не более!!! Это важно!!! Отсюда было принято решение подавать данные через резисторный делитель. Расчет плечей оставляю за вами так как МК может работать в разных диапазонах от 2,8 до 5 вольт. Лично я питаю GSM-модуль 4 вольтами, а МК 5. Так, с железом вроде разобрались. Теперь поехали по коду. Первое что необходимо это способ принятия данных от GSM-модуля. Модуль пуляет ответы на запросы такого вида:
Запрос:
AT+CSQ\r\r\n
Ответ:
\r\n+CSQ: 17,0\r\n\r\nOK\r\n
Отсюда видно что запросы и ответы перемешаны кучей \r и \n ерундой. Ну для запроса это не проблема, так как мы сами его пишем, а вот ответ... Разгребать весь этот зоопарк каждым пришедшим байтом в UDR не комельфо, поэтому будем использовать кольцевой буфер. Кто не знает что это, идем сюда . При использовании кольцевого буфера добавим в обработчик прерывания по приходу данных в UDR проверку для игнорирования \r и \n. ISR(USART_RX_vect) { char temp = UDR; if(!(temp == 0x0A || temp == 0x0D)) InBuffer(temp); } То есть мы записываем в буфер все кроме \r и \n. Как только мы получили данные начинаем их обрабатывать. Первое что нужно посмотреть, SMS это или ответ на команду. Так как GSM-модуль всегда возвращает фиксированный ответ, а меняет только данные, то отследить можно по названию ответа. Например запрос на уровень приема GSM.
if(time == 30) { time = 0; USART_STR("AT+CSQ"); USART_END(); _delay_ms(200); } if(GetData()) { _delay_ms(70); num = IndexNumber(); OutBufferStr(temp,num); } Теперь в массиве temp лежит ответ от GSM-модуля. Теперь давайте его распознаем.
if((temp == "C") & (temp == "S") & (temp == "Q")) { } Если в массиве лежит ответ на запрос уровня GSM, то условие выполнится и его можно обрабатывать по своему усмотрению. А если условие не выполнилось? То скорее всего пришло SMS. Как его вычислить? Как только приходит SMS сообщение, модуль возвращает строку вида.
+CMTI: "SM",1 Все что здесь меняется, так это последний символ, а точнее цифра. Это номер SMS. А вот буквы SM не меняются никогда. Значит нам требуется проверить есть ли в сообщении эти буквы.
if((temp == "S") & (temp == "M")) { } Конечно еще бы было не плохо проверить название самой команды для более точного убеждения, но я этим пренебрег так как это пока просто объяснения работы МК с GSM-модулем. Поле того как распознали принятие SMS не плохо бы было его прочитать. Кидаем GSM-модулю запрос вида.
USART_STR("AT+CMGR="); USART_TXD(temp); USART_STR(",0"); USART_END(); _delay_ms(200); В ячейке массива temp лежит номер SMS. Данная команда будет адекватна при SMS сообщениях меньше 9. Ну это понятно почему. А вообще чтобы не забивать память SIM карты SMSками я после прочтения SMS сразу удаляю ее, поэтому больше 1 SMS в памяти не бывает. Но все же я использовал не жестко число 1, а именно выдрал его из массива. Я не знаю почему, но иногда SMS не всегда приходят сразу, а с неким опозданием. Если такое произошло, то возможен такой косяк, SMSка еще не пришла, мы думаем что не прошла и шлем за ней еще одну. Тут проходит время и они приходят две подряд одна за одной. Первую мы читаем как 1, а вторая пришла как 2. Вот от таких косяков и защищает ячейка массива. Теперь запросив текст SMS GSM-модуль вернет нам ответ вида.
+CMGR: "REC UNREAD","+71234567890","","14/07/06,13:04:38+16" сообщение OK После этого можно читать сообщение. Так как ответы всегда фиксированы, то можно смело начинать читать с temp... и может возникнуть косяк))) Я на него нарвался. Пока я разбирался с GSM-модулем мне тихим сапом Beeline прислал SMSку. Все бы ничего да подстава засела в месте где прописывается номер отправляющего SMS абонента. Вместо "+71234567890" мне пришло "My Beeline". Ну понятно чем это пахнет. Короче МК ни фига не понял и вошел в ступор. Поэтому я решил все таки проверять номер. Да и для безопасности это не помешает. А то вдруг зависливый сосед прознает про управление котлом по SMS и пошлет команду зимой выключит котел))).
for(uint8_t i=0; i Смысл прост. В цикле сравниваем ячейки массива буфера отвечающие за номер с массивом в который заранее положили требуемый номер. Пока цифры совпадают флаг равен 1, но как только цифра не совпадет, обнуляем флаг и выходим из цикла. Если флаг в нуле, то не читаем SMSку, а если в единице, то SMSка наша. Если все проверки прошли, то читаем команду. Команды я сделал такие. Заглавния буква V значит включить, O значит отключить. Для того чтобы узнать какой светодиод включить или выключить, после буквы пишем его номер от 1 до 8. Пример, нужно включить 4-й светодиод. Шлем SMS с текстом V4 , а для отключения O4 .
if(flag) { if(temp == "V") { lcd_xy(0,2); lcd_putsf("LED-"); lcd_putchar(temp); lcd_putsf(" Bключен "); switch (temp) { case 0x31: PORTC |= (1 Собственно вот весь код. Сначала проверяем буковку и по ней выполняем ту или иную команду и параллельно выводим сообщение на ЖК. А после того как закончили работу с SMS скидываем флаг и удаляем все SMS.
USART_STR("AT+CMGD=1,4"); USART_END(); _delay_ms(100); flag=0;
Вот и все. Ниже видео всего этого безобразия и архив с проектом.
Проект

GSM модуль представляет собой устройство, для (удаленного) управления выходом реле, установленного на плате. На плате расположен слот для СИМ карты. Основное предназначение - управление воротами, шлагбаумом, рольставнями.

Как работает GSM контроллер?

У любого GSM контроллера есть своя база данных, в которой хранятся разрешенные номера. Так же GSM модуль имеет собственный номер (номер сим карты), который установлен в него. Если ваш номер записан в базу данных контроллера, то при осуществлении звонка на него, реле на плате замкнется на 1 секунду, тем самым даст команду на открытие исполнительному устройству (ворота, шлагбаум). Если вашего номера нет в базе данных, то вы будете слышать обычные гудки в трубку, шлагбаум не откроется.

Как добавить/удалить номер в GSM контроллер?

В зависимости от модели контроллера, к нему идет свой софт для ПК или смартфона, а так же свои команды добавления и удаления номера через SMS. Удобнее всего использовать ПК для добавления номеров. Это позволяет создать базу данных номеров на компьютере, а затем загрузить её через USB кабель в контроллер. Существуют GSM контроллеры со своим облачным сервисом. Что это значит? Облачный сервис позволяет добавлять и удалять номера через интернет, без подключения USB кабеля к нему. Это очень удобно, но имеется один минус, - СИМ карта будет расходовать интернет трафик.

Как подключить GSM контроллер?

Подключение у всех модулей практически одинаковое. На плате имеется клеммная колодка для подключения питания 12-24 Вольт, колодка релейного выхода NO - COM (нормально разомкнутый режим), к которой подключается кабель от управляющих контактов платы. Питание на GSM модуль обычно берут с платы управления автоматики, например у Doorhan, AN motors, на плате есть колодки на которых 12 Вольт. У BFT, Came - 24 Вольта.

Какой тариф выбрать для GSM контроллера?

Чаще всего мы рекомендуем тариф без абонентской платы. Прежде чем покупать СИМ карту, необходимо определить, у какого оператора лучше качество связи на конкретном объекте. Для GSM контроллеров использующих мобильные данные, рекомендуем подключать пакет трафика интернета, такие как ELDES Esim 320. Который работает через интернет.

Добрый день! Опять мультиобзор китайских электронных компонентов, как обычно обо всём понемногу, постараюсь покороче, но получится ли? Итак, встречайте, GSM сигнализация стоимостью до 700 ₽. Интересно? Прошу под «cut»!

Приступим! Перед началом рекомендую заглянуть в этот , меньше компонентов и большая автономность. Итак, «техзадание», основные требования к сигнализации:

1) Оповещать при срабатывании датчиков.
2) В случае отключения питания должна быть предусмотрена некоторая автономность.
3) Управление сигнализацией через sms и звонки.

Из-за того, что процесс создания сигнализации затянулся на несколько месяцев и некоторые продавцы уже не продают те компоненты которые были у них куплены, ссылки будут актуализированы на товары других продавцов у которых максимальное или приближенное к максимальному число продаж товара и лучшая цена. Цены в обзоре актуальны на дату его написания.

Перечень того что понадобится:

Список изменений

GSM_03_12_2016-14-38.hex - исправлена работа устройства с модемом M590.
GSM_05_12_2016-13-45.hex - добавлена консольная команда memtest, оптимизация использования оперативной памяти.
GSM_2016_12_06-15-43.hex - добавлен вывод результатов команд в консоль, оптимизация памяти. Занято: 49% SRAM.
GSM_2016_12_07-10-59.hex - теперь телефонные номера добавляются и удаляются правильно. Занято: 49% SRAM, 74% Flash Memory.
GSM_2016_12_07-15-38.hex - добавлена возможность подключения датчика движения , подключается к пину A0 (в данном случае пин A0 используется как цифровой). Добавлены смс - команды PIROn , PIROff . Занято: 48% SRAM, 76% Flash Memory.
GSM_2016_12_08-13-53.hex - Теперь после успешного выполнения команды, которая в ответ не отправляет смс сообщение, устройство однократно мигает синим светодиодом. Теперь после некорректного выполнения команды, которая в ответ не отправляет смс сообщение, устройство дважды мигает синим светодиодом. Теперь после инициализации параметров устройства, если включен «тихий» режим (SendSms = 0), устройство в течение 2 секунд часто мигает синим светодиодом. Исправлена ошибка из-за которой номер не всегда удалялся из памяти командой DeletePhone. Занято: 48% SRAM, 78% Flash Memory.
GSM_2016_12_11-09-12.hex - Добавлены консольные команды AddPhone и DeletePhone, синтаксис аналогичен смс-командам. Оптимизация памяти. Занято: 43% SRAM, 79% Flash Memory.
GSM_2017_01_03-22-51.hex - Реализована поддержка и ему подобных расширителей портов ввода/вывода на чипе PCF8574, для подключения дополнительных 8 датчиков, в том числе герконов. Автоматический поиск адреса и автоматическая настройка модуля. Стандартные названия датчиков и логический уровень их срабатывания изменяется с помощью команды EditSensor. Изменены содержания тревожных смс для основного датчика (пин D0) «Alarm! Main sensor!» и датчика движения (пин A0) «Alarm! PIR sensor!». Добавлены команды EditSensor и I2CScan. Занято: 66% SRAM, 92% Flash Memory.
GSM_2017_01_15-23-26.hex - Поддержка модема A6_Mini. Контроль наличия внешнего питания (пин D7). Добавлены смс команды WatchPowerOn, WatchPowerOff. Добавлены консольные команды ListConfig, ListSensor. Теперь смс команда EditSensor работает правильно. Незначительно «урезан» вывод отладочной информации в монитор порта. Занято: 66% SRAM, 95% Flash Memory.
GSM_2017_01_16-23-54.hex - Теперь в ответном сообщении на смс команду «Info» так же сообщается состояние датчика движения. Исправлена ошибка из-за которой иногда отправлялись пустые ответные смс сообщения. Теперь устройство оповещает не только об отключении, но и о возобновлении внешнего питания. Все модемы стали «меньше болтать», теперь в мониторе порта стало немного чище. Занято: 66% SRAM, 95% Flash Memory.
GSM_2017_02_04-20-23.hex - Исправлена ошибка «Watch the power on». Теперь после снятия с охраны, выключается «тревожный пин». Теперь после удаления номера в консоль выводится правильная информация. Возможно исправлена ошибка из-за которой иногда отправлялись пустые ответные смс сообщения. Занято: 66% SRAM, 90% Flash Memory.
GSM_2017_02_14-00-03.hex - Теперь по умолчанию отправляются смс сообщения, параметр SendSms снова равен 1. Теперь при замыкании контактов основного герконового датчика (закрытии двери) устройство мигает синим светодиодом в течение 2 секунд, сигнализируя о нормальной работе датчика. Занято: 66% SRAM, 90% Flash Memory.
GSM_2017_03_01-23-37.hex - Команда WatchPowerOn удалена. Добавлена консольная команда WatchPowerOff, идентична смс команде. Добавлены команды WatchPowerOn1, WatchPowerOn2. WatchPowerOn1 - мониторинг внешнего питания включен если сигнализация поставлена на охрану, WatchPowerOn2 - мониторинг внешнего питания включен всегда. Реализована функция постановки на охрану и снятия с охраны внешними устройствами, для этого используются выводы A1(D15) и A2(D16). Сигнализация ставит/снимает охрану при появлении на выводе A1(D15) высокого уровня +5В или на выводе A2(D16) низкого уровня GND. Вывод A1(D15) подтягивается к GND, вывод A2(D16) подтягивается к +5V через резисторы 20 (10) кОм. Добавлены команды GuardButtonOn и GuardButtonOff. Теперь после постановки на охрану мигает красный светодиод, пока не будет проверена целостность контура основного герконового датчика. Если контур целый загорается красный светодиод. Занято: 66% SRAM, 95% Flash Memory.
GSM_2017_03_12-20-04.hex - Теперь в консоли стало ещё чище, но если включен тестовый режим «TestOn», то в консоль выводится дополнительная информация. Исправлен баг «Sent!», теперь в консоль правильно выводится информация об отправке сообщений. Исправлен баг «повторного ложного вызова». Теперь запрос баланса должен работать корректно на всех модемах. Занято: 67% SRAM, 95% Flash Memory.
GSM_2017_04_16-12-00.hex - Исправлен . Теперь команды Info и Money всегда будут присылать ответное смс. Команда GuardButtonOn заменена командами GuardButtonOn1 и GuardButtonOn2. Занято: 67% SRAM, 99% Flash Memory.
GSM_2017_04_21-09-43.hex - не рекомендуется к использованию, только в качестве тестирования, спасибо за выявленные ошибки:) - Теперь параметр sendsms не влияет на отправку смс сообщений мониторинга электросети. Добавлена смс команда DelayBeforeGuard отвечающая за задержку при постановке на охрану, значение не может превышать 255 секунд. Добавлена смс команда DelayBeforeAlarm отвечающая за задержку отправки уведомлений и включение «тревожного пина» при срабатывании датчиков, значение не может превышать 255 секунд. Удалены команды ClearSMS, теперь сообщения удаляются автоматически после получения. Занято: 68% SRAM, 100% Flash Memory.
GSM_2017_04_22-20-42.hex - Исправлены множественные ошибки. Команды ClearSMS снова присутствуют в прошивке. Оптимизация памяти. Занято: 68% SRAM, 98% Flash Memory.
GSM_2017_04_23-17-50.hex - Теперь запрос баланса должен работать корректно на всех модемах. Постановка и снятие с охраны внешними устройствами теперь работает правильно. Ответные сообщения смс команды Info не должны быть пустыми. Оптимизация памяти. Занято: 68% SRAM, 98% Flash Memory.
GSM_2017_04_24-13-22.hex - Теперь передача консольных команд в GSM модуль производится только если включен тестовый режим. Теперь нет разделения на смс команды и консольные команды, все существующие команды можно передавать как через смс, так и через консоль. Возможно исправлен баг с командой Info. Оптимизация памяти. Занято: 68% SRAM, 94% Flash Memory.
GSM_2017_04_25-20-54.hex - Исправлен баг при котором команда ListConfig меняла значение последнего события. Теперь при вводе команд через косоль не отправляются ненужные смс сообщения. Возможно исправлен баг с командой Info. Оптимизация памяти. Занято: 66% SRAM, 94% Flash Memory.
GSM_2017_04_30-12-57.hex - Временно включён вывод дополнительной информации в консоль при отправке смс сообщений и формировании ответа на команду Info. Возможно исправлен баг с командой Info. Оптимизация памяти. Занято: 66% SRAM, 92% Flash Memory.
GSM_2017_05_06-11-52.hex - Исправлен с функцией DelayBeforeAlarm. Занято: 66% SRAM, 93% Flash Memory.
GSM_2017_05_23-21-27.hex - Незначительно изменён вывод информации в консоль. Добавлена поддержка модулей расширения портов на PCF8574A c адресами от 0x38 до 0x3f включительно. Исправлен баг c . Теперь устройство перезагружается автоматически после команд FullReset, ResetConfig, ResetPhone и в случае успешного выполнения команды MemTest. Добавлена команда WatchPowerTime. Теперь возможно установить время, по истечении которого будет отправлено смс сообщение об отключении внешнего источника питания. Занято: 67% SRAM, 94% Flash Memory.
GSM_2017_05_26-20-22.hex - Исправлена инициализация памяти датчиков платы расширения. Изменён синтаксис команды AddPhone. Добавлена команда EditMainPhone. Изменен принцип работы системы уведомлений, при срабатывании датчика сначала будут отправлены sms сообщения, после чего будут совершены голосовые вызовы. Тревожные sms сообщения будут отправлены на телефонные номера с признаком «S» (SMS). Голосовые вызовы будут совершены на номера с признаком «R» (Ring). Сообщения об отключении/включении внешнего источника питания будут отправлены на телефонные номера с признаком «P» (Power). Добавлена команда RingTime. Теперь возможно установить длительность тревожного голосового вызова, параметр может иметь значение от 10 до 255 секунд. Теперь команда RingOn/RingOff глобально включает/отключает оповещение голосовыми вызовами. Добавлена команда ResetSensor. Занято: 68% SRAM, 99% Flash Memory.
GSM_2017_06_02-17-43.hex - Командам AddPhone и EditMainPhone добавлен параметр «I» (Info), отвечающий за sms уведомление о постановке или снятии устройства с охраны. Теперь после добавления основного номера устройство автоматически перезагружается. Теперь можно вносить в память устройства одинаковые номера. При добавлении второго и последующих дублирующихся номеров с них автоматически будут сняты атрибуты «M», «S», «P» и «I». Эти номера будут использованы для повторного голосового вызова при срабатывании датчиков. Исправлен баг кривого вывода в консоль после выполнения команды AddPhone, теперь информация не выводится автоматически после добавления номера. Добавлена команда Reboot. Занято: 69% SRAM, 99% Flash Memory.
GSM_2017_06_11-00-07.hex - Теперь вновь при замыкании контактов основного герконового датчика (закрытии двери) устройство мигает синим светодиодом в течение 2 секунд, сигнализируя о нормальной работе датчика, при этом не учитывается поставлено или снято устройство с охраны. Команды RingOn/RingOff удалены. Теперь устройство можно снять с охраны во время тревожного вызова, теперь они совершаются в фоновом режиме. Занято: 69% SRAM, 99% Flash Memory.
GSM_2017_07_04-21-52.hex - Теперь команда Pause не присылает ответное смс. Удалены команды TestOn и TestOff. У всех номеров удалён признак Management. Занято: 68% SRAM, 96% Flash Memory.
GSM_2017_07_24-12-02.hex - Добавлены команды ReedSwitchOn/ReedSwitchOff для мониторинга основного герконовго датчика, теперь его можно включать/отключать так же как и датчик движения. Исправлен баг команды Info. Команды TestOn и TestOff снова присутствуют в прошивке. Занято: 68% SRAM, 96% Flash Memory.
GSM_2017_07_26-10-03.hex - Добавлена команда ModemID. Автоматическое определение модема осуществляется только если значение этого параметра равно 0. После установки значения параметра равным 0 производится автоматическая перезагрузка устройства. Занято: 68% SRAM, 98% Flash Memory.
GSM_2017_08_03-22-03.hex - Теперь сигнализация может управлять внешними устройствами. Для управления используется аналоговый выход A3 (D17 - используется как цифровой). Логический уровень выхода (+5В или GND) может быть изменен, после изменения уровня через команду настройки устройство автоматически будет перезагружено. Длительность сигнала управления внешним устройством может быть изменена. Добавлены команды ExtDeviceLevelLow, ExtDeviceLevelHigh, ExtDeviceTime, Open. Некоторые изменения в логике работы команд управления. Оптимизация памяти. Занято: 68% SRAM, 99% Flash Memory.
GSM_2017_08_10-12-17.hex - Удалены команды SmsOn/SmsOff, ReedSwitchOn/ReedSwitchOff, PIROn/PIROff и всё что с ними связано. Команда DelayBeforeAlarm заменена расширенными командами. Изменён вывод команды Info. Оптимизирован вывод команды ListConfig в консоль. Теперь к пинам D6 и A0 могут быть подключены любые цифровые датчики с высоким или низким уровнем срабатывания, в том числе герконы. Пины D6 и A0 должны быть притянуты к земле (GND) через сопротивление 10 (20) кОм. Если датчик настроен на низкий уровень срабатывания (включен в режиме геркона), то проверяется целостность цепи. Логический уровень срабатывания по входам D6 и A0 (+5В или GND) может быть изменен, после изменения логического уровня устройство автоматически будет перезагружено. Для каждого из датчиков (main, second, PCF-платы расширения) при срабатывании может быть установлено своё время по истечение которого будет осуществлено уведомление (смс и/или голосовой вызов). «PIR Sensor» переименован в «Second sensor». Исправлена работа платы расширения, ошибка из-за которой устройство всегда уведомляло о срабатывании датчиков, вне зависимости от того поставлено устройство на охрану или нет. Теперь можно выбрать режим работы при котором устройство может мониторить датчики платы расширения как во включенном режиме охраны (GuardOn), так и при выключенном режиме (GuardOff). Добавлены команды PCFForceOn/PCFForceOff, MainSensorLevelHigh/MainSensorLevelLow/MainSensorLevelOff, SecondSensorLevelHigh/SecondSensorLevelLow/SecondSensorLevelOff, MainDelayBeforeAlarm, SecondDelayBeforeAlarm, PCFDelayBeforeAlarm. Занято: 68% SRAM, 99% Flash Memory.

*Последующие версии прошивок включают в себя изменения предыдущих версий.


Используемые порты Arduino Nano v3

D4 - выход «тревожного» пина, при срабатывании датчика на этом пине устанавливается сигнал высокого уровня
D5 - инверсный выход «тревожного» пина, при срабатывании датчика на этом пине устанавливается сигнал низкого уровня

D6 - герконовый датчик. Начиная с версии GSM_2017_08_10-12-17.hex к пину D6 могут быть подключены любые цифровые датчики с высоким или низким уровнем срабатывания, в том числе герконы. Пин D6 должен быть притянут к земле (GND) через сопротивление 10 (20) кОм.
D7 - подключен к делителю напряжения от внешнего источника питания +5В. Верхнее плечо 2,2 кОм, нижнее 3,3 кОм.

Делитель напряжения


D8 - модем TX
D9 - модем RX

D10 - красный светодиод
D11 - синий светодиод
D12 - зеленый светодиод

Подключение периферии:
A0 - датчик движения . Начиная с версии GSM_2017_08_10-12-17.hex к пину A0 могут быть подключены любые цифровые датчики с высоким или низким уровнем срабатывания, в том числе герконы. Пин A0 должен быть притянут к земле (GND) через сопротивление 10 (20) кОм.

A1 - Вход для внешнего управления. Сигнализация ставит/снимает охрану при появлении на входе высокого уровня +5В.
A2 - Инверсный вход для внешнего управления. Сигнализация ставит/снимает охрану при появлении на входе низкого уровня GND.

A3 - Настраиваемый (+5В или GND) выход для управления внешними устройствами. При поступлении команды управления значение на этом выходе изменяется в зависимости от того какое было установлено на установленный промежуток времени.

A4 - SDA I2C
A5 - SLC I2C
, для подключения дополнительных 8 датчиков.


Команды управления для hex - прошивки

Внимание! Команды выделенные жирным шрифтом могут быть выполнены только с основного номера, так как отвечают за конфигурацию устройства. Остальные команды могут быть выполнены с номеров с признаком «Management».

SMS - команды управления не чувствительны к регистру :
AddPhone - Добавить номер телефона. Всего может быть добавлено не более 9 номеров + 1 основной номер который автоматически сохраняется в память при первом звонке на устройство после сброса на заводские установки командами ResetPhone или FullReset . Т.е. кто первый позвонил на устройство после его сброска на заводские установки тот и и «главный», этот номер заносится в первую ячейку памяти и его невозможно изменить или удалить через смс. Возможно добавить два одинаковых номера, но тогда у номера дубликата автоматически остаётся только признак «r» - исключительно для повторного голосового вызова.
Пример команды:



Синтаксис команды:

AddPhone - команда
: - разделитель
5 - записать в пятую ячейку памяти
+71234567890 - номер телефона
До версии GSM_2017_05_26-20-22.hex:
а - Параметр «Alarm» - на номера с этим параметром будут отправляться смс - сообщения о срабатывании сигнализации и сообщения постановке или снятии с охраны.
Начиная с версии GSM_2017_05_26-20-22.hex:
m - Параметр «Management» - разрешено управление сигнализацией
s - Параметр «SMS» - будет отправлено sms сообщение при срабатывании датчиков
r - Параметр «Ring» - будет совершен голосовой вызов при срабатывании датчиков
p - Параметр «Power» - будет отправлено sms сообщение при включении/отключении внешнего питания
i - Параметр «Info» - будет отправлено sms сообщение при постановке или снятии с охраны
При отсутствии параметров «m», «s», «r», «p»,«i» телефон заносится в память, но никак не используется.


DeletePhone - Удалить номер телефона.
Пример команды:

Синтаксис команды:

DeletePhone - команда
: - разделитель
+71234567891 - номер телефона


EditMainPhone - Изменить параметры «s», «r», «p», «i» основного телефона, этот номер занесён в первую ячейку памяти.
Пример команды:

Синтаксис команды:

EditMainPhone - команда
: - разделитель
srpi - параметры


BalanceNum - Изменение номера запроса баланса и обработка длины ответа запроса. Значение по умолчанию для Beeline: #100#L22.
Пример команды:

Синтаксис команды:

BalanceNum - команда
: - разделитель
#103# - номер запроса баланса
L24 - Длина (len) пересылаемого ответа 24 символа, обрезаем спам из запроса баланса.


EditSensor - Изменить название датчика и логический уровень срабатывания. Всего может быть не более 8 дополнительных датчиков. После изменения параметров необходима перезагрузка устройства.
Пример команды:
EditSensor:1+Datchik dvizheniya v koridore#h

Синтаксис команды:

EditSensor - команда
: - разделитель
1 - записать в первую ячейку памяти
+ - разделитель
Datchik dvizheniya v koridore - название датчика, не может превышать 36 символов, включая пробелы.
#h - Признак высокого логического уровня с датчика, при получении которого сработает сигнализация. Если отсутствует "#h", сигнализация будет срабатывать при получении с датчика низкого логического уровня.


SleepTime - Время «засыпания» сигнализации при получении смс - команды «Pause», указывается в минутах. Значение по умолчанию: 15, не может быть менее 1 и более 60.
Пример команды:

Синтаксис команды:

SleepTime - команда
: - разделитель
20 - 20 минут «сна».


AlarmPinTime - Время на которое включается/выключается тревожный/инверсный пин, указывается в секундах. Значение по умолчанию: 60, не может быть менее 1 секунды и более 43200 секунд (12 часов).
Пример команды:

Синтаксис команды:

AlarmPinTime - команда
: - разделитель
30 - 30 секунд включения/выключения тревожного пина.


DelayBeforeGuard - Время до постановки устройства на охрану, после получения соответствующей команды.
Пример команды:

Синтаксис команды:

DelayBeforeGuard - команда
: - разделитель
25 - 25 секунд до постановки на охрану


DelayBeforeAlarm - Время по истечении которого будет отправлено «тревожное» смс уведомление, если за этот период времени сигнализация не была снята с охраны. Заменена расширенными командами начиная с версии GSM_2017_08_10-12-17.hex
Пример команды:

Синтаксис команды:

DelayBeforeAlarm - команда
: - разделитель
40 - 40 секунд до отправки «тревожного» уведомления


WatchPowerTime - Время в минутах по истечении которого будет отправлено смс сообщение об отключении внешнего источника питания. Если внешнее питание будет восстановлено до истечения установленного времени, то сообщение не будет отправлено.
Пример команды:

Синтаксис команды:

WatchPowerTime - команда
: - разделитель
5 - 5 минут до отправки смс сообщения


RingTime - Длительность тревожного голосового вызова, параметр может иметь значение от 10 до 255 секунд.
Пример команды:

Синтаксис команды:

RingTime - команда
: - разделитель
40 - 40 длительность вызова составит 40 секунд, после чего будет вызван следующий абонент.


ModemID - Принудительная установка модели используемого модема. Возможные значения: 0 - автоопределение модема, 1 - M590, 2 - SIM800l, 3 - A6_Mini.
Пример команды:

Синтаксис команды:

ModemID - команда
: - разделитель
2 - ID модема.


ExtDeviceTime - Количество секунд на которое изменится уровень сигнала на выходе управления внешним устройством.
Пример команды:

Синтаксис команды:

ExtDeviceTime- команда
: - разделитель
5 - 5 секунд


ExtDeviceLevelLow - Внешнее устройство подключенное к выходу A3 управляется низким уровнем сигнала (GND). На выходе по умолчанию будет присутствовать высокий уровень +5В, пока не поступит команда управления внешним устройством
ExtDeviceLevelHigh - Внешнее устройство подключенное к выходу A3 управляется высоким уровнем сигнала (+5V). На выходе по умолчанию будет присутствовать низкий уровень GND, пока не поступит команда управления внешним устройством

ResetSensor - сброс параметров датчиков расширителя порта

ResetConfig - сброс настроек на заводские установки

ResetPhone - удаление из памяти всех телефонных номеров

FullReset - сброс настроек, удаление из памяти всех телефонных номеров, восстановление значения по умолчанию команды BalanceNum.

RingOn - включить уведомление звонком на «главный» номер записанный в первую ячейку памяти при срабатывании датчика. Удалена начиная с версии GSM_2017_06_11-00-07.hex
RingOff - выключить уведомление звонком при срабатывании датчика. Удалена начиная с версии GSM_2017_06_11-00-07.hex

SmsOn - включить sms-уведомление при срабатывании датчика. Удалена начиная с версии GSM_2017_08_10-12-17.hex
SmsOff - выключить sms-уведомление при срабатывании датчика. Удалена начиная с версии GSM_2017_08_10-12-17.hex

PIROn - включить обработку датчика движения
PIROff - выключить обработку датчика движения

ReedSwitchOn - включить обработку основного герконового датчика
ReedSwitchOff - выключить обработку основного герконового датчика

WatchPowerOn - включить контроль внешнего питания, смс сообщение об отключении внешнего питания будет отправлено при условии что сигнализация поставлена на охрану. Удалена начиная с версии GSM_2017_03_01-23-37.

WatchPowerOn1 - включить контроль внешнего питания, смс сообщение об отключении внешнего питания будет отправлено при условии что сигнализация поставлена на охрану.
WatchPowerOn2 - включить контроль внешнего питания, смс сообщение об отключении внешнего питания в любом случае будет отправлено

WatchPowerOff - выключить контроль внешнего питания

GuardButtonOn - управление сигнализацией внешними устройствами или кнопкой включено Удалена начиная с версии GSM_2017_04_16-12-00.
GuardButtonOn1 - функция постановки или снятия охраны внешними устройствами или кнопкой включена
GuardButtonOn2 - функция только постановки на охрану внешними устройствами или кнопкой включена, снятие с охраны производится по звонку на устройство или с помощью смс команды.
GuardButtonOff - управление сигнализацией внешними устройствами или кнопкой выключено

PCFForceOn - постоянный мониторинг группы всех датчиков модуля расширения
PCFForceOff - мониторинг группы всех датчиков модуля расширения только при постановке устройства на охрану

MainSensorLevelHigh - тревожное уведомление будет отправлено при появлении сигнала высокого уровня (+5 В) на входе (D6) от датчика
MainSensorLevelLow - тревожное уведомление будет отправлено при появлении сигнала низкого уровня (GND) на входе (D6) от датчика
MainSensorLevelOff - обработка датчика на входе (D6) отключена

SecondSensorLevelHigh - тревожное уведомление будет отправлено при появлении сигнала высокого уровня (+5 В) на входе (A0) от датчика
SecondSensorLevelLow - тревожное уведомление будет отправлено при появлении сигнала низкого уровня (GND) на входе (A0) от датчика
SecondSensorLevelOff - обработка датчика на входе (A0) отключена

MainDelayBeforeAlarm - время по истечении которого будет отправлено «тревожное» смс уведомление при срабатывании основного датчика (D6), если за этот период времени сигнализация не была снята с охраны. Синтаксис аналогичен команде DelayBeforeAlarm.
SecondDelayBeforeAlarm - время по истечении которого будет отправлено «тревожное» смс уведомление при срабатывании дополнительного датчика (A0), если за этот период времени сигнализация не была снята с охраны. Синтаксис аналогичен команде DelayBeforeAlarm.
PCFDelayBeforeAlarm - время по истечении которого будет отправлено «тревожное» смс уведомление при срабатывании датчиков платы расширения (PCF8574), если за этот период времени сигнализация не была снята с охраны. Синтаксис аналогичен команде DelayBeforeAlarm.

GuardOn - поставить на охрану
GuardOff - снять охраны

Open - команда управления внешним устройством

Info - проверить состояние, в ответ на это сообщение будет отправлено sms с информацией о том с какого номера была включена/выключена охрана

Pause - приостанавливает работу системы на время установленное командой sleeptime в минутах, система не реагирует на срабатывания датчика.

TestOn - включается тестовый режим, мигает синим светодиодом.
TestOff - выключается тестовый режим.

LedOff - выключает светодиод режима ожидания.
LedOn - включает светодиод режима ожидания.

Money - запроса баланса.

ClearSms - Удалить из памяти все sms

Консольные команды (до версии GSM_2017_04_24-13-22.hex) - вводятся в мониторе порта Arduino IDE:

AddPhone - аналогична sms-команде AddPhone

DeletePhone - аналогична sms-команде DeletePhone

EditSensor - аналогична sms-команде EditSensor

ListPhone - вывод в монитор порта списка сохранённых в памяти телефонов

ResetConfig - аналогична sms-команде ResetConfig

ResetPhone - аналогична sms-команде ResetPhone

FullReset - аналогична sms-команде FullReset

ClearSms - аналогична sms-команде ClearSms

WatchPowerOn1 - аналогична sms-команде WatchPowerOn1
WatchPowerOn2 - аналогична sms-команде WatchPowerOn2
WatchPowerOff - аналогична sms-команде WatchPowerOff

GuardButtonOn - аналогична sms-команде GuardButtonOn . Удалена начиная с версии GSM_2017_04_16-12-00
GuardButtonOn1 - аналогична sms-команде GuardButtonOn1
GuardButtonOn2 - аналогична sms-команде GuardButtonOn2
GuardButtonOff - аналогична sms-команде GuardButtonOff

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

I2CScan - поиск и инициализация поддерживаемых устройств на шине I2C.

ListConfig - вывод в монитор порта текущей конфигурации устройства.

ListSensor - вывод в монитор порта текущей конфигурации датчиков.

UPD. При использовании датчика движения , для исключения ложных срабатываний при работе модема, необходимо между пинами GND и A0 Arduino поставить сопротивление , спасибо говорим товарищу
AllowPhone = {«70001234501», «70001234502», «70001234503», «70001234504», «70001234505»} - Номера которым разрешено управлять охраной.
AlarmPhone = {«70001234501», «70001234502»} - Номера для отправки sms-уведомлений при срабатывании датчика и уведомления о снятии или постановке на охрану. На первый номер в списке будет осуществляться вызов при срабатывании датчика если выполнена команда RingOn, по-умолчанию эта опция включена. Это сделано потому что sms-сообщения могут прийти с некоторой задержкой, а звонок должен пройти сразу.

Если поступил вызов с разрешенного номера или sms-сообщение с командой GuardOn/GuardOff, то в зависимости от текущего состояния охраны будет отправлено sms-сообщение о постановке или снятии с охраны на номера перечисленные в массиве AlarmPhone, так же будет отправлено sms-сообщение на номер с которого поступил вызов.

При срабатывании датчика отправляются sms-сообщения на все номера из массива (списка) AlarmPhone и осуществится голосовой вызов на первый номер из этого массива.

Световая индикация:
Светодиод светится красным цветом - поставлено на охрану.
Светодиод светится зелёным цветом - снято с охраны, включается/отключается sms-командой LedOn/LedOff.
Светодиод постоянно мигает синим цветом - сигнализирует о том что c Arduino всё в порядке, плата не зависла, используется исключительно для отладки, включается/отключается sms-командой TestOn/TestOff.
* В коде присутствует функция LedTest(), она мигает синим светодиодом, сделана лишь для того чтобы мониторить Arduino, мигает - значит работает, не мигает - зависла. Пока ещё не зависала:)

НЕ Актуально!

Подключение 2 и более датчиков для открытых прошивок (касается только этой прошивки sketch_02_12_2016.ino)
Для подключения дополнительных герконовых датчиков используем свободные цифровые пины D2,D3,D5 или D7. Схема подключения с дополнительным датчиком на D7.

Необходимые изменения в прошивке
... #define DoorPin 6 // Номер входа, подключенный к основному датчику int8_t DoorState = 0; // Переменная для хранения состояния основного датчика int8_t DoorFlag = 1; // Переменная для хранения состояния основного датчика #define BackDoorPin 7 // Номер входа, подключенный к дополнительному датчику int8_t BackDoorState = 0; // Переменная для хранения состояния дополнительного датчика int8_t BackDoorFlag = 1; // Переменная для хранения состояния дополнительного датчика...
void setup() { ... pinMode(DoorPin, INPUT); pinMode(BackDoorPin, INPUT); ...
... void Detect() { // Считываем значения с датчиков DoorState = digitalRead(DoorPin); BackDoorState = digitalRead(BackDoorPin); //Обработка основного датчика if (DoorState == LOW && DoorFlag == 0) { DoorFlag = 1; delay(100); if (LedOn == 1) digitalWrite(GLed, LOW); Alarm(); } if (DoorState == HIGH && DoorFlag == 1){ DoorFlag = 0; delay(100); } //Обработка дополнительного датчика if (BackDoorState == LOW && BackDoorFlag == 0) { BackDoorFlag = 1; delay(100); if (LedOn == 1) digitalWrite(GLed, LOW); Alarm(); } if (BackDoorState == HIGH && BackDoorFlag == 1){ BackDoorFlag = 0; delay(100); } } ...

И ещё кое что :
1. Диоды лучше использовать рассчитанные на ток 2 А, так как модуль заражает током в 1 А и нам ещё нужно чем то питать Arduino и модем. В этом экземпляре используются диоды 1N4007, если выйдут из строя заменю на 2 А.
2. Все резисторы для светодиода использовал на 20 кОм, для того чтобы ночью не освещать весь коридор.
3. На герконовый датчик между пином GND и пином D6 так же повесил резистор на 20 кОм.

На этом пока всё. Спасибо за внимание! :)

Планирую купить +207 Добавить в избранное Обзор понравился +112 +243